usbcalls.h revision 59190ecd61435d19ba3515b876272aee7bd12298
59190ecd61435d19ba3515b876272aee7bd12298vboxsync extern "C" {
59190ecd61435d19ba3515b876272aee7bd12298vboxsync/* IORB status codes */
59190ecd61435d19ba3515b876272aee7bd12298vboxsync typedef APIRET APIENTRY USBREGISTERDEVICENOTIFICATION( PUSBNOTIFY pNotifyID,
59190ecd61435d19ba3515b876272aee7bd12298vboxsync typedef USBREGISTERDEVICENOTIFICATION *PUSBREGISTERDEVICENOTIFICATION;
59190ecd61435d19ba3515b876272aee7bd12298vboxsync typedef APIRET APIENTRY USBDEREGISTERNOTIFICATION( USBNOTIFY NotifyID);
59190ecd61435d19ba3515b876272aee7bd12298vboxsync typedef USBDEREGISTERNOTIFICATION *PUSBDEREGISTERNOTIFICATION;
59190ecd61435d19ba3515b876272aee7bd12298vboxsync typedef APIRET APIENTRY USBOPEN( PUSBHANDLE pHandle,
59190ecd61435d19ba3515b876272aee7bd12298vboxsync typedef APIRET APIENTRY USBCLOSE( USBHANDLE Handle);
59190ecd61435d19ba3515b876272aee7bd12298vboxsync typedef APIRET APIENTRY USBCTRLMESSAGE( USBHANDLE Handle,
59190ecd61435d19ba3515b876272aee7bd12298vboxsync APIRET APIENTRY UsbQueryNumberDevices( ULONG *pulNumDev);
59190ecd61435d19ba3515b876272aee7bd12298vboxsync APIRET APIENTRY UsbQueryDeviceReport( ULONG ulDevNumber,
59190ecd61435d19ba3515b876272aee7bd12298vboxsync APIRET APIENTRY UsbRegisterChangeNotification( PUSBNOTIFY pNotifyID,
59190ecd61435d19ba3515b876272aee7bd12298vboxsync APIRET APIENTRY UsbRegisterDeviceNotification( PUSBNOTIFY pNotifyID,
59190ecd61435d19ba3515b876272aee7bd12298vboxsync APIRET APIENTRY UsbDeregisterNotification( USBNOTIFY NotifyID);
59190ecd61435d19ba3515b876272aee7bd12298vboxsync /* Standard USB Requests See 9.4. in USB 1.1. spec. */
59190ecd61435d19ba3515b876272aee7bd12298vboxsync /* 09 01 2003 - KIEWITZ */
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x00, 0x01, FEAT, 0, 0, NULL, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x03, FEAT, 0, 0, NULL, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbInterfaceClearFeature(HANDLE, IFACE, FEAT) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x01, 0x01, FEAT, IFACE, 0, NULL, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbInterfaceSetFeature(HANDLE, IFACE, FEAT) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x03, FEAT, IFACE, 0, NULL, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbEndpointClearFeature(HANDLE, ENDPOINT, FEAT) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x02, 0x01, FEAT, ENDPOINT, 0, NULL, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbEndpointSetFeature(HANDLE, ENDPOINT, FEAT) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x03, FEAT, ENDPOINT, 0, NULL, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbEndpointClearFeature(HANDLE, ENDPOINT, FEATURE_ENDPOINT_HALT)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x08, 0, 0, 1, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbDeviceSetConfiguration(HANDLE, CONFIG) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x00, 0x09, CONFIG, 0, 0, NULL, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x00, 0, 0, 2, STATUS, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbInterfaceGetStatus(HANDLE, IFACE, STATUS) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x00, 0, IFACE, 2, STATUS, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbEndpointGetStatus(HANDLE, ENDPOINT, STATUS) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x00, 0, ENDPOINT, 2, STATUS, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x05, ADDRESS, 0, 0, NULL, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbDeviceGetDescriptor(HANDLE, INDEX, LID, LEN, DATA) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x06, (0x0100|INDEX), LID, LEN, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbDeviceSetDescriptor(HANDLE, INDEX, LID, LEN, DATA) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x07, (0x0100|INDEX), LID, LEN, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbConfigurationGetDescriptor(HANDLE, INDEX, LID, LEN, DATA) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x06, (0x0200|INDEX), LID, LEN, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbConfigurationSetDescriptor(HANDLE, INDEX, LID, LEN, DATA) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x07, (0x0200|INDEX), LID, LEN, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbStringGetDescriptor(HANDLE, INDEX, LID, LEN, DATA) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x06, (0x0300|INDEX), LID, LEN, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbStringSetDescriptor(HANDLE, INDEX, LID, LEN, DATA) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x07, (0x0300|INDEX), LID, LEN, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbInterfaceGetDescriptor(HANDLE, INDEX, LID, LEN, DATA) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x06, (0x0400|INDEX), LID, LEN, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbInterfaceSetDescriptor(HANDLE, INDEX, LID, LEN, DATA) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x07, (0x0400|INDEX), LID, LEN, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbEndpointGetDescriptor(HANDLE, INDEX, LID, LEN, DATA) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x06, (0x0500|INDEX), LID, LEN, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbEndpointSetDescriptor(HANDLE, INDEX, LID, LEN, DATA) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x80, 0x07, (0x0500|INDEX), LID, LEN, DATA, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbInterfaceGetAltSetting(HANDLE, IFACE, SETTING) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x81, 0x0A, 0, IFACE, 1, SETTING, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbInterfaceSetAltSetting(HANDLE, IFACE, ALTSET) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x01, 0x0B, ALTSET, IFACE, 0, NULL, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync #define UsbEndpointSynchFrame(HANDLE, ENDPOINT, FRAMENUM) \
59190ecd61435d19ba3515b876272aee7bd12298vboxsync UsbCtrlMessage(HANDLE, 0x82, 0x0B, 0, ENDPOINT, 2, FRAMENUM, 0)
59190ecd61435d19ba3515b876272aee7bd12298vboxsync#endif /* _usbcalls_h_ */