亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? usbtransunitmisc.c

?? This the compressed USB driver source code for vxworks5.6. It has device controller driver and other
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/* usbTransUnitMisc.c - translation unit miscellaneous functions *//* Copyright 2003 Wind River Systems, Inc. *//* Modification History--------------------01d,15oct04,ami  Apigen Changes01e,28sep04,hch  Fix gnu compiler warning with usbdHcdAttach and usbdHcdDetach01d,03aug04,hch  Fix compiler warning01c,03aug04,mta  coverity error fixes01b,03aug04,ami  Warning Messages Removed01a,19sep03,mta  First*//*DESCRIPTIONImplements the Translation Unit Miscellaneous Interfaces.These interfaces are used only by UsbTool and not by Class Drivers.They interfaces are provided to Integrate Translation Unit with UsbToolINCLUDE FILES: drv/usb/usbTransUnit.h, usb/pciConstants.h, usb2/usbHubMisc.h,usb2/usbdMisc.h*//* includes */#include "drv/usb/usbTransUnit.h"#include "usb/pciConstants.h"#include "usb2/usbHubMisc.h"#include "usb2/usbdMisc.h"/* defines */#define USBTUMISC_USBD_VERSION	0x0200		      /* USBD version in BCD */#define USBTUMISC_USBD_MFG	  "Wind River Systems, Inc."  /* USBD Mfg *//* Add these in compiler options#define INCLUDE_OHCD#define INCLUDE_UHCD#define INCLUDE_EHCD*//* To hold the class code for UHCI Complaint USB Host Controllers */#define USB_UHCI_HOST_CONTROLLER                            0x000C0300/* To hold the class code for OHCI Complaint USB Host Controllers */#define USB_OHCI_HOST_CONTROLLER                            0x000C0310/* To hold the class code for EHCI Complaint USB Host Controllers */#define USB_EHCI_HOST_CONTROLLER                            0x000C0320#define MAX_NO_OF_OHCI_CONTROLLERS	5#define MAX_NO_OF_UHCI_CONTROLLERS	5#define MAX_NO_OF_EHCI_CONTROLLERS	5#define TOKEN_FOR_OHCI	0x4#define TOKEN_FOR_UHCI	0x5#define TOKEN_FOR_EHCI	0x6/* Defines for the return types for detected devices */#define USBHUB_NODETYPE_HUB      (0x02)#define USBHUB_NODETYPE_DEVICE   (0x01)#define USBHUB_NODETYPE_NONE     (0x00)/***************************************************************************** usbdHcdAttach - attaches an HCD to the USBD** The <hcdExecFunc> passed by the caller must point to an HCD抯 primary* entry point as defined below:** \cs* typedef UINT16 (*HCD_EXEC_FUNC) (pHRB_HEADER pHrb);* \ce** RETURNS: OK** ERRNO: none*/STATUS usbdHcdAttach    (    HCD_EXEC_FUNC hcdExecFunc,		/* Ptr to HCD抯 primary entry point */    void * hcdPciCfgHdr,			/* HCD-specific parameter */    pGENERIC_HANDLE pAttachToken	/* Token to identify HCD in future */    )    {    UINT32 HCD_ID;    PCI_CFG_HEADER *pciCfgHdr = (PCI_CFG_HEADER *)hcdPciCfgHdr;    HCD_ID = ( (pciCfgHdr->pciClass << 16) | (pciCfgHdr->subClass << 8) | pciCfgHdr->pgmIf );    switch(HCD_ID)        {#ifdef INCLUDE_EHCD        case USB_EHCI_HOST_CONTROLLER :            if(TRUE == usbEhcdInit())                *pAttachToken = TOKEN_FOR_EHCI ;            break;#endif#ifdef INCLUDE_OHCD        case USB_OHCI_HOST_CONTROLLER :            if(TRUE == usbOhciInit())                *pAttachToken = TOKEN_FOR_OHCI;            break;#endif#ifdef INCLUDE_UHCD        case USB_UHCI_HOST_CONTROLLER :            if(USBHST_SUCCESS == usbUhcdInit())                *pAttachToken = TOKEN_FOR_UHCI;            break;#endif        default:            break;        }    return OK;    }/***************************************************************************** usbdHcdDetach - Detaches an HCD from the USBD** The <attachToken> must be the attach token originally returned by* usbdHcdAttach() when it first attached to the HCD.** RETURNS: OK** ERRNO: none*/STATUS usbdHcdDetach    (    GENERIC_HANDLE attachToken		/* AttachToken returned */    )    {UINT32 token = (UINT32)attachToken;switch ( token )	{#ifdef INCLUDE_EHCD	case TOKEN_FOR_EHCI:        usbEhcdExit();		break;#endif#ifdef INCLUDE_OHCD	case TOKEN_FOR_OHCI:		usbOhciExit();		break;#endif#ifdef INCLUDE_UHCD	case TOKEN_FOR_UHCI:		usbUhcdExit();		break;#endif	default:            break;	}    return OK;    }/***************************************************************************** usbdBusCountGet - get number of USBs attached to the host.** This function returns the total number of USB host controllers in the* system.  Each host controller has its own root hub as required by the USB* specification; and clients planning to enumerate USB devices using the Bus* Enumeration Functions need to know the total number of host controllers in* order to retrieve the Node Ids for each root hub.** <pBusCount> must point to a UINT16 variable in which the total number of * USB host controllers will be stored.** Note: The number of USB host controllers is not constant.  Bus controllers * can be added by calling usbdHcdAttach() and removed by calling * usbdHcdDetach().  Again, the Dynamic Attach Functions deal with these * situations automatically, and are the preferred mechanism by which most * clients should be informed of device attachment and removal.** RETURNS: OK, or ERROR if unable to retrieve bus count** ERRNO: none*/STATUS usbdBusCountGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    pUINT16 pBusCount			/* Word bfr to receive bus count */    )    {         if (pBusCount == NULL)        return ERROR;    *pBusCount = usbdBusCntGet();    return OK;    }/***************************************************************************** usbdRootNodeIdGet - returns root node for a specific USB** This function returns the Node Id for the root hub for the specified * USB host controller.	<busIndex> is the index of the desired USB host * controller.  The first host controller is index 0 and the last host * controller's index is the total number of USB host controllers - as * returned by usbdBusCountGet() - minus 1. < pRootId> must point to a * USBD_NODE_ID variable in which the Node Id of the root hub will be stored.* * RETURNS: OK, or ERROR if unable to get root node ID.** ERRNO: none*/STATUS usbdRootNodeIdGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    UINT16 busIndex,			/* Bus index */    pUSBD_NODE_ID pRootId		/* bfr to receive Root Id */    )    {    UINT32 rootId;    if (pRootId == NULL)        return ERROR;            usbdRootNodeIDGet(busIndex,&rootId);    *pRootId = (USBD_NODE_ID)rootId;    return OK;    }/********************************************************************************* usbdHubPortCountGet - returns number of ports connected to a hub** usbdHubPortCountGet() provides clients with a convenient mechanism to* retrieve the number of downstream ports provided by the specified hub.* Clients can also retrieve this information by retrieving configuration* descriptors from the hub using the Configuration Functions describe in* a following section.** <hubId> must be the Node Id for the desired USB hub.	An error will be* returned if <hubId> does not refer to a hub.	<pPortCount> must point to* a UINT16 variable in which the total number of ports on the specified* hub will be stored.** RETURNS: OK, or ERROR if unable to get hub port count.** ERRNO: none*/STATUS usbdHubPortCountGet    (    USBD_CLIENT_HANDLE clientHandle,	/* Client handle */    USBD_NODE_ID hubId, 		/* Node Id for desired hub */    pUINT16 pPortCount			/* bfr to receive port count */    )    {    /* Support is required from USBD to retrieve actual data.     * This is currently a stub.The count that is returned is equal to the     * number of USB devices already attached to USB or 2 which ever is higher     */    USBHST_STATUS status;    if(pPortCount == NULL)        return ERROR;    status = usbHubPortCntGet((UINT32)hubId,pPortCount);    if (status != USBHST_SUCCESS)        return ERROR;    else        return OK;    }/********************************************************************************* usbdNodeIdGet - gets the id of the node connected to a hub port** Clients use this function to retrieve the Node Id for devices attached to* each of a hub抯 ports.  <hubId> and <portIndex> identify the hub and port* to which a device may be attached.  <pNodeType> must point to a UINT16* variable to receive a type code as follows:** \is* \i 'USB_NODETYPE_NONE'* No device is attached to the specified port.** \i 'USB_NODETYPE_HUB'* A hub is attached to the specified port.** \i 'USB_NODETYPE_DEVICE'* A device (non-hub) is attached to the specified port.* \ie** If the node type is returned as USBD_NODE_TYPE_NONE, then a Node Id is* not returned and the value returned in <pNodeId> is undefined.  If the* node type indicates a hub or device is attached to the port, then* <pNodeId> will contain that hub or device抯 nodeId upon return.** RETURNS: OK, or ERROR if unable to get node ID.* * ERRNO: none*/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 */    )    {    /* Support is required from USBD to retrieve actual data.     * This is a currently a stub. The portIndex is used to chain through     * the global device list to get to the appropriate device.     */    UINT16 nodeType;    UINT32 nodeId;     USBHST_STATUS status;        if ( pNodeType == NULL ||  pNodeId == NULL)        return ERROR;    status  = usbHubNodeIDGet((UINT32)hubId, portIndex, &nodeType, &nodeId);    switch( nodeType)        {        case  USBHUB_NODETYPE_HUB :                 *pNodeType = USB_NODETYPE_HUB;                 *pNodeId = (USBD_NODE_ID) nodeId;                 break;        case  USBHUB_NODETYPE_DEVICE :                *pNodeType = USB_NODETYPE_DEVICE;                *pNodeId = (USBD_NODE_ID) nodeId;                 break;        case  USBHUB_NODETYPE_NONE :                *pNodeType = USB_NODETYPE_NONE;                *pNodeId = (USBD_NODE_ID) nodeId;                 break;        }

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品嫩草影院| 日韩欧美国产wwwww| 亚洲天堂精品在线观看| jvid福利写真一区二区三区| 中文字幕电影一区| 99国产精品国产精品毛片| 亚洲少妇中出一区| 欧美日韩大陆一区二区| 日本最新不卡在线| 久久久不卡网国产精品二区| 丰满岳乱妇一区二区三区| 国产精品理论片| 在线看不卡av| 奇米四色…亚洲| 中文字幕免费不卡| 色偷偷88欧美精品久久久| 午夜久久久影院| 久久综合给合久久狠狠狠97色69| 成人福利视频网站| 亚洲男人都懂的| 欧美大黄免费观看| 成人丝袜18视频在线观看| 一区二区三区中文在线| 日韩视频123| 成人午夜精品一区二区三区| 一区二区三区视频在线观看| 日韩欧美在线观看一区二区三区| 国产成人福利片| 图片区小说区区亚洲影院| 久久久精品国产99久久精品芒果| 色综合久久久久综合体| 老司机精品视频在线| 亚洲三级视频在线观看| 日韩视频在线观看一区二区| 成人av免费在线| 日本不卡一二三区黄网| 国产精品日产欧美久久久久| 这里只有精品免费| 91视频一区二区三区| 免费看日韩精品| 一区二区三区成人| 国产色91在线| 日韩一级精品视频在线观看| 91美女在线观看| 国产精品一区二区在线观看不卡 | 国产片一区二区三区| 欧美主播一区二区三区美女| 国产成人精品亚洲777人妖| 亚洲成人综合网站| 成人免费视频在线观看| 久久综合九色欧美综合狠狠| 欧美老年两性高潮| 一本色道亚洲精品aⅴ| 国产成a人亚洲| 捆绑调教一区二区三区| 亚洲成av人片在www色猫咪| 自拍偷拍欧美激情| 国产人久久人人人人爽| 日韩精品中文字幕在线不卡尤物| 在线亚洲高清视频| 99久久久精品| 菠萝蜜视频在线观看一区| 国产美女一区二区三区| 麻豆中文一区二区| 日韩av网站在线观看| 亚洲一卡二卡三卡四卡无卡久久| 亚洲欧洲一区二区三区| 欧美激情一二三区| 国产日产欧产精品推荐色 | 韩日欧美一区二区三区| 污片在线观看一区二区| 亚洲国产aⅴ天堂久久| 一区二区三区在线不卡| 亚洲丝袜美腿综合| 亚洲精品欧美专区| 亚洲精品视频免费看| 亚洲女女做受ⅹxx高潮| 一区二区三区在线观看网站| 一区二区三区在线视频观看58 | 91久久精品网| 欧美在线看片a免费观看| 在线精品视频免费播放| 在线精品视频一区二区三四| 欧美午夜精品久久久久久孕妇| 欧洲一区在线电影| 欧美日韩小视频| 91精品国产91综合久久蜜臀| 日韩精品一区二区三区中文精品| 日韩欧美一级二级三级| 2017欧美狠狠色| 欧美激情综合在线| 亚洲欧洲美洲综合色网| 亚洲精品写真福利| 日本不卡中文字幕| 国内国产精品久久| 成人h精品动漫一区二区三区| 97精品国产露脸对白| 在线观看av不卡| 日韩欧美一区电影| 国产精品久久久久久久久久免费看| 国产精品久线在线观看| 一区二区理论电影在线观看| 视频一区中文字幕国产| 韩国精品久久久| 成年人国产精品| 欧美区在线观看| 久久精品人人做人人综合| 综合激情成人伊人| 免费成人结看片| 成人小视频在线观看| 欧美在线视频日韩| 久久无码av三级| 亚洲午夜激情网站| 国内欧美视频一区二区| 91丨九色丨黑人外教| 欧美一级夜夜爽| 国产精品超碰97尤物18| 日韩和欧美一区二区三区| 国产美女在线观看一区| 在线亚洲欧美专区二区| 久久亚洲欧美国产精品乐播| 亚洲精品成人天堂一二三| 看国产成人h片视频| 91在线视频网址| 欧美电视剧免费观看| 亚洲精品视频在线观看免费| 另类小说一区二区三区| 91麻豆精品在线观看| 欧美精品一区二区久久婷婷| 亚洲精品中文字幕乱码三区| 国产一区二区三区黄视频 | 99免费精品视频| 日韩视频一区二区三区在线播放| 亚洲三级在线免费观看| 韩日欧美一区二区三区| 欧美精品 日韩| 亚洲人成在线播放网站岛国| 国模冰冰炮一区二区| 在线不卡的av| 亚洲一区中文在线| 波多野结衣在线一区| 亚洲精品在线免费观看视频| 亚洲成人午夜影院| 97国产一区二区| 国产色91在线| 国产一二精品视频| 日韩欧美一卡二卡| 日韩国产欧美在线播放| 91视频你懂的| 国产精品视频免费| 国产高清不卡一区| 久久色在线观看| 久久国产精品区| 日韩欧美在线影院| 日韩中文欧美在线| 欧美男男青年gay1069videost| **性色生活片久久毛片| 成人精品免费看| 中文字幕成人网| 国产精品2024| 久久久99精品久久| 国产精品自在在线| www日韩大片| 国产成人综合网| 国产欧美一区二区精品仙草咪 | 夜夜操天天操亚洲| 欧洲精品一区二区| 亚洲一区免费视频| 欧美日韩久久久久久| 午夜精品一区二区三区免费视频 | 亚洲视频狠狠干| 99精品国产一区二区三区不卡| 亚洲国产精品传媒在线观看| 国产成人在线电影| 国产精品剧情在线亚洲| 97se亚洲国产综合自在线| 一区二区三区四区不卡视频| 在线观看日韩电影| 婷婷丁香久久五月婷婷| 日韩午夜在线影院| 国产一区二区三区精品视频| 亚洲国产精品二十页| 91欧美一区二区| 午夜精品久久久久| 日韩一区二区三区观看| 国产成人精品免费| 亚洲少妇中出一区| 在线观看91av| 激情久久五月天| 亚洲图片欧美激情| 欧美日本乱大交xxxxx| 久久99日本精品| 国产精品久久久久7777按摩| 91久久精品一区二区三| 日本亚洲最大的色成网站www| 26uuu另类欧美| 91视频精品在这里| 免费看日韩精品| 中文字幕在线观看一区| 欧美亚洲免费在线一区|