📄 usbd_protenum.h
字号:
/*
* description: USBD Protocol Enumeration
* Maker :
* Copyright : (C)2003,SEIKO EPSON Corp. All Rights Reserved.
*/
#ifndef USBD_PROT_ENUM_H
#define USBD_PROT_ENUM_H
#include "SPRDEF.h"
/*****************************************
* Define definition
*****************************************/
/* USBD_ProtEnumGetParameter/USBD_ProtEnumSetParameter */
#define USBD_PROT_ENUM_POWERSAVE_MODE (0) /* Power saving mode */
#define USBD_PROT_ENUM_PSLEVEL0 (0) /* Full Power */
#define USBD_PROT_ENUM_PSLEVEL1 (1) /* Low Power */
#define USBD_PROT_ENUM_REMOTEWAKEUP_MODE (1) /* Remote Wakeup mode */
#define USBD_PROT_ENUM_AUTO_WAKEUP (0) /* Auto Remote Wakeup */
#define USBD_PROT_ENUM_MANUAL_WAKEUP (1) /* Manual Remote Wakeup */
#define USBD_PROT_ENUM_HW_FEATURE_MODE (2) /* H/W function mode */
#define USBD_PROT_ENUM_AUTO_NEGOTIATION (0x0001)/* Enable Auto Negotiation */
#define USBD_PROT_ENUM_AUTO_REPLY_DESCRIPTOR (0x0002)/* Enable Auto Reply Descriptor */
#define USBD_PROT_ENUM_AUTO_SET_ADDRESS (0x0004)/* Enable Auto Set Address */
#define USBD_PROT_ENUM_FIFOAREA_MODE (3) /* FIFO area mode */
/* USBD_ProtEnumGetDescriptor/USBD_ProtEnumSetDescriptor */
#define USBD_PROT_ENUM_SPEEDCOMMON (0) /* Common */
#define USBD_PROT_ENUM_SPEEDFS (1) /* Only for FS */
#define USBD_PROT_ENUM_SPEEDHS (2) /* Only for HS */
#define USBD_PROT_ENUM_DTYPE_DEVICE (0x01) /* Device Descriptor */
#define USBD_PROT_ENUM_DTYPE_CONFIG (0x02) /* Configuration Descriptor */
#define USBD_PROT_ENUM_DTYPE_STRING (0x03) /* String Descriptor */
#define USBD_PROT_ENUM_DTYPE_QUALIFIER (0x06) /* Device Qualifier Descriptor */
#define USBD_PROT_ENUM_DTYPE_OTHER_SPEED_CONFIG (0x07) /* Other Speed Configuration Descriptor */
/* USBD_ProtEnumGetStatus */
#define USBD_PROT_ENUM_OP_STATUS (0) /* Status of operation */
#define USBD_PROT_ENUM_OP_STOP (0) /* Stop USB function */
#define USBD_PROT_ENUM_OP_WAIT_CONNECT (1) /* Wait for bus connecting */
#define USBD_PROT_ENUM_OP_FS_CONNECTED (2) /* Bus is on connecting in FS mode */
#define USBD_PROT_ENUM_OP_HS_CONNECTED (3) /* Bus is on connecting in HS mode */
#define USBD_PROT_ENUM_EVENT_STATUS (1) /* Status of event */
#define USBD_PROT_ENUM_API_STATUS (2) /* Status of API */
/* USBD_ProtEnumStart */
#define USBD_PROT_ENUM_NORMAL_MODE (0) /* Normal mode */
#define USBD_PROT_ENUM_AUTO_STOP_MODE (1) /* Auto stop mode */
#define USBD_PROT_ENUM_ATTACH_NORMAL (0) /* Normal mode */
#define USBD_PROT_ENUM_ATTACH_FORCEFS (1) /* Force FS mode */
/*****************************************
* Structure definition
*****************************************/
/* Value of FIFO area mode */
typedef struct{
USHORT wReplyDescSize; /* Size of Reply Descriptor area(be "0" while not being used) */
USHORT wNumEndpoint; /* Total number of Endpoints that are supported by H/W(depends on H/W) */
ULONG dwEPxSize[1]; /* Endpoint number + Array which size can be changed in FIFO size */
/* Amount of array is the value of wNumEndpoint */
}USBD_PROTENUMFIFOAREA;
/* Value of Payload mode */
typedef struct{
USHORT wNumEndpoint; /* Totol number of Endpoints that are supported by H/W(depends on H/W) */
USHORT wEPxPayloadSize[1]; /* Array which size can be changed in Payload size */
/* Amount of array is the value of wNumEndpoint */
}USBD_PROTENUMPAYLOADSIZE;
/* Table of API pointer */
typedef struct{
LONG ( *pfnEnumReset )( void );
LONG ( *pfnEnumOpen )( void );
LONG ( *pfnEnumClose )( void );
LONG ( *pfnEnumGetStatus )( USHORT *pwStatusData, USHORT wStatusType );
LONG ( *pfnEnumGetParameter )( void *pParamData, USHORT wParamType );
LONG ( *pfnEnumSetParameter )( const void *pParamData, USHORT wParamType );
LONG ( *pfnEnumGetDescriptor )( UCHAR *pbDescData, ULONG dwDescSize, ULONG dwDescOffset, USHORT wDescType, UCHAR bDescSpeed );
LONG ( *pfnEnumSetDescriptor )( const UCHAR *pbDescData, USHORT wDescType, UCHAR bDescSpeed );
LONG ( *pfnEnumGetDescriptorAddr )( UCHAR **pbDescData, USHORT wDescType, UCHAR bDescSpeed );
LONG ( *pfnEnumSetDescriptorAddr )( const UCHAR *pbDescData, USHORT wDescType, UCHAR bDescSpeed );
LONG ( *pfnRegisterCBREnumConnectEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnUnregisterCBREnumConnectEven )( CALLBACK_PROC pfnCallback );
LONG ( *pfnRegisterCBREnumDisconnectEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnUnregisterCBREnumDisconnectEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnRegisterCBREnumResetEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnUnregisterCBREnumResetEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnRegisterCBREnumSuspendEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnUnregisterCBREnumSuspendEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnRegisterCBREnumResumeEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnUnregisterCBREnumResumeEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnRegisterCBREnumConfiguredEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnUnregisterCBREnumConfiguredEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnRegisterCBREnumDeconfiguredEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnUnregisterCBREnumDeconfiguredEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnRegisterCBREnumAlternateChangedEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnUnregisterCBREnumAlternateChangedEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnRegisterCBREnumClrEndpointHaltReqEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnUnregisterCBREnumClrEndpointHaltReqEvent )( CALLBACK_PROC pfnCallback );
LONG ( *pfnEnumWakeupA )( void );
LONG ( *pfnRegisterCBREnumWakeupEnd )( CALLBACK_PROC pfnCallback );
LONG ( *pfnUnregisterCBREnumWakeupEnd )( CALLBACK_PROC pfnCallback );
LONG ( *pfnEnumStart )( UCHAR bOPMode ,UCHAR bAttachMode);
LONG ( *pfnEnumStop )( void );
LONG ( *pfnEnumRemoteWakeupEnd )( ULONG lResult, ULONG lParam1, void *pParam );
LONG ( *pfnEnumAttachEvent )( ULONG lParam0, ULONG lParam1, void *pParam );
LONG ( *pfnEnumDetachEvent )( ULONG lParam0, ULONG lParam1, void *pParam );
LONG ( *pfnEnumResetEvent )( ULONG lParam0, ULONG lParam1, void *pParam );
LONG ( *pfnEnumSuspendEven )( ULONG lParam0, ULONG lParam1, void *pParam );
LONG ( *pfnEnumResumeEvent )( ULONG lParam0, ULONG lParam1, void *pParam );
LONG ( *pfnEnumChangeUSBAddress )( ULONG lResult, ULONG lParam1, void *pParam );
LONG ( *pfnEnumRcvRequest )( ULONG lReqData, ULONG lParam1, void *pParam );
LONG ( *pfnEnumDataStageEnd )( ULONG lEPNum, ULONG lActualXferSize, void *pParam );
LONG ( *pfnEnumStatusStageEnd )( ULONG lResult, ULONG lParam1, void *pParam );
}USBD_PROTENUMAPITABLE;
/*****************************************
* Variable definition
*****************************************/
extern const USBD_PROTENUMAPITABLE g_USBDProtEnumAPITable;
/*****************************************
* Function prototype declaration
*****************************************/
extern LONG USBD_ProtEnumReset( void );
extern LONG USBD_ProtEnumOpen( void );
extern LONG USBD_ProtEnumClose( void );
extern LONG USBD_ProtEnumGetParameter( void *pParamData, USHORT wParamType );
extern LONG USBD_ProtEnumSetParameter( const void *pParamData, USHORT wParamType );
extern LONG USBD_ProtEnumGetDescriptor( UCHAR *pbDescData, ULONG dwDescSize, ULONG dwDescOffset,
USHORT wDescType, UCHAR bDescSpeed );
extern LONG USBD_ProtEnumSetDescriptor( const UCHAR *pbDescData, USHORT wDescType, UCHAR bDescSpeed );
extern LONG USBD_ProtEnumGetDescriptorAddr( UCHAR **pbDescData, USHORT wDescType, UCHAR bDescSpeed );
extern LONG USBD_ProtEnumSetDescriptorAddr( const UCHAR *pbDescData, USHORT wDescType, UCHAR bDescSpeed );
extern LONG USBD_ProtRegisterCBREnumConnectEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtUnregisterCBREnumConnectEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtRegisterCBREnumDisconnectEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtUnregisterCBREnumDisconnectEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtRegisterCBREnumResetEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtUnregisterCBREnumResetEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtRegisterCBREnumSuspendEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtUnregisterCBREnumSuspendEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtRegisterCBREnumResumeEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtUnregisterCBREnumResumeEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtRegisterCBREnumConfiguredEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtUnregisterCBREnumConfiguredEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtRegisterCBREnumDeconfiguredEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtUnregisterCBREnumDeconfiguredEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtRegisterCBREnumAlternateChangedEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtUnregisterCBREnumAlternateChangedEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtRegisterCBREnumClrEndpointHaltReqEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtUnregisterCBREnumClrEndpointHaltReqEvent( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtEnumGetStatus( USHORT *pwStatusData, USHORT wStatusType );
extern LONG USBD_ProtEnumWakeupA( void );
extern LONG USBD_ProtRegisterCBREnumWakeupEnd( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtUnregisterCBREnumWakeupEnd( CALLBACK_PROC pfnCallback );
extern LONG USBD_ProtEnumStart( UCHAR bOPMode ,UCHAR bAttachMode);
extern LONG USBD_ProtEnumStop( void );
extern LONG USBD_ProtEnumRemoteWakeupEnd( ULONG lResult, ULONG lParam1, void *pParam );
extern LONG USBD_ProtEnumAttachEvent( ULONG lParam0, ULONG lParam1, void *pParam );
extern LONG USBD_ProtEnumDetachEvent( ULONG lParam0, ULONG lParam1, void *pParam );
extern LONG USBD_ProtEnumResetEvent( ULONG lParam0, ULONG lParam1, void *pParam );
extern LONG USBD_ProtEnumSuspendEvent( ULONG lParam0, ULONG lParam1, void *pParam );
extern LONG USBD_ProtEnumResumeEvent( ULONG lParam0, ULONG lParam1, void *pParam );
extern LONG USBD_ProtEnumChangeUSBAddress( ULONG lResult, ULONG lParam1, void *pParam );
extern LONG USBD_ProtEnumRcvRequest( ULONG lReqData, ULONG lParam1, void *pParam );
extern LONG USBD_ProtEnumDataStageEnd( ULONG lEPNum, ULONG lActualXferSize, void *pParam );
extern LONG USBD_ProtEnumStatusStageEnd( ULONG lResult, ULONG lParam1, void *pParam );
#endif /* USBD_PROT_ENUM_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -