Changeset 8562 in vbox for trunk/include/VBox
- Timestamp:
- May 5, 2008 10:53:40 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/usb.h
r8545 r8562 34 34 35 35 __BEGIN_DECLS 36 37 #ifdef USBDEVICE_WITH_EVERYTHING38 39 /**40 * USB device interface endpoint.41 */42 typedef struct USBENDPOINT43 {44 /** The address of the endpoint on the USB device described by this descriptor. */45 uint8_t bEndpointAddress;46 /** This field describes the endpoint's attributes when it is configured using the bConfigurationValue. */47 uint8_t bmAttributes;48 /** Maximum packet size this endpoint is capable of sending or receiving when this configuration is selected. */49 uint16_t wMaxPacketSize;50 /** Interval for polling endpoint for data transfers. Expressed in milliseconds.51 * This is interpreted the bInterval value. */52 uint16_t u16Interval;53 } USBENDPOINT;54 /** Pointer to a USB device interface endpoint. */55 typedef USBENDPOINT *PUSBENDPOINT;56 /** Pointer to a const USB device interface endpoint. */57 typedef const USBENDPOINT *PCUSBENDPOINT;58 59 /** USBENDPOINT::bmAttributes values.60 * @{ */61 #define USB_EP_ATTR_CONTROL 062 #define USB_EP_ATTR_ISOCHRONOUS 163 #define USB_EP_ATTR_BULK 264 #define USB_EP_ATTR_INTERRUPT 365 /** @} */66 67 68 /**69 * USB device interface.70 */71 typedef struct USBINTERFACE72 {73 /** Number of interface. */74 uint8_t bInterfaceNumber;75 /** Value used to select alternate setting for the interface identified in the prior field. */76 uint8_t bAlternateSetting;77 /** Number of endpoints used by this interface (excluding endpoint zero). */78 uint8_t bNumEndpoints;79 /** Pointer to an array of endpoints. */80 PUSBENDPOINT paEndpoints;81 /** Interface class. */82 uint8_t bInterfaceClass;83 /** Interface subclass. */84 uint8_t bInterfaceSubClass;85 /** Protocol code. */86 uint8_t bInterfaceProtocol;87 /** Number of alternate settings. */88 uint8_t cAlts;89 /** Pointer to an array of alternate interface settings. */90 struct USBINTERFACE *paAlts;91 /** String describing this interface. */92 const char *pszInterface;93 /** String containing the driver name.94 * This is a NULL pointer if the interface is not in use. */95 const char *pszDriver;96 } USBINTERFACE;97 /** Pointer to a USB device interface description. */98 typedef USBINTERFACE *PUSBINTERFACE;99 /** Pointer to a const USB device interface description. */100 typedef const USBINTERFACE *PCUSBINTERFACE;101 102 /**103 * Device configuration.104 */105 typedef struct USBCONFIG106 {107 /** Set if this is the active configuration. */108 bool fActive;109 /** Number of interfaces. */110 uint8_t bNumInterfaces;111 /** Pointer to an array of interfaces. */112 PUSBINTERFACE paInterfaces;113 /** Configuration number. (For SetConfiguration().) */114 uint8_t bConfigurationValue;115 /** Configuration description string. */116 const char *pszConfiguration;117 /** Configuration characteristics. */118 uint8_t bmAttributes;119 /** Maximum power consumption of the USB device in this config.120 * (This field does NOT need shifting like in the USB config descriptor.) */121 uint16_t u16MaxPower;122 } USBCONFIG;123 /** Pointer to a USB configuration. */124 typedef USBCONFIG *PUSBCONFIG;125 /** Pointer to a const USB configuration. */126 typedef const USBCONFIG *PCUSBCONFIG;127 128 #endif /* USBDEVICE_WITH_EVERYTHING */129 130 36 131 37 /** … … 219 125 /** Device number. */ 220 126 uint8_t bDevNum; 221 #endif222 #ifdef USBDEVICE_WITH_EVERYTHING223 /** Parent device number. */224 uint8_t bDevNumParent;225 /** The level in topologly for this bus. */226 uint8_t bLevel;227 /** Number of devices on this level. */228 uint8_t bNumDevices;229 /** Maximum number of children. */230 uint8_t bMaxChildren;231 /** Pointer to an array of configurations. */232 PUSBCONFIG paConfigurations;233 127 #endif 234 128 #ifdef RT_OS_WINDOWS
Note:
See TracChangeset
for help on using the changeset viewer.