📄 usbdihost.h
字号:
#define USBD_GET_DEVICE_DESCRIPTOR(_d, _b, _l, _al)\
usbdiHostGetDescriptor(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_DEV_TO_HOST | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,\
MKWORD(0, USB_DESCR_DEVICE),\
0,\
_l,\
_al\
);
#define USBD_GET_CONFIGURATION_DESCRIPTOR(_d, _b, _l, _al, _i)\
usbdiHostGetDescriptor(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_DEV_TO_HOST | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,\
MKWORD(_i, USB_DESCR_CONFIGURATION),\
0,\
_l,\
_al\
);
#define USBD_GET_STRING_DESCRIPTOR(_d, _b, _l, _al, _i, _id)\
usbdiHostGetDescriptor(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_DEV_TO_HOST | USB_REQ_TYPE_STANDARD | USB_REQ_TYPE_DEVICE,\
MKWORD(_i, USB_DESCR_STRING),\
_id,\
_l,\
_al\
);
#define USBD_GET_HUB_DESCRIPTOR(_d, _b, _l, _al)\
usbdiHostGetDescriptor(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_DEV_TO_HOST | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_DEVICE,\
MKWORD(0, USB_DESCR_HUB),\
0,\
_l,\
_al\
);
#define USBD_SET_CONFIGURATION(_d, _c)\
usbdiHostSetConfiguration(\
(PUSBD_DEVICE)_d,\
_c\
);
#define USBD_SET_INTERFACE(_d, _i, _a)\
usbdiHostSetInterface(\
(PUSBD_DEVICE)_d,\
_i,\
_a\
);
#define USBD_CLASS_REQUEST_GET_DEVICE(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_DEV_TO_HOST | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_DEVICE,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_CLASS_REQUEST_SET_DEVICE(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_HOST_TO_DEV | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_DEVICE,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_CLASS_REQUEST_GET_INTERFACE(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_DEV_TO_HOST | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_CLASS_REQUEST_SET_INTERFACE(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_HOST_TO_DEV | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_INTERFACE,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_CLASS_REQUEST_GET_ENDPOINT(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_DEV_TO_HOST | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_ENDPOINT,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_CLASS_REQUEST_SET_ENDPOINT(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_HOST_TO_DEV | USB_REQ_TYPE_CLASS | USB_REQ_TYPE_ENDPOINT,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_VENDOR_REQUEST_GET_DEVICE(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_DEV_TO_HOST | USB_REQ_TYPE_VENDOR | USB_REQ_TYPE_DEVICE,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_VENDOR_REQUEST_SET_DEVICE(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_HOST_TO_DEV | USB_REQ_TYPE_VENDOR | USB_REQ_TYPE_DEVICE,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_VENDOR_REQUEST_GET_INTERFACE(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_DEV_TO_HOST | USB_REQ_TYPE_VENDOR | USB_REQ_TYPE_INTERFACE,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_VENDOR_REQUEST_SET_INTERFACE(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_HOST_TO_DEV | USB_REQ_TYPE_VENDOR | USB_REQ_TYPE_INTERFACE,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_VENDOR_REQUEST_GET_ENDPOINT(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_DEV_TO_HOST | USB_REQ_TYPE_VENDOR | USB_REQ_TYPE_ENDPOINT,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_VENDOR_REQUEST_SET_ENDPOINT(_d, _b, _r, _v, _i, _l, _al)\
usbdiHostControlTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
USB_REQ_TYPE_HOST_TO_DEV | USB_REQ_TYPE_VENDOR | USB_REQ_TYPE_ENDPOINT,\
_r,\
_v,\
_i,\
_l,\
_al\
);
#define USBD_BULK_OR_INTERRUPT_TRANSFER(_d, _b, _e, _l, _al)\
usbdiHostBulkOrInterruptTransfer(\
(PUSBD_DEVICE)_d,\
(PVOID)_b,\
_e,\
_l,\
_al\
);
/* Function Prototypes */
#if defined(__STDC__) || defined(__cplusplus)
IMPORT USBD_STATUS usbdiHostInit(VOID);
IMPORT VOID usbdiHostTimerProc(VOID);
IMPORT USBD_STATUS usbdiHostBind(UCHAR bInterfaceClass, PUSBD_HOST_CHARACTERISTICS pcrs);
IMPORT USBD_STATUS usbdiHostUnbind(UCHAR bInterfaceClass);
IMPORT USBD_STATUS usbdiHostParseConfiguration(PUSBD_DEVICE pdev, PUSB_CONFIGURATION_DESCRIPTOR pcfgd, UCHAR bInterfaceNumber, UCHAR bAlternateSetting);
IMPORT VOID usbdiHostClass2String(UCHAR bInterfaceClass, PUCHAR buffer);
IMPORT PUSBD_DEVICE usbdiHostAllocateDevice(VOID);
IMPORT VOID usbdiHostFreeDevice(PUSBD_DEVICE device);
IMPORT USBD_STATUS usbdiHostAttachDevice(PUSBD_DEVICE pdev);
IMPORT USBD_STATUS usbdiHostDetachDevice(PUSBD_DEVICE pdev);
IMPORT PVOID usbdiHostOpenPipe(UCHAR address, UCHAR low, PUSB_ENDPOINT_DESCRIPTOR pepd);
IMPORT VOID usbdiHostClosePipe(PVOID hpipe);
IMPORT VOID usbdiHostResetPipe(PVOID hpipe);
IMPORT VOID usbdiHostSubmitUrb(PURB purb);
IMPORT USBD_STATUS usbdiHostGetStatus(PUSBD_DEVICE d, PVOID b, UCHAR t, USHORT i, UINT l, PUINT al);
IMPORT USBD_STATUS usbdiHostGetDescriptor(PUSBD_DEVICE d, PVOID b, UCHAR t, USHORT v, USHORT i, UINT l, PUINT al);
IMPORT USBD_STATUS usbdiHostClearFeature(PUSBD_DEVICE d, UCHAR t, USHORT f, USHORT i);
IMPORT USBD_STATUS usbdiHostSetFeature(PUSBD_DEVICE d, UCHAR t, USHORT f, USHORT i);
IMPORT USBD_STATUS usbdiHostSetAddress(PUSBD_DEVICE d, USHORT a);
IMPORT USBD_STATUS usbdiHostSetConfiguration(PUSBD_DEVICE d, USHORT c);
IMPORT USBD_STATUS usbdiHostSetInterface(PUSBD_DEVICE d, USHORT i, USHORT a);
IMPORT USBD_STATUS usbdiHostControlTransfer(PUSBD_DEVICE d, PVOID b, UCHAR t, UCHAR r, USHORT v, USHORT i, UINT l, PUINT al);
IMPORT USBD_STATUS usbdiHostBulkOrInterruptTransfer(PUSBD_DEVICE d, PVOID b, UCHAR e, UINT l, PUINT al);
#else /* defined(__STDC__) || defined(__cplusplus) */
IMPORT USBD_STATUS usbdiHostInit();
IMPORT VOID usbdiHostTimerProc();
IMPORT USBD_STATUS usbdiHostBind();
IMPORT USBD_STATUS usbdiHostUnbind();
IMPORT USBD_STATUS usbdiHostParseConfiguration();
IMPORT VOID usbdiHostClass2String();
IMPORT PUSBD_DEVICE usbdiHostAllocateDevice();
IMPORT USBD_STATUS usbdiHostAttachDevice();
IMPORT USBD_STATUS usbdiHostDetachDevice();
IMPORT PVOID usbdiHostOpenPipe();
IMPORT VOID usbdiHostClosePipe();
IMPORT VOID usbdiHostResetPipe();
IMPORT VOID usbdiHostSubmitUrb();
IMPORT USBD_STATUS usbdiHostGetStatus();
IMPORT USBD_STATUS usbdiHostGetDescriptor();
IMPORT USBD_STATUS usbdiHostClearFeature();
IMPORT USBD_STATUS usbdiHostSetFeature();
IMPORT USBD_STATUS usbdiHostSetAddress();
IMPORT USBD_STATUS usbdiHostSetConfiguration();
IMPORT USBD_STATUS usbdiHostSetInterface();
IMPORT USBD_STATUS usbdiHostControlTransfer();
IMPORT USBD_STATUS usbdiHostBulkOrInterruptTransfer();
#endif /* defined(__STDC__) || defined(__cplusplus) */
#ifdef __cplusplus
}
#endif
#endif /* __INCusbdiHosth */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -