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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? usbhubcommon.h

?? 風(fēng)河的vxworks-6.3 FOR amcc440epx BSP!
?? H
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
 * Description : This will submit a blocking call to clear a port feature.
 * Parameters  : pHub                  IN   The Hub pointer.
 *               uPortIndex            IN   Port index +1 = port number
 *               Feature               IN   The feature on the hub to be set
 * Return Type : None
 ******************************************************************************/

#define USB_HUB_CLEAR_PORT_FEATURE(pHub,uPortIndex,Feature)                        \
        usbHubSubmitControlRequest(pHub,                                         \
                                 USB_PORT_TARGET_SET,                              \
                                 USB_CLEAR_FEATURE,                                \
                                 Feature,                                      \
                                 uPortIndex+1)                                 \


/*******************************************************************************
 * Macro Name  : HUB_GET_HUB_STATUS
 * Description : This will submit a blocking call to get a hub status.
 * Parameters  : pHub                  IN      The Hub pointer.
 *               pBuffer               IN OUT  The buffer to which the status is
 *                                             copied
 *               pBufferLength         IN OUT  The Length of the Buffer
 * Return Type : None
 ******************************************************************************/

#define USB_HUB_GET_STATUS(pHub,pBuffer,pBufferLength)                         \
        usbHubGetStatus(pHub, 0, USB_HUB_TARGET_GET,pBuffer,pBufferLength)           \


/*******************************************************************************
 * Macro Name  : HUB_GET_PORT_STATUS
 * Description : This will submit a blocking call to get a port status.
 * Parameters  : pHub                  IN      The Hub pointer.
 *               uPortIndex            IN      Port index +1 = port number
 *               pBuffer               IN OUT  The buffer to which the status is
 *                                             copied
 *               pBufferLength         IN OUT  The Length of the Buffer
 * Return Type : None
 ******************************************************************************/

#define USB_HUB_GET_PORT_STATUS(pHub,uPortIndex,pBuffer,pBufferLength)             \
        usbHubGetStatus(pHub, uPortIndex+1,USB_PORT_TARGET_GET,pBuffer,pBufferLength)\


/*******************************************************************************
 * Macro Name  : HUB_TIME_DIFF
 * Description : This finds the difference of time between the current
 *               frame number and a different frame number.
 * Parameters  : uCurrentFrame         IN   This is the current frame number.
 *               uLastFrame            IN   This is the last frame number.
 * Return Type : UINT16
 ******************************************************************************/

#define USB_HUB_TIME_DIFF(uCurrentFrame,uLastFrame)                                \
    ( ((uLastFrame)>(uCurrentFrame))?                                          \
    (USB_HUB_MAXIMUM_FRAME_NUMBER - (uLastFrame)+uCurrentFrame ):                  \
    (uCurrentFrame-(uLastFrame)) )                                             \


/*******************************************************************************
 * Macro Name  : HUB_BYTE_GRANULARITY
 * Description : This converts the parameter into nearest largest byte count
 *               (byte granularity form).
 * Parameters  : uNumberOfBits         IN   This is the value that has to be
 *                                          converted to byte granularity form.
 * Return Type : UINT8
 ******************************************************************************/

#define USB_HUB_BYTE_GRANULARITY(uNumberOfBits)		                               \
    ( (((UINT8)(uNumberOfBits)%8)>0)?                                          \
     (((uNumberOfBits)/8)+1): ((uNumberOfBits)/8) )                            \


/*******************************************************************************
 * Macro Name  : MARK_FOR_DELETE_PORT
 * Description : This marks the port for deletion. This takes care of reseting
 *               the global bus state if the device connected to the port is in
 *               default state
 * Parameters  : pHub            IN   pointer to the Hub
 *               pPort           IN   pointer to the port on the hub
 * Return Type : None.
 ******************************************************************************/

