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

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

?? usrusbtool.c

?? SL811 USB接口芯片用于VxWorks系統的驅動源代碼
?? 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一区二区三区免费野_久草精品视频
国产精品不卡在线| 亚洲在线视频一区| 日本精品一区二区三区高清 | 久久久亚洲精品一区二区三区| 99re成人精品视频| 麻豆视频观看网址久久| 一区二区在线电影| 国产精品丝袜在线| 精品国产免费一区二区三区四区| 91国产免费观看| 国产69精品久久久久777| 日韩电影一二三区| 亚洲国产色一区| 中文字幕欧美一区| 久久精品日韩一区二区三区| 7777精品伊人久久久大香线蕉的| 色综合久久综合网欧美综合网 | 中文字幕在线不卡| 久久新电视剧免费观看| 日韩三级.com| 欧美视频你懂的| 色素色在线综合| 97精品国产露脸对白| www.综合网.com| 国产98色在线|日韩| 国产一区二区看久久| 老司机精品视频一区二区三区| 天天亚洲美女在线视频| 亚洲一卡二卡三卡四卡无卡久久| 亚洲美女在线一区| 亚洲色图欧美偷拍| 亚洲天天做日日做天天谢日日欢| 久久免费的精品国产v∧| 欧美精品一区二区三区很污很色的 | 91丨porny丨在线| 成人午夜精品在线| 成人精品一区二区三区四区| 国产精选一区二区三区| 国产成人夜色高潮福利影视| 国产精品亚洲综合一区在线观看| 国产酒店精品激情| 丁香五精品蜜臀久久久久99网站| 国产激情视频一区二区在线观看| 国产在线观看免费一区| 国产乱码精品一区二区三区av| 国产又黄又大久久| 成人免费毛片高清视频| 成人av在线资源网站| 93久久精品日日躁夜夜躁欧美| 色8久久精品久久久久久蜜| 在线观看日韩精品| 欧美二区三区的天堂| 日韩片之四级片| 久久婷婷国产综合精品青草| 国产精品乱码久久久久久| 亚洲人成网站色在线观看| 亚洲欧美二区三区| 日韩国产欧美在线播放| 激情欧美日韩一区二区| 成人av免费在线播放| 91美女片黄在线观看91美女| 欧美视频中文字幕| 日韩三级在线观看| 国产亚洲精品7777| 亚洲欧美国产毛片在线| 日韩不卡免费视频| 国产成人精品亚洲午夜麻豆| 91在线免费看| 日韩一二三区不卡| 国产精品乱子久久久久| 亚洲国产成人av网| 国产在线视视频有精品| 99精品热视频| 在线综合视频播放| 国产精品丝袜久久久久久app| 亚洲男人的天堂在线aⅴ视频| 日韩高清在线不卡| 从欧美一区二区三区| 欧美日韩国产片| 国产肉丝袜一区二区| 亚洲精品国产视频| 久久精品国产久精国产爱| 99精品1区2区| 日韩欧美国产三级电影视频| 国产精品电影一区二区| 日韩高清在线观看| 成人网在线播放| 亚洲国产成人在线| 亚洲第一主播视频| 成人免费毛片嘿嘿连载视频| 日韩丝袜情趣美女图片| 亚洲欧洲成人自拍| 狠狠色丁香久久婷婷综| 在线免费观看一区| 亚洲国产精品传媒在线观看| 午夜视频在线观看一区| 懂色一区二区三区免费观看| 3d成人动漫网站| 亚洲欧美另类图片小说| 国产乱子伦一区二区三区国色天香| 色噜噜夜夜夜综合网| 欧美韩日一区二区三区| 蜜臀av性久久久久蜜臀aⅴ四虎| 色拍拍在线精品视频8848| 国产日韩欧美一区二区三区综合| 五月激情综合婷婷| 色综合久久精品| 国产精品色呦呦| 国产精品一区二区在线观看不卡 | 久热成人在线视频| 欧美午夜不卡视频| 亚洲精品一二三| 成人手机在线视频| 精品处破学生在线二十三| 午夜不卡av在线| 一本久久精品一区二区| 国产精品护士白丝一区av| 国产福利一区二区三区视频在线 | 色久综合一二码| 欧美国产日韩a欧美在线观看| 毛片一区二区三区| 制服丝袜在线91| 亚洲高清不卡在线观看| 91网站最新网址| 国产精品久久久久久亚洲伦 | www.欧美.com| 日本一区二区免费在线观看视频 | 一区二区三区在线影院| 色偷偷88欧美精品久久久 | 另类欧美日韩国产在线| 欧美一区二区三区人| 日本不卡一二三区黄网| 91精品国产欧美一区二区成人| 无吗不卡中文字幕| 678五月天丁香亚洲综合网| 婷婷国产v国产偷v亚洲高清| 欧美精品色综合| 美女一区二区在线观看| 日韩精品一区在线观看| 激情五月婷婷综合网| 国产日产欧产精品推荐色 | 成人黄色小视频在线观看| 中日韩av电影| 99久久99久久久精品齐齐| 最新不卡av在线| 色哟哟国产精品免费观看| 亚洲一区二区三区美女| 7777精品伊人久久久大香线蕉 | 亚洲国产成人porn| 日韩一区二区影院| 狠狠色丁香婷婷综合久久片| 国产亚洲欧美色| av电影在线观看不卡| 亚洲男人的天堂网| 69p69国产精品| 国产成人啪免费观看软件| 亚洲欧洲在线观看av| 欧美亚洲另类激情小说| 日日夜夜免费精品| 久久影院午夜片一区| 99re热视频这里只精品| 亚洲福利电影网| 日韩欧美亚洲国产精品字幕久久久| 国产一区二区久久| 亚洲欧洲日本在线| 欧美猛男男办公室激情| 国产在线播放一区三区四| 亚洲视频在线观看一区| 91精品国产全国免费观看| 国产成人精品一区二区三区网站观看 | 色爱区综合激月婷婷| 日韩1区2区日韩1区2区| 国产精品污www在线观看| 欧美综合欧美视频| 韩日精品视频一区| 亚洲免费在线观看视频| 日韩欧美视频在线| 91污片在线观看| 紧缚奴在线一区二区三区| 国产精品青草综合久久久久99| 欧美日韩高清一区二区三区| 国产乱人伦偷精品视频不卡 | 久久久久国产免费免费| 91福利在线导航| 国产一区三区三区| 亚洲自拍偷拍九九九| 久久色在线观看| 欧美精品久久久久久久久老牛影院| 国产91精品精华液一区二区三区| 亚洲bdsm女犯bdsm网站| 国产精品色噜噜| 精品捆绑美女sm三区| 欧美性色欧美a在线播放| 丁香五精品蜜臀久久久久99网站| 日本中文字幕一区二区视频| 亚洲啪啪综合av一区二区三区| 亚洲精品一线二线三线| 欧美日韩中文一区| 91在线你懂得| 懂色av中文字幕一区二区三区|