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

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

?? usrusbtool.c

?? sl811hs_vxworks_host_driver_v1_0_13 sl811的主驅動
?? C
?? 第 1 頁 / 共 5 頁
字號:
		!= OK)
		{
		fprintf (fout, "usbdTransferAbort() returned %d\n", s);
		break;
		}

	    /* wait for the callback to be invoked */

	    while (!irpCallbackInvoked)
		OSS_THREAD_SLEEP (1);
	    }
	}

    OSS_THREAD_DESTROY (thread);

pipe_done:

    if ((s = usbdPipeDestroy (usbdClientHandle, handle)) != OK)
	{
	fprintf (fout, "usbdPipeDestroy() returned %d\n", s);
	return RET_CONTINUE;
	}

    return RET_CONTINUE;
    }


#ifdef INCLUDE_USB_KEYBOARD
/*************************************************************************
*
* cmdKbdInit - initializes USB keyboard SIO driver
*
* RETURNS: RET_CONTINUE
*/

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

    {
    if (usbKeyboardDevInit () == OK)
	fprintf (fout, "usbKeyboardDevInit() returned OK\n");
    else
	fprintf (fout, "usbKeyboardDevInit() returned ERROR\n");

    return RET_CONTINUE;
    }


/*************************************************************************
*
* cmdKbdDown - shuts down USB keyboard SIO driver
*
* RETURNS: RET_CONTINUE
*/

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

    {
    if (usbKeyboardDevShutdown () == OK)
	fprintf (fout, "usbKeyboardDevShutdown() returned OK\n");
    else
	fprintf (fout, "usbKeyboardDevShutdown() returned ERROR\n");

    return RET_CONTINUE;
    }


/*************************************************************************
*
* kbdAttachCallback - receives callbacks from USB keyboard SIO driver
*
* RETURNS: N/A
*/

LOCAL SIO_CHAN *pKbdSioChan;

LOCAL VOID kbdAttachCallback
    (
    pVOID arg,			    /* caller-defined argument */
    SIO_CHAN *pChan,		    /* pointer to affected SIO_CHAN */
    UINT16 attachCode		    /* defined as USB_KBD_xxxx */
    )

    {
    FILE *fout = (FILE *) arg;

    fprintf (fout, "pChan = %p, attach code = %s\n", pChan,
	(attachCode == USB_KBD_ATTACH) ? "USB_KBD_ATTACH" : "USB_KBD_REMOVE");

    if (attachCode == USB_KBD_ATTACH)
	{
	if (pKbdSioChan == NULL)
	    {
	    if (usbKeyboardSioChanLock (pChan) != OK)
		fprintf (fout, "usbKeyboardSioChanLock() returned ERROR\n");
	    else
		pKbdSioChan = pChan;
	    }
	else
	    {
	    fprintf (fout, "Another channel already in use, ignored.\n");
	    }
	}
    else
	{
	if (pChan == pKbdSioChan)
	    {
	    if (usbKeyboardSioChanUnlock (pChan) != OK)
		fprintf (fout, "usbKeyboardSioChanUnlock() returned ERROR\n");

	    pKbdSioChan = NULL;
	    }
	}
    }


/*************************************************************************
*
* cmdKbdPoll - Polls keyboard SIO driver for input
*
* RETURNS: RET_CONTINUE
*/

LOCAL UINT16 cmdKbdPoll
    (
    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;
    char inChar;

    /* register for callbacks */

    pKbdSioChan = NULL;

    if (usbKeyboardDynamicAttachRegister (kbdAttachCallback, (pVOID) fout) != OK)
	{
	fprintf (fout, "usbKeyboardDynamicAttachRegister() returned ERROR\n");
	return RET_CONTINUE;
	}


    /* Poll for input or until user presses CTRL-Z on USB keyboard or
     * [enter] on main keyboard. */

    /* Create thread to watch for keypress */

    enterPressed = FALSE;

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

    fprintf (fout, "Press CTRL-Z to terminate polling.\n");

    while (!enterPressed)
	{
	if (pKbdSioChan != NULL)
	    {
	    if ((*pKbdSioChan->pDrvFuncs->pollInput) (pKbdSioChan, &inChar) == OK)
		{
		fprintf (fout, "ASCII %3d", inChar);
		if (inChar >= 32)
		    fprintf (fout, " '%c'", inChar);
		fprintf (fout, "\n");

		if (inChar == CTRL_Z)
		    {
		    fprintf (fout, "Stopped by CTRL-Z\n");
		    break;
		    }
		}
	    }

	OSS_THREAD_SLEEP (1);
	}

    OSS_THREAD_DESTROY (thread);

pipe_done:

    /* unregister */

    if (usbKeyboardDynamicAttachUnRegister (kbdAttachCallback, (pVOID) fout) != OK)
	fprintf (fout, "usbKeyboardDynamicAttachUnRegister() returned ERROR\n");

    return RET_CONTINUE;
    }


/*************************************************************************
*
* cmdKbdTest - Tests USB keyboard SIO driver
*
* RETURNS: RET_CONTINUE
*/

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

    {

    if ( cmdKbdInit(Param,ppCmd,fin,fout) != RET_CONTINUE )
        {
	return RET_CONTINUE;
        } /* end of if () */

    if ( cmdKbdPoll(Param,ppCmd,fin,fout) != RET_CONTINUE )
        {
	return RET_CONTINUE;
        } /* end of if () */

    if ( cmdKbdDown(Param,ppCmd,fin,fout) != RET_CONTINUE )
        {
	return RET_CONTINUE;
        } /* end of if () */

    return RET_CONTINUE;
    }
#endif	/*INCLUDE_USB_KEYBOARD*/


#ifdef INCLUDE_USB_MOUSE
/*************************************************************************
*
* showMouseState
*
* RETURNS: N/A
*/

LOCAL long mouseX;
LOCAL long mouseY;
LOCAL BOOL mouseButtons_1_2;

LOCAL VOID showMouseState
    (
    FILE *fout,
    UINT8 buttons
    )

    {
    fprintf (fout, "\rx:%5ld  y:%5ld  B1:%3.3s B2:%3.3s B3:%3.3s",
	mouseX, mouseY, 
	(buttons & MOUSE_BUTTON_1) == 0 ? "UP " : "DWN",
	(buttons & MOUSE_BUTTON_2) == 0 ? "UP " : "DWN",
	(buttons & MOUSE_BUTTON_3) == 0 ? "UP " : "DWN");
    }


/*************************************************************************
*
* signExtend - extends sign from char to long
*
* RETURNS: sign-extended long value
*/

LOCAL long signExtend
    (
    char value
    )

    {
    if ((value & 0x80) != 0)
	return value | 0xffffff00;
    
    return value;
    }


/*************************************************************************
*
* mseRptCallback - invoked when reports received from mouse
*
* RETURNS: OK
*/

LOCAL STATUS mseRptCallback
    (
    void *arg,
    pHID_MSE_BOOT_REPORT pReport
    )

    {
    FILE *fout = (FILE *) arg;
    long xChange = signExtend (pReport->xDisplacement);
    long yChange = signExtend (pReport->yDisplacement);

    mouseX += xChange;
    mouseY += yChange;

    showMouseState (fout, pReport->buttonState);

    if ( (pReport->buttonState & MOUSE_BUTTON_1) &&
         (pReport->buttonState & MOUSE_BUTTON_2)   )
        {
          mouseButtons_1_2 = TRUE;
        } /* end of if () */

    return OK;
    }


/*************************************************************************
*
* mseAttachCallback - receives callbacks from USB mouse SIO driver
*
* RETURNS: N/A
*/

LOCAL SIO_CHAN *pMseSioChan;

LOCAL VOID mseAttachCallback
    (
    pVOID arg,			    /* caller-defined argument */
    SIO_CHAN *pChan,		    /* pointer to affected SIO_CHAN */
    UINT16 attachCode		    /* defined as USB_KBD_xxxx */
    )

    {
    FILE *fout = (FILE *) arg;

    fprintf (fout, "pChan = %p, attach code = %s\n", pChan,
	(attachCode == USB_MSE_ATTACH) ? "USB_MSE_ATTACH" : "USB_MSE_REMOVE");

    if (attachCode == USB_MSE_ATTACH)
	{
	if (pMseSioChan == NULL)
	    {
	    if (usbMouseSioChanLock (pChan) != OK)
		fprintf (fout, "usbMouseSioChanLock() returned ERROR\n");
	    else
		{
		pMseSioChan = pChan;

		/* Register for report callbacks */
    
		if (pMseSioChan != NULL)
		    {
		    if ((*pMseSioChan->pDrvFuncs->callbackInstall) (pMseSioChan, 
			SIO_CALLBACK_PUT_MOUSE_REPORT, mseRptCallback, fout) != OK)
			{
			fprintf (fout, "callbackInstall() returned ERROR.\n");
			}
		    }
		}
	    }
	else
	    {
	    fprintf (fout, "Another channel already in use, ignored.\n");
	    }
	}
    else
	{
	if (pChan == pMseSioChan)
	    {
	    if (usbMouseSioChanUnlock (pChan) != OK)
		fprintf (fout, "usbMouseSioChanUnlock() returned ERROR\n");

	    pMseSioChan = NULL;
	    }
	}
    }


/*************************************************************************
*
* cmdMouseTest - Tests mouse SIO driver for input
*
* RETURNS: RET_CONTINUE
*/

LOCAL UINT16 cmdMouseTest
    (
    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;


    /* Initialize usbMouseLib. */

    if (usbMouseDevInit () != OK)
	{
	fprintf (fout, "usbMouseDevInit() returned ERROR\n");
	return RET_CONTINUE;
	}


    /* register for attach callbacks */

    pMseSioChan = NULL;

    mouseX = 0;
    mouseY = 0;

    if (usbMouseDynamicAttachRegister (mseAttachCallback, (pVOID) fout) != OK)
	{
	fprintf (fout, "usbMouseDynamicAttachRegister() returned ERROR\n");
	goto mouseDown;
	}


    /* Wait for use to press [enter] to terminate test. */

    /* Create thread to watch for keypress */

    enterPressed = FALSE;
    mouseButtons_1_2 = FALSE;

    fprintf (fout, "Press mouse buttons 1 & 2 at the same time to terminate polling.\n");

    if (OSS_THREAD_CREATE (enterThread, (pVOID) fout, OSS_PRIORITY_INHERIT, "tEnter",
	&thread) != OK)
	{
	fprintf (fout, "Failed to create tEnter thread.\n");
	goto mouseUnreg;
	}


    /* Wait for mouse to be attached */

    while (pMseSioChan == NULL)
	{
	if (enterPressed)
	    goto threadDone;
	OSS_THREAD_SLEEP (1);
	}


    /* Let background threads show mouse state */

    showMouseState (fout, 0);

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

    fprintf (fout, "\n");


threadDone:

    OSS_THREAD_DESTROY (thread);


mouseUnreg:

    /* unregister for attach callbacks */

    if (usbMouseDynamicAttachUnRegister (mseAttachCallback, (pVOID) fout) != OK)
	fprintf (fout, "usbMouseDynamicAttachUnRegister() returned ERROR\n");


    /* Terminate report callbacks */

    if (pMseSioChan != NULL)
	if ((*pMseSioChan->pDrvFuncs->callbackInstall) (pMseSioChan, 
	    SIO_CALLBACK_PUT_MOUSE_REPORT, NULL, NULL) != OK)
	    {
	    fprintf (fout, "callbackInstall() returned ERROR.\n");
	    }

mouseDown:

    if (usbMouseDevShutdown () != OK)
	fprintf (fout, "usbMouseDevShutdown() returned ERROR\n");


    return RET_CONTINUE;
    }

#endif	/*INCLUDE_USB_MOUSE*/