#define USB_MARK_FOR_DELETE_PORT(pHub,pPort)                                       \
        {                                                                      \
            /* Check if we have the bus information */                         \
            if ( (NULL != (pHub)->pBus) &                                      \
               (USB_HUB_PORT_CONFIGURED > (pPort)->StateOfPort )  &                \
               (USB_HUB_RESET_PENDING < (pPort)->StateOfPort ) )                   \
            {                                                                  \
                /* Set the bus state as no device is being configured */       \
                (pHub)->pBus->bDeviceBeingConfigured = FALSE;                  \
                if (NULL != pHub->pBus->pResetURB)                             \
                {                                                              \
                    /* Cancel Reset URB -We force this before we delete hub */  \
                    if (USB_HUB_RESET_COMPLETED > (pPort)->StateOfPort)           \
		            {                                                          \
                        if (USBHST_SUCCESS == usbHstURBCancel (pHub->pBus->pResetURB))  \
                        {                                                             \
                            /* Call the reset Callback */                               \
                            usbHubResetCallback(pHub->pBus->pResetURB);                  \
                        }                                                         \
                    }                                                             \
                }/* End of if (NULL !=.. */                                    \
                                                                               \
            } /* End of if (NULL !=.. */                                       \
                                                                               \
            (pPort)->StateOfPort = USB_MARKED_FOR_DELETION;                        \
                                                                               \
        } /* End of if ( (HUB_PORT_CONFIGURED > pPort->StateOfPort .. */       

/*******************************************************************************
 * Macro Name  : VALIDATE_DESCRIPTOR_SEQUENCE
 * Description : This validates the config descriptor
 *               Only valid descriptors Sequence is
 *               1) 0x24210 (Endpoint,AlternateInterface,
 *                           Endpoint,DefaultInterface,,Config)
 *               2) 0x00210 (Endpoint,DefaultInterface,Config)
 * Parameters  : uDescriptorSequence    IN   Value showing the descriptor
 *                                           sequence
 * Return Type : BOOLEAN
 ******************************************************************************/
#define USB_VALIDATE_DESCRIPTOR_SEQUENCE(uDescriptorSequence)                       \
    (( 0 == ((uDescriptorSequence == 0x24210) ||                                \
        (uDescriptorSequence == 0x00210 ) ) ) ? FALSE:TRUE)                     \

/* This Data Structure stores information about the hub  descriptor. */
typedef struct usb_hub_descriptor_info 
{
    UINT8   bNbrPorts;           /* The Number of Ports                       */
    UINT16  wHubCharacteristics; /* Characteristics of the hub                */
    UINT8   bPwrOn2PwrGood;      /* Time to wait before the Power is stable   */
    UINT8   bHubContrCurrent;    /* Power Requiement by the hub electronics   */
} OS_STRUCT_PACKED USB_HUB_DESCRIPTOR_INFO, * pUSB_HUB_DESCRIPTOR_INFO;

/*
 * This Data Structure stores information about the hub Status Change
 * information.
 */

/* XXX this is also defined in usb.h... This is an error! XXX SPR this. */
#if 0
typedef struct _usb_hub_status 
{
    UINT16  wHubStatus;          /* Contains the status of the hub            */
    UINT16  wHubChange;          /* Contains the change status of the hub     */
} OS_STRUCT_PACKED USB_HUB_STATUS,* pUSB_HUB_STATUS;
#endif
/*
 * This Data Structure stores information about the Port status change
 * information.
 */
typedef struct usb_hub_port_status 
{
    UINT16  wPortStatus;                  /* The port status information      */
    UINT16  wPortChange;                  /* The port status change.          */
} OS_STRUCT_PACKED USB_HUB_PORT_STATUS, * pUSB_HUB_PORT_STATUS;

/*
 * The following have been pre defined here as a method to handle cyclic
 * dependency
 */
typedef struct usb_hub_info       * pUSB_HUB_INFO;
typedef struct usb_hub_bus_info   * pUSB_HUB_BUS_INFO;
typedef struct usb_hub_port_info  * pUSB_HUB_PORT_INFO;

/*
 * This data structure holds the information about a port of a hub as to what
 * device is connected to that port. The port status is also stored in this
 * structure.
 */
typedef struct usb_hub_port_info 
{
    UINT32               uDeviceHandle;   /* Identification of the hub device */
    BOOLEAN              bDebouncePeriod; /* States if the port is in debounce*/
    BOOLEAN              bOldConnectStatus; /* previous connect status        */
    UINT16               uConnectFrame;   /* The frame num when last connected*/
    UINT8                uConnectRetry;   /* number of times connect retried  */
    pUSB_HUB_INFO            pHub;            /* pointer to the hub if this is hub*/
    USB_HUB_STATES           StateOfPort;     /* State of this port               */
} USB_HUB_PORT_INFO;

/*
 * This data structure holds the information about the BUS that is present and
 * this forms the starting point for the entire topology of the bus.
 */
typedef struct usb_hub_bus_info 
{
    UINT8         uBusHandle;             /* Identification of a Bus          */
    OS_THREAD_ID  BusManagerThreadID;     /* Thread ID of the Bus manager     */
    UINT8         uNumberOfHubEvents;     /* Number of Hub events             */
    BOOLEAN       bDeviceBeingConfigured; /* Is any device being configured   */
    UINT8         uNumberOfConfigRetries; /* Number of configuration retries  */
    UINT32        uDeviceHandle;          /* The root hub device handle       */
    UINT8         uBusSpeed;              /* Speed of the bus                 */ 
    pUSB_HUB_INFO     pRootHubInfo;           /* The pointer to root hub structure*/
    pUSBHST_URB   pResetURB;               /* pointer to the reset URB */
    struct usb_hub_bus_info *pNextBus;       /* The pointer to the next bus      */
} USB_HUB_BUS_INFO;

/*
 * This data structure holds the information about a hub and provides the
 * linking info about the devices connected to this hub.
 */
    /*
     * NOTE1: The status change bit map obtained in response to the status change
     * interrupt IN request.
     */
    /*
     * NOTE2: The pointer to the URB structure that is used for the polling of the
     * interrupt endpoint for status change bit map
     */

typedef struct usb_hub_info
{
    UINT32               uDeviceHandle;  /* Identification of the hub device  */
    UINT8        *       pStatus;        /* NOTE1:                            */
    USB_HUB_BUS_INFO   *     pBus;           /* Pointer to the bus structure      */
    UINT8                uPowerPerPort;  /* power that can be supplied to port*/
    /* The Endpoint Address where the Interrupt Pipe resides.                 */
    UINT8                uInterruptEndpointNumber;
    USB_HUB_DESCRIPTOR_INFO  HubDescriptor;  /* fields of the hub descriptor      */
    USBHST_URB           StatusChangeURB;/* NOTE2:                            */
    BOOLEAN              bURBSubmitted;  /* Denotes if the URB Was submitted  */
    UINT8                uCurrentTier;   /* USB Tier of this hub              */

    UINT8                uHubTTInfo;     /* describing the TT organization    */

    USB_HUB_STATES           StateOfHub;     /* State of this Hub              */
    USB_HUB_PORT_INFO*       pPortList[1];   /* List of pointers to ports   */
} USB_HUB_INFO;

#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* End of #ifndef __HUB_COMMON_H__ */

/**************************** End of file Hub_Common.h ************************/

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香婷婷综合五月| 欧美日韩在线不卡| 精品粉嫩aⅴ一区二区三区四区| 首页综合国产亚洲丝袜| 这里只有精品99re| 国内外成人在线| 国产清纯在线一区二区www| 国产成人午夜片在线观看高清观看| 国产欧美一区二区精品婷婷| 99re6这里只有精品视频在线观看| 亚洲精品水蜜桃| 欧美男同性恋视频网站| 激情久久久久久久久久久久久久久久 | 欧美一二三四区在线| 日本不卡一二三区黄网| 精品三级av在线| 波多野结衣一区二区三区| 亚洲人成网站色在线观看| 欧美日韩第一区日日骚| 国产麻豆视频精品| 亚洲欧美色一区| 日韩一区二区在线观看视频| 丁香桃色午夜亚洲一区二区三区| 夜夜嗨av一区二区三区四季av | 91小视频免费观看| 午夜久久久影院| 国产日韩欧美不卡在线| 欧美三级电影在线观看| 国产美女精品人人做人人爽| 亚洲女厕所小便bbb| 日韩免费看网站| 91在线观看免费视频| 久久精品国产一区二区三| 国产精品蜜臀在线观看| 51精品久久久久久久蜜臀| 国产成人福利片| 日韩高清欧美激情| 久久久天堂av| 91精品国产综合久久小美女| 99久久精品免费看国产 | 狠狠色狠狠色综合系列| 一二三四区精品视频| 精品国产第一区二区三区观看体验| 91在线观看免费视频| 国产在线视频一区二区| 亚洲3atv精品一区二区三区| 成人欧美一区二区三区在线播放| 日韩精品一区二区三区视频在线观看 | 欧美色综合影院| 成人激情开心网| 久久电影网电视剧免费观看| 亚洲成人综合视频| 日韩理论在线观看| 久久精品一区二区三区av| 欧美一区二区人人喊爽| 欧美三级中文字幕在线观看| 成人av在线资源| 国产电影一区在线| 精品影视av免费| 美女视频一区二区| 午夜视黄欧洲亚洲| 亚洲黄色尤物视频| 亚洲欧美日本韩国| 亚洲欧美另类小说视频| 国产精品私房写真福利视频| 久久久激情视频| 精品久久免费看| 日韩免费看的电影| 日韩精品一区二区三区四区| 国产亚洲成av人在线观看导航| 欧美二区三区91| 欧美精品色一区二区三区| 欧美三日本三级三级在线播放| 日本道免费精品一区二区三区| 91啦中文在线观看| 色综合一区二区| 在线精品国精品国产尤物884a| 不卡欧美aaaaa| 色哟哟一区二区在线观看| 91欧美激情一区二区三区成人| 国产高清久久久久| 粗大黑人巨茎大战欧美成人| 成人午夜又粗又硬又大| 成人黄页在线观看| 99re这里只有精品首页| 在线精品视频小说1| 欧美日韩一区中文字幕| 在线成人av网站| 2020国产成人综合网| 国产精品天干天干在观线| 亚洲日本一区二区| 亚洲成av人片一区二区梦乃| 日韩成人av影视| 国产精品一区二区在线观看不卡| 国产成人精品影视| 91在线国内视频| 欧美福利电影网| 久久精品免费在线观看| 亚洲色图清纯唯美| 日本欧美一区二区三区乱码| 久久99精品一区二区三区三区| 懂色av中文一区二区三区 | 国模娜娜一区二区三区| 国产成人精品一区二区三区四区 | 91福利区一区二区三区| 69堂成人精品免费视频| 久久亚洲一级片| 亚洲精品午夜久久久| 久久精品国产亚洲高清剧情介绍 | 久久99久久精品| 99免费精品在线| 欧美高清www午色夜在线视频| 久久久久久久免费视频了| 亚洲免费资源在线播放| 日本强好片久久久久久aaa| 成人小视频免费在线观看| 欧美日韩日本视频| 国产人成亚洲第一网站在线播放 | 日本免费在线视频不卡一不卡二| 国产精品1区2区| 欧美视频精品在线观看| 亚洲欧美另类图片小说| 亚洲国产日韩一区二区| 国产精品一卡二卡| 欧美日韩成人一区| 国产无遮挡一区二区三区毛片日本| 亚洲一区二区免费视频| 国产电影精品久久禁18| 91麻豆精品国产| 亚洲日韩欧美一区二区在线| 精品在线一区二区三区| 欧美影片第一页| 中文字幕中文乱码欧美一区二区| 无码av免费一区二区三区试看 | 午夜精品福利在线| 国产九色sp调教91| 欧美人伦禁忌dvd放荡欲情| 国产精品久久三区| 韩国成人精品a∨在线观看| 欧美日韩二区三区| 色菇凉天天综合网| 久久久国产精华| 美国欧美日韩国产在线播放| 91丨porny丨首页| 欧美福利视频导航| 亚洲午夜成aⅴ人片| 成人福利视频在线看| 国产亚洲综合性久久久影院| 欧美a一区二区| 欧美日韩一区二区在线观看视频 | 91精品欧美一区二区三区综合在| 亚洲三级免费电影| 99久久精品一区| 中文字幕 久热精品 视频在线| 久久激情综合网| 日韩欧美黄色影院| 免费成人美女在线观看| 欧美一区二区高清| 蜜臀av性久久久久av蜜臀妖精| 欧美日韩视频在线观看一区二区三区| 亚洲欧美日韩小说| 91福利国产精品| 亚洲专区一二三| 欧美亚洲综合一区| 亚洲www啪成人一区二区麻豆 | gogogo免费视频观看亚洲一| 国产精品久久一级| 91美女蜜桃在线| 怡红院av一区二区三区| 在线观看不卡一区| 亚洲一区二区av电影| 欧美性猛交xxxx黑人交| 亚洲福利视频一区二区| 欧美麻豆精品久久久久久| 欧美aaaaaa午夜精品| 精品国产青草久久久久福利| 经典一区二区三区| 国产欧美日韩中文久久| 99久久久精品| 亚洲午夜激情av| 欧美一二三区在线观看| 国产伦精品一区二区三区视频青涩| 久久久91精品国产一区二区三区| 国产福利91精品| 日本一不卡视频| 精品久久久久久最新网址| 国产在线国偷精品产拍免费yy| 久久中文字幕电影| 成人高清视频在线观看| 亚洲精品一卡二卡| 欧美精品vⅰdeose4hd| 久久成人精品无人区| 欧美激情一区二区三区不卡 | 宅男在线国产精品| 精品一区二区三区不卡| 国产精品人妖ts系列视频| 欧美在线free| 国产自产视频一区二区三区| ●精品国产综合乱码久久久久| 欧美三级资源在线|