📄 usbd_func.h
字号:
/*--- USBD_FuncGetParam,USBD_FuncSetParam -----------------------------------*/
typedef struct usbd_func_power {
UCHAR bLength; /* Parameter length */
UCHAR bType; /* Parameter type */
UCHAR bSuspend; /* Power saving setting when Suspend */
UCHAR bDetach; /* Power saving setting when Detach */
} USBD_FUNC_POWER;
typedef struct usbd_func_hwfeature {
UCHAR bLength; /* Parameter length */
UCHAR bType; /* Parameter type */
UCHAR bHwAutoNego; /* AutoNego H/W function setting */
UCHAR bHwSetAddress; /* Setting for support function of HW SetAddress H/W */
UCHAR bHwReplyDescriptor; /* Setting for support function of Repry Descriptor H/W */
} USBD_FUNC_HWFEATURE;
typedef struct usbd_func_swfeature {
UCHAR bLength; /* Parameter length */
UCHAR bType; /* Parameter type */
UCHAR bSwAutoAttach; /* Auto Attach mode setting */
UCHAR bSwAutoRemoteWakeup; /* Setting for Auto Remote Wakeup mode */
} USBD_FUNC_SWFEATURE;
typedef struct usbd_func_fifoarea {
UCHAR bLength; /* Parameter length */
UCHAR bType; /* Parameter type */
USHORT wReplyArea;
ULONG dwEpxFifoArea[4]; /* FIFO area */
} USBD_FUNC_FIFOAREA;
typedef struct usbd_func_payloadsize {
UCHAR bLength; /* Parameter length */
UCHAR bType; /* Parameter type */
USHORT wEPxPayloadSize[3]; /* Payload Size */
} USBD_FUNC_PAYLOADSIZE;
typedef struct usbd_func_bulkonly {
UCHAR bLength; /* Parameter length */
UCHAR bType; /* Parameter type*/
UCHAR bCBWEPNum; /* Endpoint used with CBW */
UCHAR bCSWEPNum; /* Endpoint used with CSW */
} USBD_FUNC_BULKONLY;
/*--- USBD_FuncGetSetupPacket ----------------------------------------------*/
typedef struct usbd_func_request {
UCHAR bmRequestType; /* bmRequestType */
UCHAR bRequest; /* bRequest */
UCHAR wValue[2]; /* wValue */
UCHAR wIndex[2]; /* wIndex */
UCHAR wLength[2]; /* wLength */
} USBD_FUNC_REQUEST;
/*--- USBD_FuncRegisterCBREPxPIOTransfer -----------------------------------*/
typedef struct usbd_func_trninfo {
ULONG address; /* Remained transfer number */
} USBD_FUNC_TRNIFNO;
/*=== Function Prototype ==================================================*/
extern LONG USBD_FuncReset(void);
extern LONG USBD_FuncOpen(void);
extern LONG USBD_FuncClose(void);
extern LONG USBD_FuncAllocID(USHORT *pId);
extern LONG USBD_FuncFreeID(USHORT id );
extern LONG USBD_FuncStart(UCHAR mode);
extern LONG USBD_FuncStop(void);
extern LONG USBD_FuncGetDescriptorInfo(UCHAR speed,USHORT type,UCHAR *ptr,USHORT count,USHORT offset);
extern LONG USBD_FuncSetDescriptorInfo(UCHAR speed,USHORT type,UCHAR *ptr);
extern LONG USBD_FuncClearDescriptorInfo(UCHAR speed,USHORT type);
extern LONG USBD_FuncGetDescriptorInfoAddress(UCHAR speed,USHORT type,UCHAR **ptr);
extern LONG USBD_FuncSetDescriptorInfoAddress(UCHAR speed,USHORT type,UCHAR *ptr);
extern LONG USBD_FuncGetParameter(UCHAR type,void *ptr,USHORT count);
extern LONG USBD_FuncSetParameter(void *ptr);
extern LONG USBD_FuncUsbBusWakeup(void);
extern LONG USBD_FuncSendRemoteWakeupA(void);
extern LONG USBD_FuncRegisterCBRSendRemoteWakeup(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRSendRemoteWakeup(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncGetStatus(USHORT id,UCHAR type,ULONG *pstatus);
extern LONG USBD_FuncGetSETUPPacket(USBD_FUNC_REQUEST *pRequest);
extern LONG USBD_FuncGetUSBAddress(UCHAR *pusbaddress);
extern LONG USBD_FuncSetAddress(UCHAR usbaddress);
extern LONG USBD_FuncSetTestMode(UCHAR testmode);
extern LONG USBD_FuncRegisterCBRVBusChange(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRVBusChange(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncRegisterCBRAttach(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRAttach(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncRegisterCBRDetach(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRDetach(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncRegisterCBRReset(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRReset(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncRegisterCBRSuspend(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRSuspend(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncRegisterCBRWakeup(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRWakeup(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncRegisterCBRResume(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRResume(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncRegisterCBRChangeUSBAddress(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRChangeUSBAddress(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncRegisterCBREnterTestMode(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBREnterTestMode(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncSetConfigureEndpoint(UCHAR config_num);
extern LONG USBD_FuncSetAlternateEndpoint(UCHAR config_num,UCHAR interface_num,UCHAR alternate_num);
extern LONG USBD_FuncInitEndpoint(UCHAR endpoint_num);
extern LONG USBD_FuncSetEPxControl(UCHAR endpoint_num,UCHAR bitmask,UCHAR flag);
extern LONG USBD_FuncGetEPxControl(UCHAR endpoint_num,UCHAR *epxstatus);
extern LONG USBD_FuncGetEPxStatus(UCHAR endpoint_num,UCHAR *epxstatus,UCHAR flag);
extern LONG USBD_FuncSetEPxIntEvent(USHORT id,UCHAR endpoint_num,UCHAR bitmask,UCHAR autodisable);
extern LONG USBD_FuncGetEPxIntStatus(USHORT id,UCHAR endpoint_num,UCHAR *epxstatus);
extern LONG USBD_FuncRegisterCBREPxInt(USHORT id,UCHAR endpoint_num,CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBREPxInt(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncRegisterCBRRequestDecode(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRRequestDecode(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncReserveControlTransfer(void);
extern LONG USBD_FuncEP0StatusStageReadyA(USHORT id);
extern LONG USBD_FuncRegisterCBREP0StatusStageComplete(USHORT id,CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBREP0StatusStageComplete(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncEPxPIOSimpleTransferA(USHORT id,UCHAR endpoint_num,UCHAR *ptr,ULONG transfersize);
extern LONG USBD_FuncEPxPIOSimpleTransferAbort(USHORT id,UCHAR endpoint_num);
extern LONG USBD_FuncRegisterCBREPxPIOSimpleTransferComplete(USHORT id,UCHAR endpoint_num,CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBREPxPIOSimpleTransferComplete(UCHAR endpoint_num,CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncSetEPxTransferAParam(UCHAR endpoint_num,ULONG pio_size);
extern LONG USBD_FuncEPxPIODataTransferReady(USHORT id,UCHAR endpoint_num);
extern LONG USBD_FuncEPxPIOTransferA(USHORT id,UCHAR endpoint_num,ULONG transfersize);
extern LONG USBD_FuncRegisterCBREPxPIOTransfer(USHORT id,UCHAR endpoint_num,CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBREPxPIOTransfer(UCHAR endpoint_num,CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncRegisterCBREPxPIOTransferComplete(USHORT id,UCHAR endpoint_num,CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBREPxPIOTransferComplete(UCHAR endpoint_num,CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncStartEPxDMATransfer(USHORT id,UCHAR endpoint_num);
extern LONG USBD_FuncEndEPxDMATransfer(UCHAR endpoint_num);
extern LONG USBD_FuncSetEPxJoinDMA(UCHAR endpoint_num,UCHAR dmaCh,UCHAR enable,UCHAR autoEnShort);
extern LONG USBD_FuncSetEPxTransferMode(USHORT id,UCHAR endpoint_num,UCHAR mode);
extern LONG USBD_FuncGetEPxPIODataRemain(UCHAR endpoint_num,ULONG *remain);
extern LONG USBD_FuncSetupReplyDescriptor(UCHAR speed,USHORT type);
extern LONG USBD_FuncGoReplyDescriptorA(UCHAR speed,USHORT type,USHORT size);
extern LONG USBD_FuncRegisterCBRReplyDescriptor(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRReplyDescriptor(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncSetBulkOnlyMode(UCHAR mode,UCHAR enable);
extern LONG USBD_FuncGetBulkOnlyCBW(UCHAR *pCBW);
extern LONG USBD_FuncSetBulkOnlyCSW(UCHAR *pCSW);
extern LONG USBD_FuncRegisterCBRBulkOnlyEvent(CALLBACK_PROC pfnCallback);
extern LONG USBD_FuncUnregisterCBRBulkOnlyEvent(CALLBACK_PROC pfnCallback);
extern LONG PrvUsbBusResumeProcess(ULONG lParam0,ULONG lParam1,void *pParam);
#endif /* USBD_FUNC_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -