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

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

?? usrusbtool.c

?? T2.0 USB driver.rar T2.0 USB driver.rar
?? C
?? 第 1 頁 / 共 5 頁
字號:
/* usrUsbTool.c - USB Driver (USBD) and USB HCD Exerciser. *//* Copyright 2000 Wind River Systems, Inc. *//*Modification history--------------------01m,16sep00,wef  changed all device component names to have _USB_ in them01l,12apr00,wef  reverted to older version of usrUsbTool.c01k,07mar00,rcb  Add casts to convert GENERIC_HANDLEs to UINT32 where necesary.01j,29jan00,wef  made usbTool in to a component configlette01i,17jan00,rcb  Add functions to test usbSpeakerLib.01h,29nov99,rcb  Increase frame number fields to 32-bits in 		 cmdGetCurrentFrame().01g,23nov99,rcb  Added "Attach" and "Detach" commands to control attach/detach		 of UHCI or OHCI HCD modules.  Removed automatic attachment		 from "UsbInit" command.01f,23nov99,rcb  Change #include ../xxx references to lower case.01e,12nov99,rcb  Shorted path names...affects "#include" directives.01d,07oct99,rcb  Add code to test usbMouseLib.c.01c,04oct99,rcb  Add "dump" command.01b,24sep99,rcb  Add "print" function to dump files to printer.01a,01jun99,rcb  First.*//*DESCRIPTIONusbTool is a command line-driven program which allows the user to exerciseUSB capabilities through the USB Driver (USBD) and USB HCD (Host ControllerDriver).  In the vxWorks environment, the user starts usbTool by invoking the "usbTool"entry point from the vxWorks shell. usbTool then displays a prompt:    USB>The user may now enter commands which will be parsed and executed by usbTool.Each command follows the format:    USB>command [optional parameter(s)]Commands are executed after the user presses [enter].  The user may enter the "help" or "?" commands to see a list of currently supported commands.Multiple commands may be entered on the same command line separated by semicolons (';').  usbTool which execute each command as if it had been entered on a separate line (unless a command terminates with an error, in which case all remaining commands entered on the same line will be ignored).The "quit"/"exit"/"bye" command terminates usbTool.*//* Include files */#include "stdio.h"#include "stdlib.h"#include "string.h"#include "ioLib.h"#include "ctype.h"#include "usb/usbPlatform.h"		    /* Basic definitions */#include "usb/tools/cmdParser.h"	    /* Command parser util funcs */#include "usb/usbPciLib.h"		    /* PCI interface */#include "usb/usbdLib.h"		    /* USBD interface */#ifdef INCLUDE_UHCI    #include "drv/usb/usbUhci.h"		/* UHCI definitions */    #include "drv/usb/usbHcdUhciLib.h"		/* UHCI HCD entry point, etc. */#endif#ifdef INCLUDE_OHCI    #include "drv/usb/usbOhci.h"		/* OHCI definitions */    #include "drv/usb/usbHcdOhciLib.h"		/* OHCI HCD entry point, etc. */#endif#include "usb/usbHid.h" 		    /* USB HID definitions */#ifdef INCLUDE_USB_KEYBOARD    #include "drv/usb/usbKeyboardLib.h" 	/* USB keyboard SIO driver */#endif#ifdef INCLUDE_USB_MOUSE    #include "drv/usb/usbMouseLib.h"		/* USB mouse SIO driver */#endif#ifdef INCLUDE_USB_PRINTER    #include "usb/usbPrinter.h"    #include "drv/usb/usbPrinterLib.h"		/* USB printer SIO driver */#endif#ifdef INCLUDE_USB_SPEAKER    #include "usb/tools/wavFormat.h"		/* Microsoft .wav file format */    #include "usb/usbAudio.h"			/* USB audio definitions */    #include "drv/usb/usbSpeakerLib.h"		/* USB speaker SEQ_DEV driver */#endif#ifdef INCLUDE_USB_TARG    #include "usb/target/usbTargLib.h"		/* USB target library */    #include "drv/usb/target/usbPdiusbd12Eval.h"    /* Philips target eval */    #include "drv/usb/target/usbTcdPdiusbd12EvalLib.h"	    /* Philips TCD */    #include "drv/usb/target/usbTargPhilipsD12EvalLib.h"    /* Philips eval target */    #include "drv/usb/target/usbTargKbdLib.h"	/* USB keyboard emulator */    #include "drv/usb/target/usbTargPrnLib.h"	/* USB printer emulator */#endif/* defines */#define PGM_NAME	"usbTool"#define PGM_DESCR	"USB exerciser"#define PGM_VERSION	"01e"#define PGM_COPYRIGHT	"Copyright (c) 2001, Wind River Systems, Inc.\n"/* Prompt definition */#define PROMPT		"usb>"		/* Program prompt */#define INDENT		2		/* indent used during bus enumerate *//* misc defines */#define INT_PIPE_SRVC_INTERVAL	    20	/* milliseconds */#define CTRL_Z			    26	/* ASCI code for ^Z */#define MAX_MFG_STR_LEN 	    30#define MAX_PROD_STR_LEN	    30#define TX_BFR_SIZE		    0x1000#define AUDIO_BFR_SIZE		    0x8000/* locals */#ifdef	INCLUDE_USBLOCAL BOOL initialized = FALSE;LOCAL USBD_CLIENT_HANDLE usbdClientHandle = NULL;LOCAL GENERIC_HANDLE uhciAttachToken = NULL;LOCAL GENERIC_HANDLE ohciAttachToken = NULL;LOCAL BOOL enterPressed;LOCAL BOOL irpCallbackInvoked;#endif#ifdef	INCLUDE_USB_PRINTERLOCAL BOOL patternTest;LOCAL UINT32 txCharCount;	/* count of chars to "print" */LOCAL UINT16 nextCharVal;	/* next value for pattern test */LOCAL FILE *txFile = NULL;	/* file being "printed" */LOCAL char txBfr [TX_BFR_SIZE]; /* Working buffer */LOCAL UINT16 txBfrCount;	/* count of chars in working bfr */LOCAL UINT16 txBfrIndex;	/* ptr to next char in bfr */#endif#ifdef	INCLUDE_USB_TARGLOCAL BOOL targInit = FALSE;LOCAL USB_TARG_CHANNEL targChannel = NULL;LOCAL UINT16 numEndpoints = 0;LOCAL pUSB_TARG_ENDPOINT_INFO pEndpoints = NULL;LOCAL BOOL targEnable = FALSE;#endif	/* #ifdef INCLUDE_USB_TARG */#ifdef INCLUDE_USB/*************************************************************************** cmdUsbInit - Initialize USBD** RETURNS:  RET_CONTINUE*/LOCAL UINT16 cmdUsbInit    (    pVOID Param,		/* Generic parameter passed down */    char **ppCmd,		/* Ptr to remainder of cmd line */    FILE *fin,			/* stream for input (if any) */    FILE *fout			/* stream for output (if any) */    )    {    UINT16 usbdVersion;    char usbdMfg [USBD_NAME_LEN+1];    UINT16 s;    /* if already initialized, just show a warning */    if (initialized)	{	fprintf (fout, "Already initialized.\n");	return RET_CONTINUE;	}    /* Initialize the USBD */    s = usbdInitialize ();    fprintf (fout, "usbdInitialize() returned %d\n", s);    if (s == OK)	{	/* Register ourselves with the USBD */	s = usbdClientRegister (PGM_NAME, &usbdClientHandle);	fprintf (fout, "usbdClientRegister() returned %d\n", s);	if (s == OK)	    {		    fprintf (fout, "usbdClientHandle = 0x%x\n", (UINT32) usbdClientHandle);	    /* Display the USBD version */	    if ((s = usbdVersionGet (&usbdVersion, usbdMfg)) != OK)		{		fprintf (fout, "usbdVersionGet() returned %d\n", s);		}	    else		{		fprintf (fout, "USBD version = 0x%4.4x\n", usbdVersion);		fprintf (fout, "USBD mfg = '%s'\n", usbdMfg);		}	    if (s == OK)		initialized = TRUE;	    }	}        if (s != OK) 	{	fprintf (fout, "initialization failed\n");	}    return RET_CONTINUE;    }/*************************************************************************** cmdUsbDown - Shut down USBD** RETURNS:  RET_CONTINUE*/LOCAL UINT16 cmdUsbDown    (    pVOID Param,		/* Generic parameter passed down */    char **ppCmd,		/* Ptr to remainder of cmd line */    FILE *fin,			/* stream for input (if any) */    FILE *fout			/* stream for output (if any) */    )    {    UINT16 s;    initialized = FALSE;    uhciAttachToken = ohciAttachToken = NULL;    /* Unregister our client */    if (usbdClientHandle == NULL)	{	fprintf (fout, "usbdClientHandle == NULL.  not registered\n");	}    else	{	s = usbdClientUnregister (usbdClientHandle);	usbdClientHandle = NULL;	fprintf (fout, "usbdClientUnregister() returned %d\n", s);	}    /* shut down USBD */    s = usbdShutdown ();    fprintf (fout, "usbdShutdown() returned %d\n", s);    return RET_CONTINUE;    }/*************************************************************************** getHcdType - Determines type of HCD specified by caller** RETURNS: N/A*/LOCAL VOID getHcdType    (    char **ppCmd,		/* Ptr to remainder of cmd line */    FILE *fout, 		/* stream for output (if any) */    HCD_EXEC_FUNC *execFunc,	/* pointer to HCD exec func */    GENERIC_HANDLE **ppHandle,	/* pointer to generic handle pointer */    pUINT8 pPciClass,		/* pointer to pci class var */    pUINT8 pPciSubclass,	/* pointer to pci subclass var */    pUINT8 pPciPgmIf,		/* pointer to pci pgmif var */    char **ppHcdName		/* pointer to name string var */    )    {    char hcdName [32];    /* Get HCD type */    *ppCmd = GetNextToken (*ppCmd, hcdName, sizeof (hcdName));    if (KeywordMatch (hcdName, "uhci", 4) == 0)	{#ifdef INCLUDE_UHCI	*execFunc = usbHcdUhciExec;	*ppHandle = &uhciAttachToken;	*pPciClass = UHCI_CLASS;	*pPciSubclass = UHCI_SUBCLASS;	*pPciPgmIf = UHCI_PGMIF;	*ppHcdName = "UHCI";#else        fprintf (fout, "UHCI Component Not Included.\n");        *execFunc = NULL;#endif	}    else if (KeywordMatch (hcdName, "ohci", 4) == 0)	{#ifdef INCLUDE_OHCI	*execFunc = usbHcdOhciExec;	*ppHandle = &ohciAttachToken;	*pPciClass = OHCI_CLASS;	*pPciSubclass = OHCI_SUBCLASS;	*pPciPgmIf = OHCI_PGMIF;	*ppHcdName = "OHCI";#else        fprintf (fout, "OHCI Component Not Included.\n");        *execFunc = NULL;#endif	}    else	{	fprintf (fout, "Must specify HCD type as 'uhci' or 'ohci'.\n");	*execFunc = NULL;	}    return;    }/*************************************************************************** cmdAttach - Attaches HCD to USBD** RETURNS:  RET_CONTINUE*/LOCAL UINT16 cmdAttach    (    pVOID Param,		/* Generic parameter passed down */    char **ppCmd,		/* Ptr to remainder of cmd line */    FILE *fin,			/* stream for input (if any) */    FILE *fout			/* stream for output (if any) */    )    {    HCD_EXEC_FUNC execFunc;    GENERIC_HANDLE *pToken;    UINT8 pciClass;    UINT8 pciSubclass;    UINT8 pciPgmIf;    char *hcdName;    UINT8 busNo;    UINT8 deviceNo;    UINT8 funcNo;    PCI_CFG_HEADER pciCfgHdr;    UINT16 s;        getHcdType (ppCmd, fout, &execFunc, &pToken, &pciClass, &pciSubclass,	&pciPgmIf, &hcdName);    if (execFunc != NULL)	{	if (*pToken != NULL)	    {	    fprintf (fout, "%s already attached.\n", hcdName);	    return RET_CONTINUE;	    }	/* Find an instance of a USB host controller */	if (!usbPciClassFind (pciClass, pciSubclass, pciPgmIf, 0, 	    &busNo, &deviceNo, &funcNo))	    {	    fprintf (fout, "No %s host controller found.\n", hcdName);	    return RET_CONTINUE;	    }	usbPciConfigHeaderGet (busNo, deviceNo, funcNo, &pciCfgHdr);	/* Attach the UHCI HCD to the USBD. */	s = usbdHcdAttach (execFunc, &pciCfgHdr, pToken);	fprintf (fout, "usbdHcdAttach() returned %d\n", s);	if (s == OK)	    {	    fprintf (fout, "AttachToken = 0x%x\n", (UINT32) *pToken);	    }	}    return RET_CONTINUE;    }/*************************************************************************** cmdDetach - Detaches HCD from USBD** RETURNS:  RET_CONTINUE*/LOCAL UINT16 cmdDetach    (    pVOID Param,		/* Generic parameter passed down */    char **ppCmd,		/* Ptr to remainder of cmd line */    FILE *fin,			/* stream for input (if any) */    FILE *fout			/* stream for output (if any) */    )    {    HCD_EXEC_FUNC execFunc;    GENERIC_HANDLE *pToken;    UINT8 pciClass;    UINT8 pciSubclass;    UINT8 pciPgmIf;    char *hcdName;    UINT16 s;    getHcdType (ppCmd, fout, &execFunc, &pToken, &pciClass, &pciSubclass,	&pciPgmIf, &hcdName);    if (execFunc != NULL)	{	/* Detach the HCD */	if (*pToken == NULL)	    {	    fprintf (fout, "%s not attached.\n", hcdName);	    }	else	    {	    fprintf (fout, "Detaching %s HCD.\n", hcdName);	    s = usbdHcdDetach (*pToken);	    *pToken = NULL;	    fprintf (fout, "usbdHcdDetach() returned %d\n", s);	    }	}    return RET_CONTINUE;    }/***************************************************************************** showUsbString - reads a string descriptor and displays it** RETURNS: N/A*/LOCAL VOID showUsbString    (    USBD_CLIENT_HANDLE clientHandle,    USBD_NODE_ID nodeId,    FILE *fout,    UINT8 stringId,    UINT16 maxLen    )    {    UINT8 bfr [USB_MAX_DESCR_LEN];    pUSB_STRING_DESCR pString = (pUSB_STRING_DESCR) bfr;    UINT16 actLen;    UINT16 i;    char c;    /* Read device descriptor to get string Ids for mfg/model */    if (usbdDescriptorGet (clientHandle, nodeId,	USB_RT_STANDARD | USB_RT_DEVICE, USB_DESCR_STRING, stringId, 0,	sizeof (bfr), (pUINT8) &bfr, &actLen) != OK)	{	fprintf (fout, "<<can't read string>>");	return;	}    for (i = 0; i + 2 < actLen && i < maxLen * 2; i += 2)	{	c = pString->string [i];	fprintf (fout, "%c", (isprint ((int) c)) ? c : '_');	}    if (i + 2 < actLen)	fprintf (fout, "...");    }/***************************************************************************** showMfgModel - Display mfg/model strings for a USB device** RETURNS: N/A*/LOCAL VOID showMfgModel    (    USBD_CLIENT_HANDLE clientHandle,    USBD_NODE_ID nodeId,    FILE *fout    )    {    USB_DEVICE_DESCR devDescr;    UINT16 actLen;    /* Read device descriptor to get string Ids for mfg/model */    if (usbdDescriptorGet (clientHandle, nodeId,	USB_RT_STANDARD | USB_RT_DEVICE, USB_DESCR_DEVICE, 0, 0,	sizeof (devDescr), (pUINT8) &devDescr, &actLen) != OK ||	actLen < sizeof (devDescr))	return;    if (devDescr.manufacturerIndex != 0 || devDescr.productIndex != 0)	fprintf (fout, " = ");    if (devDescr.manufacturerIndex != 0)	{	showUsbString (clientHandle, nodeId, fout, devDescr.manufacturerIndex,	    MAX_MFG_STR_LEN);	fprintf (fout, "/");	}    if (devDescr.productIndex != 0)	{	showUsbString (clientHandle, nodeId, fout, devDescr.productIndex,	    MAX_PROD_STR_LEN);	}    }/***************************************************************************** HubEnumerate - Enumerate all ports on the specified hub* * This routine enumerates all devices from the specified HubId down.

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区在线观看免费视频 | 免费在线视频一区| 91精品欧美福利在线观看| 久久er99热精品一区二区| 中文字幕 久热精品 视频在线 | 成人av免费在线观看| 亚洲福利视频一区二区| 精品国产一区二区三区av性色| 99久久久精品| 香蕉加勒比综合久久| 国产区在线观看成人精品| 国产一区二三区| 亚洲一区二区不卡免费| 久久人人爽人人爽| 欧美日韩色综合| 色婷婷综合久久久中文字幕| 成人综合婷婷国产精品久久| 九色综合国产一区二区三区| 日韩在线播放一区二区| 一区二区三区日韩精品| 国产精品毛片久久久久久| 久久综合九色欧美综合狠狠| 日韩欧美电影一区| 欧美军同video69gay| 欧美午夜精品理论片a级按摩| 99久久伊人久久99| 大胆欧美人体老妇| 国产精品1区二区.| 国产精品香蕉一区二区三区| 久久99热国产| 精品一区二区三区在线观看国产| 日韩av中文在线观看| 亚洲mv大片欧洲mv大片精品| 亚洲国产一二三| 亚洲精品乱码久久久久久日本蜜臀| 亚洲欧洲日韩一区二区三区| 国产精品卡一卡二卡三| 国产精品美女久久久久久久| 中文字幕成人在线观看| 欧美激情综合网| 国产精品国产馆在线真实露脸| 欧美国产一区在线| 亚洲欧洲日韩一区二区三区| 最新日韩在线视频| 一区二区三区电影在线播| 亚洲综合久久久久| 视频一区在线播放| 蜜臀va亚洲va欧美va天堂| 美女性感视频久久| 国产一区二区三区久久久| 国产激情偷乱视频一区二区三区| 风间由美中文字幕在线看视频国产欧美 | 欧美一二三四区在线| 亚洲第一主播视频| 五月婷婷欧美视频| 麻豆91精品视频| 国产成人综合网| 91视频www| 欧美精选一区二区| 精品国产一区二区三区久久影院| 国产欧美综合在线观看第十页 | 亚洲一级二级三级| 蜜桃一区二区三区在线| 国产成人综合视频| 91色视频在线| 宅男噜噜噜66一区二区66| 欧美大黄免费观看| 国产精品免费看片| 香蕉久久夜色精品国产使用方法| 久久99精品国产麻豆婷婷洗澡| 成熟亚洲日本毛茸茸凸凹| 日本乱人伦aⅴ精品| 日韩欧美美女一区二区三区| 中文字幕第一区第二区| 亚洲成人黄色影院| 国产曰批免费观看久久久| 色婷婷激情一区二区三区| 91精品国产91久久综合桃花| 欧美激情综合在线| 五月天亚洲精品| 国产69精品久久777的优势| 欧美中文字幕不卡| 国产亚洲女人久久久久毛片| 亚洲国产毛片aaaaa无费看| 国内一区二区视频| 欧美三级欧美一级| 亚洲va韩国va欧美va精品| 国产mv日韩mv欧美| 欧美日韩的一区二区| 国产三区在线成人av| 亚洲午夜羞羞片| 不卡影院免费观看| 91麻豆精品91久久久久同性| 国产女人18毛片水真多成人如厕| 亚洲国产精品一区二区久久恐怖片 | 亚洲女与黑人做爰| 国产资源在线一区| 欧美日韩一区 二区 三区 久久精品| 久久无码av三级| 亚洲成av人**亚洲成av**| 岛国av在线一区| 精品日韩99亚洲| 亚洲成av人影院在线观看网| www.亚洲色图| 欧美精品一区二区蜜臀亚洲| 视频在线观看一区二区三区| av毛片久久久久**hd| 久久一区二区三区国产精品| 日韩综合小视频| 91浏览器在线视频| 国产精品天干天干在观线| 精品亚洲国内自在自线福利| 欧美美女黄视频| 亚洲最新在线观看| 99国产精品99久久久久久| 国产日产欧美一区| 久久成人免费电影| 3d动漫精品啪啪1区2区免费| 亚洲一区二区精品3399| 91在线码无精品| 中文字幕一区二区5566日韩| 国产精品66部| 国产日产欧美一区| 国产精品正在播放| 久久午夜老司机| 国产尤物一区二区| 日韩欧美成人激情| 美女视频网站久久| 欧美一区二区精品| 日韩电影在线免费| 这里只有精品99re| 奇米一区二区三区| 日韩免费视频一区| 麻豆精品在线观看| 精品国产1区二区| 精品一区二区三区的国产在线播放| 日韩欧美一区中文| 久久99精品一区二区三区| 91精品国产高清一区二区三区蜜臀 | 日韩一区在线播放| 99re66热这里只有精品3直播| 亚洲欧美激情插| 欧美视频精品在线观看| 亚洲一级电影视频| 欧美一区二区在线播放| 久久av老司机精品网站导航| 久久蜜桃av一区精品变态类天堂 | 日韩精品亚洲专区| 欧美一区二区三区小说| 欧美亚洲自拍偷拍| 亚洲一区二区3| 欧美精品色一区二区三区| 日韩福利视频导航| 久久一区二区三区国产精品| 国产v综合v亚洲欧| 亚洲私人影院在线观看| 欧美色图免费看| 麻豆成人久久精品二区三区红| 精品日韩av一区二区| 成人激情小说乱人伦| 亚洲国产aⅴ成人精品无吗| 在线成人av网站| 黄网站免费久久| 中文字幕五月欧美| 欧美日韩一区不卡| 国产专区综合网| 亚洲六月丁香色婷婷综合久久| 欧美日韩国产成人在线免费| 久久99国产精品麻豆| 亚洲欧美中日韩| 欧美三级在线播放| 国产精品一线二线三线| 亚洲精品亚洲人成人网在线播放| 制服丝袜亚洲精品中文字幕| 国产麻豆成人传媒免费观看| 亚洲激情五月婷婷| 日韩欧美一区电影| 99久久er热在这里只有精品66| 日韩国产欧美一区二区三区| 日本一区二区三区四区在线视频 | 亚洲国产三级在线| 久久久激情视频| 欧美日韩精品福利| 懂色av一区二区夜夜嗨| 午夜精彩视频在线观看不卡| 久久久久久99久久久精品网站| 色丁香久综合在线久综合在线观看| 美女精品一区二区| 亚洲免费视频成人| 久久婷婷国产综合国色天香| 欧美亚洲一区二区三区四区| 国产成人综合在线播放| 午夜一区二区三区视频| 国产精品电影一区二区三区| 欧美一卡2卡3卡4卡| 色呦呦国产精品| 国产成人啪午夜精品网站男同| 天天影视色香欲综合网老头| 亚洲视频在线一区| 国产欧美日韩视频在线观看|