#ifdef INCLUDE_USB_PRINTER
/*************************************************************************
*
* closeTxFile - closes any open print tx file 
*
* RETURNS: N/A
*/

LOCAL VOID closeTxFile (void)
    {
    txCharCount = 0;
    
    if (txFile != NULL)
	{
	fclose (txFile);
	txFile = NULL;
	}
    }


/*************************************************************************
*
* prnTxCallback - feeds characters to USB printer SIO driver
*
* RETURNS: OK
*/

LOCAL STATUS prnTxCallback
    (
    void *callbackParam,
    char *txChar
    )

    {
    /* If no more chars to send, return an error */

    if (txCharCount == 0)
	return ERROR;

    txCharCount--;


    /* Check if running a pattern test or a file dump */

    if (patternTest)
	{
	/* Running a pattern test.  Return the next pattern char */

	if ((nextCharVal & 1) == 0)
	    *txChar = nextCharVal >> 8;
	else
	    *txChar = nextCharVal & 0xff;

	nextCharVal++;
	}
    else
	{
	/* Running a file dump test.  Return the next char from file */

	if (txBfrCount == 0 && txCharCount > 0)
	    {
	    /* Read next buffer from file */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美剧情电影在线观看完整版免费励志电影 | 日本女优在线视频一区二区| 91美女福利视频| 午夜激情久久久| 久久这里只有精品视频网| 不卡视频一二三| 日韩精品亚洲专区| 中文字幕av在线一区二区三区| 国产精品一卡二卡| 日本亚洲电影天堂| 国产欧美精品国产国产专区| 99re这里都是精品| 国产在线播精品第三| 亚洲女性喷水在线观看一区| 91精品国产91热久久久做人人| 国产精品1区2区3区在线观看| 亚洲永久精品大片| 国产日韩精品一区二区三区| 欧美日本国产视频| 色久综合一二码| 亚洲色图色小说| 欧美一级免费观看| 一本久久综合亚洲鲁鲁五月天| 奇米精品一区二区三区四区 | 图片区小说区区亚洲影院| 欧美xingq一区二区| 日韩视频一区二区在线观看| 91国偷自产一区二区三区观看| 国产91精品一区二区| 日韩成人免费电影| 欧美日韩中文字幕一区二区| eeuss鲁一区二区三区| 成人av电影免费在线播放| 久久er99精品| 国产乱码精品一区二区三| 日日夜夜一区二区| 免费观看在线综合| 狠狠色狠狠色综合系列| 精东粉嫩av免费一区二区三区| 蜜芽一区二区三区| 欧美大片免费久久精品三p| 8x8x8国产精品| 51精品秘密在线观看| 欧美日韩免费视频| 欧美精品一区二区三区蜜桃视频| 2021国产精品久久精品| 欧美国产精品专区| 亚洲高清在线精品| 国产高清在线精品| 在线不卡a资源高清| 欧美国产国产综合| 亚洲成人动漫在线免费观看| 国产成人综合亚洲网站| 国产最新精品精品你懂的| 中文字幕乱码一区二区免费| 亚洲视频电影在线| 麻豆成人综合网| 97久久超碰精品国产| 国产精品日韩精品欧美在线| 国产三级精品三级在线专区| 中文一区二区在线观看| 亚洲综合图片区| 成人免费高清在线| 欧美麻豆精品久久久久久| 欧美日韩国产片| 亚洲国产欧美日韩另类综合 | 91玉足脚交白嫩脚丫在线播放| 国产成人精品午夜视频免费| 色哟哟一区二区在线观看| 久久久久久久久久久久久久久99 | 国产欧美综合在线观看第十页| 亚洲综合在线视频| 91免费视频网| 欧洲亚洲精品在线| 亚洲人妖av一区二区| 国产精品1024久久| 色爱区综合激月婷婷| 一区二区不卡在线播放| 国产999精品久久久久久| 国产丝袜在线精品| 另类小说一区二区三区| 欧美午夜精品久久久久久超碰 | 丝袜亚洲另类欧美| 久久精品人人做人人综合| 国内精品久久久久影院色| 精品国产第一区二区三区观看体验 | 狠狠色丁香久久婷婷综| 欧美成人精品二区三区99精品| 免费成人在线观看| 国产欧美一区二区三区鸳鸯浴 | 中文字幕在线播放不卡一区| 99精品偷自拍| 国产精品色婷婷| 色综合色狠狠天天综合色| 亚洲3atv精品一区二区三区| 91国在线观看| 99这里只有久久精品视频| 亚洲综合色区另类av| 久久众筹精品私拍模特| 91久久精品日日躁夜夜躁欧美| 美日韩一级片在线观看| 国产精品乱人伦| 日韩欧美国产一区二区在线播放| 麻豆精品一区二区综合av| 精品第一国产综合精品aⅴ| 亚洲bt欧美bt精品| 国产亚洲综合在线| 欧美高清视频在线高清观看mv色露露十八 | 国产精品午夜在线观看| 色综合久久久久综合99| 成人99免费视频| 国产综合久久久久久久久久久久 | 亚洲影院在线观看| 亚洲成人动漫精品| 国产精品久久午夜| 精品久久久久久亚洲综合网 | 一区二区三区日韩精品| 欧美国产精品一区二区| 久久嫩草精品久久久精品一| 日韩精品中文字幕在线一区| 欧美一区三区二区| 欧美一区二区私人影院日本| 欧美日韩电影在线| 欧美日本在线观看| 91欧美一区二区| 亚洲一区二区三区视频在线播放| 亚洲自拍偷拍九九九| 亚洲精品五月天| 亚洲一区二区三区视频在线 | 成人国产精品免费观看动漫| 国产自产2019最新不卡| 99热这里都是精品| 在线精品视频一区二区三四| 欧美图片一区二区三区| 51久久夜色精品国产麻豆| 久久久久国产精品免费免费搜索| 中日韩av电影| 精品一区二区三区在线播放视频| 激情成人午夜视频| 欧美成人一区二区三区在线观看 | 久色婷婷小香蕉久久| 成人久久视频在线观看| 欧美日本免费一区二区三区| 欧美成人一区二区三区在线观看| 中文字幕中文在线不卡住| 蜜桃视频第一区免费观看| 国产成人综合在线| 6080午夜不卡| 亚洲精品国产精华液| 粉嫩高潮美女一区二区三区| 欧美美女黄视频| 欧美剧情片在线观看| 精品粉嫩aⅴ一区二区三区四区| 中文字幕一区二区三区av| 国产一区欧美一区| 91精品国产黑色紧身裤美女| 亚洲免费成人av| 色8久久精品久久久久久蜜| 日韩一区欧美一区| 91看片淫黄大片一级在线观看| 久久久高清一区二区三区| 亚洲午夜免费电影| 欧美一区二区精品| 精品一区二区三区不卡| 日韩一区二区三区观看| 蜜桃一区二区三区四区| 99国产精品99久久久久久| 欧美成人精品高清在线播放| 久久精品99久久久| 日韩女优av电影| 久久精品99久久久| 久久久综合九色合综国产精品| 视频一区视频二区中文| 日韩精品专区在线影院观看| 婷婷丁香久久五月婷婷| 久久精品亚洲精品国产欧美 | 亚洲国产高清在线观看视频| 丰满亚洲少妇av| 亚洲日本一区二区| 欧美综合久久久| 欧美日韩国产中文| 成人美女在线观看| 亚洲线精品一区二区三区| 国产日产欧美一区| 91国产免费观看| 狠狠色丁香久久婷婷综合丁香| 亚洲男女一区二区三区| www成人在线观看| 欧美一区二区福利视频| 欧美色综合网站| 成人av免费在线观看| 黄色资源网久久资源365| 一区二区高清免费观看影视大全| 久久久99精品免费观看不卡| 成人性视频网站| 久久99国产精品久久| 亚洲国产美女搞黄色| 亚洲精品免费在线播放| 国产高清视频一区| 亚洲免费在线视频一区 二区|