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

📄 usbdlib.h

📁 the vxworks system kernel souce packeg.there may be something you need .
💻 H
字号:
/* usbdLib.h - USBD functional interface definition *//* Copyright 2000 Wind River Systems, Inc. *//*Modification history--------------------01h,18sep01,wef  merge from wrs.tor2_0.usb1_1-f for veloce01g,07may01,wef  changed module number to be (module sub num << 8) | 		 M_usbHostLib01f,02may01,wef  changed module number to be M_<module> + M_usbHostLib01e,05dec00,wef  moved Module number defs to vwModNum.h - add this                 to #includes01d,26jan00,rcb  Redefine <bandwidth> parameter to usbdPipeCreate() as UINT32.01c,29nov99,rcb  Increase frame number fields to 32-bits in 		 usbdCurrentFrameGet().01b,07sep99,rcb  Add management callbacks and set-bus-state API.01a,07may99,rcb  First.*//*DESCRIPTIONDefines the USBD functional interface.	Functions are provided to invokeeach of the underlying USBD URBs (request blocks).*/#ifndef __INCusbdLibh#define __INCusbdLibh#ifdef	__cplusplusextern "C" {#endif/* includes */#include "usb/usbHandleLib.h"	    /* handle utility funcs */#include "usb/usb.h"		    /* Basic USB definitions */#include "drv/usb/usbHcd.h"	    /* USB HCD interface definitions */#include "vwModNum.h"		    /* USB Module number def's */ /* defines *//* USBD Results - URB_HEADER.Result *//*  * USB errnos are defined as being part of the USB host 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_USBD_SUB_MODULE  5#define M_usbdLib 	( (USB_USBD_SUB_MODULE  << 8) | M_usbHostLib )#define usbdErr(x)	(M_usbdLib | (x))#define S_usbdLib_BAD_CLIENT	    usbdErr(1)#define S_usbdLib_BAD_PARAM	    usbdErr(2)#define S_usbdLib_BAD_HANDLE	    usbdErr(3)#define S_usbdLib_OUT_OF_MEMORY     usbdErr(4)#define S_usbdLib_OUT_OF_RESOURCES  usbdErr(5)#define S_usbdLib_NOT_IMPLEMENTED   usbdErr(6)#define S_usbdLib_GENERAL_FAULT     usbdErr(7)#define S_usbdLib_NOT_INITIALIZED   usbdErr(8)#define S_usbdLib_INTERNAL_FAULT    usbdErr(9)#define S_usbdLib_TIMEOUT	    usbdErr(10)#define S_usbdLib_HCD_FAULT	    usbdErr(11)#define S_usbdLib_IO_FAULT	    usbdErr(12)#define S_usbdLib_NOT_HUB	    usbdErr(13)#define S_usbdLib_CANNOT_CANCEL     usbdErr(14)#define S_usbdLib_BANDWIDTH_FAULT   usbdErr(15)#define S_usbdLib_POWER_FAULT	    usbdErr(16)#define S_usbdLib_SOF_MASTER_FAULT  usbdErr(17)/* String length definitions */#define USBD_NAME_LEN		32	/* Maximum length for name *//* management events */#define USBD_MNGMT_RESUME	1	/* remote wakeup/resume *//* bus states - see usbdBusStateSet() */#define USBD_BUS_SUSPEND	0x0001	/* suspend bus */#define USBD_BUS_RESUME 	0x0002	/* resume bus *//* USBD_NOTIFY_ALL pertains to dynamic attach/removal notification */#define USBD_NOTIFY_ALL 	0xffff#define USBD_DYNA_ATTACH	0#define USBD_DYNA_REMOVE	1/* typedefs *//* Handles and callbacks. */typedef GENERIC_HANDLE USBD_CLIENT_HANDLE, *pUSBD_CLIENT_HANDLE;typedef GENERIC_HANDLE USBD_NODE_ID, *pUSBD_NODE_ID;typedef GENERIC_HANDLE USBD_PIPE_HANDLE, *pUSBD_PIPE_HANDLE;typedef VOID (*URB_CALLBACK) (pVOID pUrb);typedef VOID (*USBD_ATTACH_CALLBACK)     (    USBD_NODE_ID nodeId,     UINT16 attachAction,     UINT16 configuration,    UINT16 interface,    UINT16 deviceClass,     UINT16 deviceSubClass,     UINT16 deviceProtocol    );typedef VOID (*USBD_MNGMT_CALLBACK)    (    pVOID callbackParam,    USBD_NODE_ID nodeId,    UINT16 mngmtCode    );/* * USBD_NODE_INFO */typedef struct usbd_node_info    {    UINT16 nodeType;		/* Type of node */    UINT16 nodeSpeed;		/* Speed of node, e.g., 12MBit, 1.5MBit */    USBD_NODE_ID parentHubId;	/* Node Id of hub to which node is connected */    UINT16 parentHubPort;	/* Port on parent hub to which connected */    USBD_NODE_ID rootId;	/* Node Id of root for USB to which connected */    } USBD_NODE_INFO, *pUSBD_NODE_INFO;/* * USBD_STATS */typedef struct usbd_stats    {    UINT16 totalTransfersIn;	/* Total # of inbound transfers */    UINT16 totalTransfersOut;	/* Total # of outbound transfers */    UINT16 totalReceiveErrors;	/* Errors on inbound traffic */    UINT16 totalTransmitErrors; /* Errors on transmit */    } USBD_STATS, *pUSBD_STATS;/* function prototypes */STATUS usbdInitialize (void);STATUS usbdShutdown (void);STATUS usbdClientRegister     (    pCHAR pClientName,			/* Client name */    pUSBD_CLIENT_HANDLE pClientHandle	/* Client hdl returned by USBD */    );STATUS usbdClientUnregister    (    USBD_CLIENT_HANDLE clientHandle	/* Client handle */    );STATUS usbdMngmtCallbackSet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_MNGMT_CALLBACK mngmtCallback,	/* management callback */    pVOID mngmtCallbackParam		/* client-defined parameter */    );STATUS usbdBusStateSet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* node ID */    UINT16 busState			/* new bus state: USBD_BUS_xxxx */    );	STATUS usbdBusCountGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    pUINT16 pBusCount			/* Word bfr to receive bus count */    );STATUS usbdRootNodeIdGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    UINT16 busIndex,			/* Bus index */    pUSBD_NODE_ID pRootId		/* bfr to receive Root Id */    );STATUS usbdHubPortCountGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID hubId, 		/* Node Id for desired hub */    pUINT16 pPortCount			/* UINT16 bfr to receive port count */    );STATUS usbdNodeIdGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID hubId, 		/* Node Id for desired hub */    UINT16 portIndex,			/* Port index */    pUINT16 pNodeType,			/* bfr to receive node type */    pUSBD_NODE_ID pNodeId		/* bfr to receive Node Id */    );STATUS usbdNodeInfoGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    pUSBD_NODE_INFO pNodeInfo,		/* Structure to receive node info */    UINT16 infoLen			/* Len of bfr allocated by client */    );STATUS usbdDynamicAttachRegister    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    UINT16 deviceClass, 		/* USB class code */    UINT16 deviceSubClass,		/* USB sub-class code */    UINT16 deviceProtocol,		/* USB device protocol */    USBD_ATTACH_CALLBACK attachCallback /* User-supplied callback routine */    );STATUS usbdDynamicAttachUnRegister    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    UINT16 deviceClass, 		/* USB class code */    UINT16 deviceSubClass,		/* USB sub-class code */    UINT16 deviceProtocol,		/* USB device protocol */    USBD_ATTACH_CALLBACK attachCallback /* User-supplied callback routine */    );STATUS usbdFeatureClear    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT16 requestType, 		/* Selects request type */    UINT16 feature,			/* Feature selector */    UINT16 index			/* Interface/endpoint index */    );STATUS usbdFeatureSet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT16 requestType, 		/* Selects request type */    UINT16 feature,			/* Feature selector */    UINT16 index			/* Interface/endpoint index */    );STATUS usbdConfigurationGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    pUINT16 pConfiguration		/* bfr to receive config value */    );STATUS usbdConfigurationSet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT16 configuration,		/* New configuration to be set */    UINT16 maxPower			/* max power this config will draw */    );STATUS usbdDescriptorGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT8 requestType,			/* specifies type of request */    UINT8 descriptorType,		/* Type of descriptor */    UINT8 descriptorIndex,		/* Index of descriptor */    UINT16 languageId,			/* Language ID */    UINT16 bfrLen,			/* Max length of data to be returned */    pUINT8 pBfr,			/* Pointer to bfr to receive data */    pUINT16 pActLen			/* bfr to receive actual length */    );STATUS usbdDescriptorSet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT8 requestType,			/* selects request type */    UINT8 descriptorType,		/* Type of descriptor */    UINT8 descriptorIndex,		/* Index of descriptor */    UINT16 languageId,			/* Language ID */    UINT16 bfrLen,			/* Max length of data to be returned */    pUINT8 pBfr 			/* Pointer to bfr to receive data */    );STATUS usbdInterfaceGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT16 interfaceIndex,		/* Index of interface */    pUINT16 pAlternateSetting		/* Current alternate setting */    );STATUS usbdInterfaceSet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT16 interfaceIndex,		/* Index of interface */    UINT16 alternateSetting		/* Alternate setting */    );STATUS usbdStatusGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT16 requestType, 		/* Selects device/interface/endpoint */    UINT16 index,			/* Interface/endpoint index */    UINT16 bfrLen,			/* length of bfr */    pUINT8 pBfr,			/* bfr to receive status */    pUINT16 pActLen			/* bfr to receive act len xfr'd */    );STATUS usbdAddressGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    pUINT16 pDeviceAddress		/* Currently assigned device address */    );STATUS usbdAddressSet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT16 deviceAddress		/* New device address */    );STATUS usbdVendorSpecific    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT8 requestType,			/* bmRequestType in USB spec. */    UINT8 request,			/* bRequest in USB spec. */    UINT16 value,			/* wValue in USB spec. */    UINT16 index,			/* wIndex in USB spec. */    UINT16 length,			/* wLength in USB spec. */    pUINT8 pBfr,			/* ptr to data buffer */    pUINT16 pActLen			/* actual length of IN */    );STATUS usbdPipeCreate    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT16 endpoint,			/* Endpoint number */    UINT16 configuration,		/* config w/which pipe associated */    UINT16 interface,			/* interface w/which pipe associated */    UINT16 transferType,		/* Type of transfer: control, bulk... */    UINT16 direction,			/* Specifies IN or OUT endpoint */    UINT16 maxPayload,			/* Maximum data payload per packet */    UINT32 bandwidth,			/* Bandwidth required for pipe */    UINT16 serviceInterval,		/* Required service interval */    pUSBD_PIPE_HANDLE pPipeHandle	/* pipe handle returned by USBD */    );STATUS usbdPipeDestroy    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_PIPE_HANDLE pipeHandle 	/* pipe handle */    );STATUS usbdTransfer    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_PIPE_HANDLE pipeHandle,	/* Pipe handle */    pUSB_IRP pIrp			/* ptr to I/O request packet */    );STATUS usbdTransferAbort    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_PIPE_HANDLE pipeHandle,	    /* Pipe handle */    pUSB_IRP pIrp			/* ptr to I/O to abort */    );STATUS usbdSynchFrameGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client Handle */    USBD_NODE_ID nodeId,		/* Node Id of device/hub */    UINT16 endpoint,			/* Endpoint to be queried */    pUINT16 pFrameNo			/* Frame number returned by device */    );STATUS usbdCurrentFrameGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of root for desired USB */    pUINT32 pFrameNo,			/* bfr to receive current frame no. */    pUINT32 pFrameWindow		/* bfr to receive frame window */    );STATUS usbdSofMasterTake    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId 		/* Node Id of node on desired USB */    );    STATUS usbdSofMasterRelease    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId 		/* Node Id of node on desired USB */    );STATUS usbdSofIntervalGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of node on desired USB */    pUINT16 pSofInterval		/* bfr to receive SOF interval */    );STATUS usbdSofIntervalSet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of node on desired USB */    UINT16 sofInterval			/* new SOF interval */    );STATUS usbdVersionGet    (    pUINT16 pVersion,			/* UINT16 bfr to receive version */    pCHAR pMfg				/* bfr to receive USBD mfg string */    );STATUS usbdHcdAttach    (    HCD_EXEC_FUNC hcdExecFunc,		/* Ptr to HCD抯 primary entry point */    pVOID param,			/* HCD-specific parameter */    pGENERIC_HANDLE pAttachToken	/* Token to identify HCD in future */    );STATUS usbdHcdDetach    (    GENERIC_HANDLE attachToken		/* AttachToken returned */    );STATUS usbdStatisticsGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID nodeId,		/* Node Id of a node on desired USB */    pUSBD_STATS pStatistics,		/* Ptr to structure to receive stats */    UINT16 statLen			/* Len of bfr provided by caller */    );#ifdef	__cplusplus}#endif#endif	/* __INCusbdLibh *//* End of file. */

⌨️ 快捷键说明

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