⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usbd_protenum.h

📁 epson usb2.0 控制芯片 S1R72V05 固件程序。
💻 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 + -