Herkunft der Konstanten in usb_control_msg() (IoWarrior 40)

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
bernedom
Posts: 2
Joined: Fri Jan 20, 2006 5:16 pm

Herkunft der Konstanten in usb_control_msg() (IoWarrior 40)

Post by bernedom »

Hallo zusammen,
Im Treiber für den iowarrior40 ist folgender Aufruf zu finden:

Code: Select all

usb_control_msg(interface_to_usbdev(intf),
		usb_sndctrlpipe(interface_to_usbdev(intf), 0),
		USB_REQ_SET_REPORT, 
		USB_TYPE_CLASS | USB_RECIP_INTERFACE,
		(type << 8) + id, 
		intf->altsetting[0].desc.bInterfaceNumber, 
		buf, 
		size, 
		HZ);
USB_REQ_SET_REPORT ist als 0x09 definiert und (type << 8) entspricht 0x200
Das selbe beim lesen USB_REQ_GET_REPORT=0x01 und (type << 8) = 0x100

Meine Frage ist nun, woher diese Werte (0x09 usw.) herkommen, bzw. wie sie zustande kommen.
Durch die USB-Spezifikationen weiss ich, dass es sich dabei um den control-request und die USB message handelt, aber wie weiss ich, welche effektiven Werte ich für solche Values setzen muss? Gibt es irgendwo eine Tabelle, die diese Werte für den Iowarrior beschreibt?

Danke schon im Voraus für die Antwort
Guido Körber
Site Admin
Posts: 2880
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Das sind Standard-Requests der HID Klasse, die Definition ist in der zugehörigen Spec.
bernedom
Posts: 2
Joined: Fri Jan 20, 2006 5:16 pm

Post by bernedom »

Danke für die schnelle Anwort, jetzt fällt es mir wie Schuppen von den Augen.
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Besser wie Schuppen aus den Haaren :-)
Post Reply