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

📄 usbtarglib.h

📁 IXP425的BSP代码
💻 H
字号:
/* usbTargLib.h - Defines interface to usbTargLib.c *//* Copyright 2000 Wind River Systems, Inc. *//*Modification history--------------------01b,18sep01,wef  merge from wrs.tor2_0.usb1_1-f for veloce01d,07may01,wef  changed module number to be (module sub num << 8) |                  M_usbPeriphLib01c,02may01,wef  changed module number to be M_<module> + M_usbPeriphLib01b,05dec00,wef  moved Module number defs to vwModNum.h - add this                 to #includes01a,04aug99,rcb  First.*//*DESCRIPTIONDefines the interface to usbTargLib.c.	usbTargLib.c implements a hardware-independent interface to USB target controller drivers.*/#ifndef __INCusbTargLibh#define __INCusbTargLibh#ifdef	__cplusplusextern "C" {#endif/* includes */#include "usb/usbHandleLib.h"#include "usb/usb.h"#include "drv/usb/target/usbTcd.h"#include "vwModNum.h"           /* USB Module number def's *//* defines */#define USBT_NAME_LEN		    32	    /* max usbTargLib string len *//* usbTargLib error codes *//*  * USB errnos are defined as being part of the USB peripheral Module, as are  * all vxWorks module numbers, but the USB Module number is further divided  * into sub-modules.  Each sub-module has upto 255 values for its own error  * codes */ #define USB_TARG_SUB_MODULE  1#define M_usbTargLib 	( (USB_TARG_SUB_MODULE  << 8) | M_usbPeriphLib )#define usbTargErr(x)	(M_usbTargLib | (x))#define S_usbTargLib_BAD_PARAM		usbTargErr(1)#define S_usbTargLib_BAD_HANDLE 	usbTargErr(2)#define S_usbTargLib_OUT_OF_MEMORY	usbTargErr(3)#define S_usbTargLib_OUT_OF_RESOURCES	usbTargErr(4) #define S_usbTargLib_NOT_IMPLEMENTED	usbTargErr(5)#define S_usbTargLib_GENERAL_FAULT	usbTargErr(6)#define S_usbTargLib_NOT_INITIALIZED	usbTargErr(7)#define S_usbTargLib_CANNOT_CANCEL	usbTargErr(8)#define S_usbTargLib_TCD_FAULT		usbTargErr(9)#define S_usbTargLib_ENDPOINT_IN_USE	usbTargErr(10)#define S_usbTargLib_APP_FAULT		usbTargErr(11)/* typedefs */typedef GENERIC_HANDLE USB_TARG_CHANNEL, *pUSB_TARG_CHANNEL;typedef GENERIC_HANDLE USB_TARG_DESCR, *pUSB_TARG_DESCR;typedef GENERIC_HANDLE USB_TARG_PIPE, *pUSB_TARG_PIPE;/* USB_TARG_INFO */typedef struct usb_targ_info    {    UINT16 speed;			    /* target speed: USB_SPEED_xxxx */    UINT16 numEndpoints;		    /* count of endpoints to follow */    pUSB_TARG_ENDPOINT_INFO pEndpoints;     /* pointer to array of endpoints */    } USB_TARG_INFO, *pUSB_TARG_INFO;/* caller-supplied target callbacks *//* target management callback */typedef STATUS (*USB_TARG_MANAGEMENT_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT16 mngmtCode			    /* management code */    );/* control pipe callbacks */typedef STATUS (*USB_TARG_FEATURE_CLEAR_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT8 requestType,    UINT16 feature,    UINT16 index    );typedef STATUS (*USB_TARG_FEATURE_SET_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT8 requestType,    UINT16 feature,    UINT16 index    );typedef STATUS (*USB_TARG_CONFIGURATION_GET_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    pUINT8 pConfiguration    );typedef STATUS (*USB_TARG_CONFIGURATION_SET_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT8 configuration    );typedef STATUS (*USB_TARG_DESCRIPTOR_GET_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT8 requestType,    UINT8 descriptorType,    UINT8 descriptorIndex,    UINT16 languageId,    UINT16 length,    pUINT8 pBfr,    pUINT16 pActLen    );typedef STATUS (*USB_TARG_DESCRIPTOR_SET_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT8 requestType,    UINT8 descriptorType,    UINT8 descriptorIndex,    UINT16 languageId,    UINT16 length    );typedef STATUS (*USB_TARG_INTERFACE_GET_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT16 interfaceIndex,    pUINT8 pAlternateSetting    );typedef STATUS (*USB_TARG_INTERFACE_SET_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT16 interfaceIndex,    UINT8 alternateSetting    );typedef STATUS (*USB_TARG_STATUS_GET_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT16 requestType,    UINT16 index,    UINT16 length,    pUINT8 pBfr,    pUINT16 pActLen    );typedef STATUS (*USB_TARG_ADDRESS_SET_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT16 deviceAddress    );typedef STATUS (*USB_TARG_SYNCH_FRAME_GET_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT16 endpoint,    pUINT16 pFrameNo    );typedef STATUS (*USB_TARG_VENDOR_SPECIFIC_FUNC)    (    pVOID param,    USB_TARG_CHANNEL targChannel,    UINT8 requestType,    UINT8 request,    UINT16 value,    UINT16 index,    UINT16 length    );typedef struct usb_targ_callback_table    {    /* device management callbacks */    USB_TARG_MANAGEMENT_FUNC mngmtFunc;    /* Control pipe callbacks */    USB_TARG_FEATURE_CLEAR_FUNC featureClear;    USB_TARG_FEATURE_SET_FUNC featureSet;    USB_TARG_CONFIGURATION_GET_FUNC configurationGet;    USB_TARG_CONFIGURATION_SET_FUNC configurationSet;    USB_TARG_DESCRIPTOR_GET_FUNC descriptorGet;    USB_TARG_DESCRIPTOR_SET_FUNC descriptorSet;    USB_TARG_INTERFACE_GET_FUNC interfaceGet;    USB_TARG_INTERFACE_SET_FUNC interfaceSet;    USB_TARG_STATUS_GET_FUNC statusGet;    USB_TARG_ADDRESS_SET_FUNC addressSet;    USB_TARG_SYNCH_FRAME_GET_FUNC synchFrameGet;    USB_TARG_VENDOR_SPECIFIC_FUNC vendorSpecific;    } USB_TARG_CALLBACK_TABLE, *pUSB_TARG_CALLBACK_TABLE;/* function prototypes */STATUS usbTargVersionGet    (    pUINT16 pVersion,			/* usbTargLib version */    pCHAR pMfg				/* usbTargLib manufacturer */    );STATUS usbTargInitialize (void);STATUS usbTargShutdown (void);STATUS usbTargTcdAttach    (    USB_TCD_EXEC_FUNC tcdExecFunc,	/* TCD entry point */    pVOID tcdParam,			/* TCD parameter */    pUSB_TARG_CALLBACK_TABLE pCallbacks,/* caller-supplied callbacks */    pVOID callbackParam,		/* caller-defined callback param */    pUSB_TARG_CHANNEL pTargChannel,	/* handle to target on return */    pUINT16 pNumEndpoints,		/* bfr to receive nbr of endpoints */    pUSB_TARG_ENDPOINT_INFO *ppEndpoints/* bfr to rcv ptr to endpt array */    );STATUS usbTargTcdDetach    (    USB_TARG_CHANNEL targChannel	/* target to detach */    );STATUS usbTargEndpointInfoGet    (    USB_TARG_CHANNEL targChannel,	/* target channel */    pUINT16 pNumEndpoints,		/* receives nbr of endpoints */    pUSB_TARG_ENDPOINT_INFO *ppEndpoints/* receives ptr to array */    );STATUS usbTargEnable    (    USB_TARG_CHANNEL targChannel	/* target to enable */    );STATUS usbTargDisable    (    USB_TARG_CHANNEL targChannel	/* target to disable */    );STATUS usbTargPipeCreate    (    USB_TARG_CHANNEL targChannel,	/* target channel */    UINT16 endpointId,			/* endpoint ID to use for pipe */    UINT16 endpointId2, 		/* needed for control pipes only */    UINT16 endpointNum, 		/* endpoint number to assign */    UINT16 configuration,		/* associated configuration */    UINT16 interface,			/* associated interface */    UINT16 transferType,		/* USB_XFRTYPE_xxxx */    UINT16 direction,			/* USB_DIR_xxxx */    pUSB_TARG_PIPE pPipeHandle		/* returned pipe handle */    );STATUS usbTargPipeDestroy    (    USB_TARG_PIPE pipeHandle		/* pipe to be destroyed */    );STATUS usbTargTransfer    (    USB_TARG_PIPE pipeHandle,		/* pipe for transfer */    pUSB_ERP pErp			/* ERP describing transfer */    );STATUS usbTargTransferAbort    (    USB_TARG_PIPE pipeHandle,		/* pipe for transfer to abort */    pUSB_ERP pErp			/* ERP to be aborted */    );STATUS usbTargControlResponseSend    (    USB_TARG_CHANNEL targChannel,	/* target channel */    UINT16 bfrLen,			/* length of response, or 0 */    pUINT8 pBfr 			/* ptr to bfr or NULL */    );STATUS usbTargControlPayloadRcv    (    USB_TARG_CHANNEL targChannel,	/* target channel */    pUSB_ERP pErp			/* ERP to receive control OUT data */    );STATUS usbTargPipeStatusSet    (    USB_TARG_CHANNEL targChannel,	/* target channel */    USB_TARG_PIPE pipeHandle,		/* pipe handle or NULL for ctrl pipe */    UINT16 state			/* USBT_PIPE_STALLED/UNSTALLED */    );STATUS usbTargCurrentFrameGet    (    USB_TARG_CHANNEL targChannel,	/* target channel */    pUINT16 pFrameNo			/* current frame number */    );	STATUS usbTargSignalResume    (    USB_TARG_CHANNEL targChannel	/* target channel */    );#ifdef	__cplusplus}#endif#endif	/* __INCusbTargLibh *//* End of file. */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -