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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? usrusbtool.c

?? sl811hs_vxworks_host_driver_v1_0_13 sl811的主驅動
?? C
?? 第 1 頁 / 共 5 頁
字號:

LOCAL UINT16 cmdGetStatus
    (
    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) */
    )

    {
    long nodeId;
    long statusType;
    long index;
    long length;
    UINT8 bfr [256];
    UINT16 actLen;
    UINT16 s;

    /* Extract parameters. */

    *ppCmd = GetHexToken (*ppCmd, &nodeId, -1);
    *ppCmd = GetHexToken (*ppCmd, &statusType, -1);
    *ppCmd = GetHexToken (*ppCmd, &index, -1);
    *ppCmd = GetHexToken (*ppCmd, &length, -1);


    /* Validate parameters */

    if (nodeId == -1 || statusType == -1 || index == -1 || length == -1)
	{
	fprintf (fout, "Must specify a node id, status type, and index.\n");
	return RET_CONTINUE;
	}

    if (length > sizeof (bfr))
	{
	fprintf (fout, "length must be 0x%x or less.\n", 
	    (unsigned int) sizeof (bfr));
	return RET_CONTINUE;
	}


    /* Execute function. */

    if ((s = usbdStatusGet (usbdClientHandle, (GENERIC_HANDLE) nodeId, statusType, index, 
	length, bfr, &actLen)) != OK)
	fprintf (fout, "usbdStatusGet() returned %d\n", s);
    else
	{
	fprintf (fout, "actLen = 0x%x (%d) bytes\n", actLen, actLen);
	displayMem (actLen, bfr, fout);
	}

    return RET_CONTINUE;
    }


/*************************************************************************
*
* cmdGetAddress - get USB address for a node
*
* RETURNS:  RET_CONTINUE;
*/

LOCAL UINT16 cmdGetAddress
    (
    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) */
    )

    {
    long nodeId;
    UINT16 address;
    UINT16 s;

    /* Extract parameters. */

    *ppCmd = GetHexToken (*ppCmd, &nodeId, -1);


    /* Validate parameters */

    if (nodeId == -1)
	{
	fprintf (fout, "Must specify a node id.\n");
	return RET_CONTINUE;
	}


    /* Execute function. */

    if ((s = usbdAddressGet (usbdClientHandle, (GENERIC_HANDLE) nodeId, &address))
	!= OK)
	fprintf (fout, "usbdAddressGet() returned %d\n", s);
    else
	fprintf (fout, "current address = 0x%x\n", address);


    return RET_CONTINUE;
    }


/*************************************************************************
*
* cmdSetAddress - set USB address for a node
*
* RETURNS:  RET_CONTINUE;
*/

LOCAL UINT16 cmdSetAddress
    (
    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) */
    )

    {
    long nodeId;
    long address;
    UINT16 s;

    /* Extract parameters. */

    *ppCmd = GetHexToken (*ppCmd, &nodeId, -1);
    *ppCmd = GetHexToken (*ppCmd, &address, -1);


    /* Validate parameters */

    if (nodeId == -1 || address == -1)
	{
	fprintf (fout, "Must specify a node id and address value.\n");
	return RET_CONTINUE;
	}


    /* Execute function. */

    s = usbdAddressSet (usbdClientHandle, (GENERIC_HANDLE) nodeId, (UINT16) address);
    fprintf (fout, "usbdAddressnSet() returned %d\n", s);

    return RET_CONTINUE;
    }


/*************************************************************************
*
* cmdSetFeature - set a USB feature
*
* RETURNS:  RET_CONTINUE;
*/

LOCAL UINT16 cmdSetFeature
    (
    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) */
    )

    {
    long nodeId;
    long featureType;
    long feature;
    long index;
    UINT16 s;

    /* Extract parameters. */

    *ppCmd = GetHexToken (*ppCmd, &nodeId, -1);
    *ppCmd = GetHexToken (*ppCmd, &featureType, -1);
    *ppCmd = GetHexToken (*ppCmd, &feature, -1);
    *ppCmd = GetHexToken (*ppCmd, &index, -1);


    /* Validate parameters */

    if (nodeId == -1 || featureType == -1 || feature == -1 || index == -1)
	{
	fprintf (fout, "Must specify a node id, feature type, selector, and index.\n");
	return RET_CONTINUE;
	}


    /* Execute function. */

    s = usbdFeatureSet (usbdClientHandle, (GENERIC_HANDLE) nodeId, featureType, feature, index);
    fprintf (fout, "usbdFeatureSet() returned %d\n", s);

    return RET_CONTINUE;
    }


/*************************************************************************
*
* cmdClrFeature - clear a USB feature
*
* RETURNS:  RET_CONTINUE;
*/

LOCAL UINT16 cmdClrFeature
    (
    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) */
    )

    {
    long nodeId;
    long featureType;
    long feature;
    long index;
    UINT16 s;

    /* Extract parameters. */

    *ppCmd = GetHexToken (*ppCmd, &nodeId, -1);
    *ppCmd = GetHexToken (*ppCmd, &featureType, -1);
    *ppCmd = GetHexToken (*ppCmd, &feature, -1);
    *ppCmd = GetHexToken (*ppCmd, &index, -1);


    /* Validate parameters */

    if (nodeId == -1 || featureType == -1 || feature == -1 || index == -1)
	{
	fprintf (fout, "Must specify a node id, feature type, selector, and index.\n");
	return RET_CONTINUE;
	}


    /* Execute function. */

    s = usbdFeatureClear (usbdClientHandle, (GENERIC_HANDLE) nodeId, featureType, feature, index);
    fprintf (fout, "usbdFeatureClear() returned %d\n", s);

    return RET_CONTINUE;
    }


/*************************************************************************
*
* cmdGetDescr - retrieve a USB descriptor
*
* RETURNS:  RET_CONTINUE;
*/

LOCAL UINT16 cmdGetDescr
    (
    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) */
    )

    {
    long nodeId;
    long requestType;
    long descriptorType;
    long index;
    long languageId;
    long length;
    UINT8 bfr [256];
    UINT16 actLen;
    UINT16 s;

    /* Extract parameters. */

    *ppCmd = GetHexToken (*ppCmd, &nodeId, -1);
    *ppCmd = GetHexToken (*ppCmd, &requestType, -1);
    *ppCmd = GetHexToken (*ppCmd, &descriptorType, -1);
    *ppCmd = GetHexToken (*ppCmd, &index, -1);
    *ppCmd = GetHexToken (*ppCmd, &languageId, -1);
    *ppCmd = GetHexToken (*ppCmd, &length, -1);


    /* Validate parameters */

    if (nodeId == -1 || requestType == -1 || descriptorType == -1 || index == -1 
	|| languageId == -1 || length == -1)
	{
	fprintf (fout, "Must specify a node id, descr. type, index, language, and length.\n");
	return RET_CONTINUE;
	}

    if (length > sizeof (bfr))
	{
	fprintf (fout, "length must be 0x%x or less.\n", 
	    (unsigned int) sizeof (bfr));
	return RET_CONTINUE;
	}


    /* Execute function. */

    s = usbdDescriptorGet (usbdClientHandle, (GENERIC_HANDLE) nodeId, requestType, 
	descriptorType, index, languageId, length, bfr, &actLen);

    if (s != OK)
	fprintf (fout, "usbdDescriptorGet() returned %d\n", s);
    else
	{
	fprintf (fout, "actLen = 0x%x (%d) bytes\n", actLen, actLen);
	displayMem (actLen, bfr, fout);
	}

    return RET_CONTINUE;
    }


/*************************************************************************
*
* cmdGetSynchFrame - retrieve current synch frame from a device endpoint
*
* RETURNS:  RET_CONTINUE;
*/

LOCAL UINT16 cmdGetSynchFrame
    (
    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) */
    )

    {
    long nodeId;
    long endpoint;
    UINT16 synchFrame;
    UINT16 s;

    /* Extract parameters. */

    *ppCmd = GetHexToken (*ppCmd, &nodeId, -1);
    *ppCmd = GetHexToken (*ppCmd, &endpoint, -1);


    /* Validate parameters */

    if (nodeId == -1 || endpoint == -1)
	{
	fprintf (fout, "Must specify a node id and endpoint.\n");
	return RET_CONTINUE;
	}


    /* Execute function. */

    if ((s = usbdSynchFrameGet (usbdClientHandle, (GENERIC_HANDLE) nodeId, endpoint, 
	&synchFrame)) != OK)
	fprintf (fout, "usbdSynchFrameGet() returned %d\n", s);
    else
	fprintf (fout, "synch frame = 0x%4.4x\n", FROM_LITTLEW (synchFrame));

    return RET_CONTINUE;
    }


/*************************************************************************
*
* cmdGetCurrentFrame - retrieve current frame for a USB
*
* RETURNS:  RET_CONTINUE
*/

LOCAL UINT16 cmdGetCurrentFrame
    (
    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) */
    )

    {
    long nodeId;
    UINT32 frameNo;
    UINT32 frameWindow;
    UINT16 s;

    /* Extract parameters. */

    *ppCmd = GetHexToken (*ppCmd, &nodeId, -1);


    /* Validate parameters */

    if (nodeId == -1)
	{
	fprintf (fout, "Must specify a node id.\n");
	return RET_CONTINUE;
	}


    /* Execute function. */

    if ((s = usbdCurrentFrameGet (usbdClientHandle, (GENERIC_HANDLE) nodeId, 
	&frameNo, &frameWindow)) != OK)
	fprintf (fout, "usbdCurrentFrameGet() returned %d\n", s);
    else
	{
	fprintf (fout, "frame number = %ld\n", (long) frameNo);
	fprintf (fout, "frame window = %ld\n", (long) frameWindow);
	}

    return RET_CONTINUE;
    }


/*************************************************************************
*
* enterThread - waits for user to press [enter]
*
* RETURNS:  N/A
*/

LOCAL VOID enterThread
    (
    pVOID param
    )

    {
    FILE *fout = (FILE *) param;
    char bfr [256];

    fprintf (fout, "Press [enter] to terminate polling.\n");
    gets (bfr);
    enterPressed = TRUE;
    }


/*************************************************************************
*
* irpCallback - called when IRP completes
*
* RETURNS:  N/A
*/

LOCAL VOID irpCallback
    (
    pVOID pIrp
    )

    {
    irpCallbackInvoked = TRUE;
    }


/*************************************************************************
*
* cmdIntPoll - polls interrupt endpoint for input
*
* Continuously reads IN packets from interrupt endpoint until key 
* pressed.
*
* RETURNS:  RET_CONTINUE
*/

LOCAL UINT16 cmdIntPoll
    (
    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) */
    )

    {
    THREAD_HANDLE thread;
    long nodeId;
    long endpoint;
    long length;
    USBD_PIPE_HANDLE handle;
    char bfr [256];
    USB_IRP irp;
    UINT16 s;

    /* Extract parameters. */

    *ppCmd = GetHexToken (*ppCmd, &nodeId, -1);
    *ppCmd = GetHexToken (*ppCmd, &endpoint, -1);
    *ppCmd = GetHexToken (*ppCmd, &length, USB_MIN_CTRL_PACKET_SIZE);


    /* Validate parameters */

    if (nodeId == -1 || endpoint == -1)
	{
	fprintf (fout, "Must specify a node id and endpoint.\n");
	return RET_CONTINUE;
	}

    if (length > sizeof (bfr))
	{
	fprintf (fout, "Length must be %d or less.\n", (int) sizeof (bfr));
	return RET_CONTINUE;
	}


    /* Create a pipe to talk to this endpoint */

    if ((s = usbdPipeCreate (usbdClientHandle, (GENERIC_HANDLE) nodeId, (UINT16) endpoint, 0, 0,
	USB_XFRTYPE_INTERRUPT, USB_DIR_IN, length, length, INT_PIPE_SRVC_INTERVAL,
	&handle)) != OK)
	{
	fprintf (fout, "usbdPipeCreate() returned %d\n", s);
	return RET_CONTINUE;
	}


    /* Create thread to watch for keypress */

    enterPressed = FALSE;

    if (OSS_THREAD_CREATE (enterThread, (pVOID) fout, OSS_PRIORITY_INHERIT, "tEnter",
	&thread) != OK)
	goto pipe_done;

    while (!enterPressed)
	{
	/* initialize IRP */

	memset (&irp, 0, sizeof (irp));

	irp.irpLen = sizeof (irp);
	irp.userCallback = irpCallback;
	irp.transferLen = length;
	irp.bfrCount = 1;
	irp.bfrList [0].pid = USB_PID_IN;
	irp.bfrList [0].pBfr = bfr;
	irp.bfrList [0].bfrLen = length;
    
	irpCallbackInvoked = FALSE;

	if ((s = usbdTransfer (usbdClientHandle, handle, &irp)) != OK)
	    {
	    fprintf (fout, "usbdTransfer() returned %d\n", s);
	    break;
	    }

	while (!enterPressed && !irpCallbackInvoked)
	    OSS_THREAD_SLEEP (1);

	if (irpCallbackInvoked)
	    {
	    if (irp.result != OK)
		{
		fprintf (fout, "irp.result == %d\n", irp.result);
		break;
		}

	    fprintf (fout, "actLen = %d: ", irp.bfrList [0].actLen);
	    displayMem (irp.bfrList [0].actLen, bfr, fout);
	    }
	else
	    {
	    if ((s = usbdTransferAbort (usbdClientHandle, handle, &irp)) 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成av人**亚洲成av**| 欧美精品日韩综合在线| 亚洲国产视频在线| 丁香婷婷综合网| 中文字幕av在线一区二区三区| 成人avav在线| 欧美视频一区在线观看| 欧洲激情一区二区| 欧美日韩日本视频| 蜜臀精品一区二区三区在线观看| 五月天一区二区| 国产一区二区在线免费观看| 久久新电视剧免费观看| 69av一区二区三区| 国产永久精品大片wwwapp| 亚洲人一二三区| 777午夜精品视频在线播放| 国产一区二区中文字幕| 亚洲精品久久7777| 国产一区二区视频在线| 国产精品天干天干在线综合| 色婷婷国产精品综合在线观看| 视频在线在亚洲| 一区二区三区不卡视频| 国产精品午夜在线观看| 久久久综合视频| 色香蕉成人二区免费| 韩国v欧美v亚洲v日本v| 午夜精品久久久久影视| 国产成人免费xxxxxxxx| 欧美亚洲一区二区在线观看| 久久69国产一区二区蜜臀| 亚洲一级二级三级在线免费观看| 成人激情文学综合网| 久久午夜色播影院免费高清| 亚洲成人免费视频| 色婷婷综合激情| 91激情在线视频| 椎名由奈av一区二区三区| 日韩一区二区三区观看| 日韩va欧美va亚洲va久久| 亚洲福中文字幕伊人影院| 丝袜亚洲另类欧美综合| 免费高清在线一区| 国产91在线观看丝袜| 国产精品美女一区二区三区| 日本高清免费不卡视频| 亚洲成a人片综合在线| 五月综合激情婷婷六月色窝| 7777精品伊人久久久大香线蕉经典版下载| 一区二区三区**美女毛片| 亚洲日本青草视频在线怡红院| 国产一区二区三区在线观看免费 | 激情综合网激情| 韩国三级在线一区| 欧美三区在线观看| 久久综合色播五月| 99久久免费国产| 久久99九九99精品| 亚洲六月丁香色婷婷综合久久 | 欧美日韩亚洲高清一区二区| 在线综合+亚洲+欧美中文字幕| 欧美日韩久久一区二区| 欧美国产精品v| 日韩精品一区国产麻豆| 最新中文字幕一区二区三区| 国产在线播放一区| 欧美日韩在线播放一区| 欧美国产日韩在线观看| 国产在线播精品第三| 日韩高清在线不卡| 在线观看日韩av先锋影音电影院| 亚洲精品一区二区三区蜜桃下载| ...xxx性欧美| 不卡的av电影在线观看| 久久久不卡影院| 欧美一区二区三区免费观看视频| 国产亲近乱来精品视频| 老司机午夜精品| 久久国产精品99精品国产| 欧美日韩一本到| 久久精品理论片| 久久精品视频在线看| 丁香六月久久综合狠狠色| 国产无遮挡一区二区三区毛片日本| 亚洲国产日韩av| 天天操天天色综合| 免费久久精品视频| 精品美女在线观看| 国产黄人亚洲片| 色狠狠色狠狠综合| av一二三不卡影片| 亚洲欧美日韩国产成人精品影院| 亚洲欧洲国产日韩| 欧洲亚洲国产日韩| 精品国产乱码久久久久久牛牛| 国产一区二区三区美女| 亚洲婷婷在线视频| 欧美哺乳videos| 99久久久久久| 国产精品538一区二区在线| 欧美少妇性性性| 国产精品污网站| 欧美大片顶级少妇| 亚洲午夜激情av| 97se亚洲国产综合自在线观| 亚洲视频综合在线| 国产亚洲视频系列| 精品播放一区二区| 欧美日韩免费电影| 亚洲综合在线第一页| 国产欧美一区二区精品久导航 | 亚洲色图制服诱惑| 国产精品成人一区二区三区夜夜夜| 欧美精品一二三| 欧美午夜精品久久久| 国产成人av一区二区三区在线| 免费不卡在线视频| 91精品国产欧美一区二区18 | 国产精品91一区二区| 久久av中文字幕片| 国产乱码精品一区二区三区av| 欧美一区二区国产| 欧美一二三在线| 欧美电影免费提供在线观看| 日韩一区二区三区电影| 欧美美女网站色| 精品区一区二区| 不卡免费追剧大全电视剧网站| 成人激情电影免费在线观看| 中文成人综合网| 亚洲另类在线制服丝袜| 亚洲不卡一区二区三区| 麻豆精品一二三| 处破女av一区二区| 欧美亚洲国产一卡| 日韩精品一区二区三区视频在线观看 | 国产米奇在线777精品观看| 国产精品欧美久久久久一区二区| 亚洲日本韩国一区| 久久综合久久综合久久| 亚洲精品乱码久久久久| 久久99精品国产麻豆婷婷| 亚洲欧美日韩国产另类专区| 日本最新不卡在线| ●精品国产综合乱码久久久久 | 国产日韩精品视频一区| 5858s免费视频成人| 91色.com| 国产精品色呦呦| xnxx国产精品| 性欧美大战久久久久久久久| 高清成人免费视频| 久久精品人人爽人人爽| 欧美成人午夜电影| 男女男精品视频网| 日本欧美加勒比视频| 五月综合激情婷婷六月色窝| 亚洲免费在线播放| 亚洲精品写真福利| 91在线观看成人| 亚洲福利国产精品| 日韩高清不卡一区| 欧美欧美午夜aⅴ在线观看| 678五月天丁香亚洲综合网| 亚洲韩国一区二区三区| 欧美亚洲另类激情小说| 欧美日本在线视频| 久久电影网电视剧免费观看| 欧美电影免费观看高清完整版在线观看 | 中文一区二区在线观看| 91婷婷韩国欧美一区二区| 成人av综合在线| 欧美做爰猛烈大尺度电影无法无天| 亚洲久本草在线中文字幕| 色视频一区二区| 欧美日韩一区不卡| 日韩在线观看一区二区| 国产日韩欧美综合一区| 亚洲精品免费看| 免费在线视频一区| 91色乱码一区二区三区| 精品伦理精品一区| 中文字幕一区不卡| 精品久久久久一区二区国产| 国产精品三级av在线播放| 五月婷婷激情综合网| 欧美激情综合五月色丁香| 欧美日韩国产bt| 99久久99久久精品免费看蜜桃| 青青草伊人久久| 洋洋成人永久网站入口| 国产日韩欧美一区二区三区乱码| 69堂成人精品免费视频| 欧美精品一二三| 亚洲欧美偷拍三级| 久久综合九色欧美综合狠狠| 免费国产亚洲视频| 欧美bbbbb| 精品国产精品一区二区夜夜嗨|