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

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

?? mtp3app.c

?? MTP3層測試程序
?? C
?? 第 1 頁 / 共 2 頁
字號:

/* kbHandler
 *
 * Keyboard event handler routine, to be called by "tx_core" whenever an asynchronous
 * keyboard input is detected.
 */
short kbHandler(TX_HANDLE handle, short events)
{
    char c;

    /* check if input event really did occur */
    if (tx_core_process_events(TX_CORE_INPUT, events) == FALSE)
        return (TX_CORE_SUCCESS);

    /* make sure a key was hit */
    if (tx_core_kbhit())
    {
        c = getchar();
        if( c == 'q' || c == 'Q' )
            return (TX_CORE_EXIT_POLL_LOOP);
        else
            cmdPrompt();
    }

    return (TX_CORE_SUCCESS);
}


/* mtp3Handler
 *
 * MTP3 event handler routine, to be called by "tx_core" whenever an asynchronous
 * event message from MTP3 is pending.
 */
short mtp3Handler(TX_HANDLE handle, short events)
{
    short   status;
    short   len;
    union
    {
        U8          msgCode;    /* overlays "code" field of DATA_IND/STAT_IND */
        DATA_IND    dataind;    /* incoming data event */
        STAT_IND    statind;    /* incoming status event */
        XSTAT_IND   xstatind;   /* incoming extended status indication */
        BIND_CFM    bindcfm;    /* Bind confirmation */
    } msg;

    len = sizeof( msg );
    status = MTP3RetrieveMessage( (U8) Board, (void *) &msg, (U16 *)&len );
    if( status != MTP3_SUCCESS )
    {
        if( status == MTP3_NO_MSG )
        {
            /* "NO_MSG" unexpected, but not fatal */
            printf( "Warning: Mtp3RetrieveMessage returned NO_MSG\n" );
            return (TX_CORE_SUCCESS);
        }
        else
        {
            printf( "Mtp3RetrieveMessage failed, status %d\n" );
            return (TX_CORE_EXIT_POLL_LOOP);  /* fatal */
        }
    }

    /* got an incoming message, decode it */
    switch( msg.msgCode )
    {
    case MTP3_BIND_CFM:
        printf ("Bind Confirm received.  spId = %d, suId = %d\n",
            msg.bindcfm.spId, msg.bindcfm.suId);
        break;

    case MTP3_DATA_IND:
        /* Subtract off size of header fields to get actual data length */

        /* Note that the header is packed, spares in the structure are not included.  Also the message "code" field
         * in the DATA_IND structure has already been stripped (and placed into the msgCode field) and is not included
         * in the length returned from MTP3RetrieveMsg().  Therefore it is not included in the DATA_IND_HDR_SIZE define
         * either. */
        len -= DATA_IND_HDR_SIZE;           /* Changed from -= (sizeof(DATA_IND) - MAXDATA) due to lack of spare packing */
        printf( "Packet received from 0x%lx, length %d\n", msg.dataind.opc, len );
        showHex( msg.dataind.data, (unsigned short) len );
        printf( "\n" );
        break;

    case MTP3_XSTAT_IND :
        switch ( msg.xstatind.status )
        {
        case  XStatLinkUp:
            printf("MTP Link (%d) Up\n", msg.xstatind.link);
            break;
        case  XStatLinkDown:
            printf("MTP Link (%d) Down\n", msg.xstatind.link);
            break;
        case  XStatLinkInhDen:
            printf("MTP Link (%d) Inhibited and Denied\n", msg.xstatind.link);
            break;
        case  XStatLinkInh:
            printf("MTP Link (%d) Inhibited\n", msg.xstatind.link);
            break;
        case  XStatLinkUninh:
            printf("MTP Link (%d) Uninhibited\n", msg.xstatind.link);
            break;
        case  XStatLinkUninhDen:
            printf("MTP Link (%d) Uninhibited and Denied\n", msg.xstatind.link);
            break;
        case  XStatLinkRemBlock:
            printf("MTP Link (%d) Remotely Blocked\n", msg.xstatind.link);
            break;
        case  XStatLinkRemUnblock:
            printf("MTP Link (%d) Remotely Unblocked\n", msg.xstatind.link);
            break;
        case  XStatLinkLocBlock:
            printf("MTP Link (%d) Locally Blocked\n", msg.xstatind.link);
            break;
        case  XStatLinkLocUnblock:
            printf("MTP Link (%d) Locally Unblocked\n", msg.xstatind.link);
            break;
        default:
            printf( "Unknown MTP Extended Status indication received, status %d\n",
                    msg.xstatind.status );
            break;
        }
    break;

    case MTP3_STAT_IND:
        /* print out status indication message */
        switch( msg.statind.status )
        {
        case StatPaused:
            printf( "MTP Pause: 0x%lx\n", msg.statind.pc );
            break;

        case StatResumed:
            printf( "MTP Resume: 0x%lx\n", msg.statind.pc );
            break;

        case StatCongested:
            printf( "MTP Destination Congested 0x%lx, Priority %d\n",
                    msg.statind.pc, msg.statind.priority );
            break;

        case StatUsrUnavail:
            printf( "MTP Remote User Unavailable: 0x%lx\n", msg.statind.pc );
            break;

        case StatRestart:
            printf( "MTP Restart Begins\n" );
            break;

        case StatRestartEnds:
            printf( "MTP Restart Ends\n" );
            break;

        case StatCongestionEnds:
            printf( "MTP Destination Congestion Ended 0x%lx, Priority %d\n",
                    msg.statind.pc, msg.statind.priority );
            break;

        case StatPrimary:
            printf( "MTP Now Primary\n" );
            break;

        case StatBackup:
            printf( "MTP Now Backup\n" );
            break;

        case StatStandAlone:
            printf( "MTP Now Stand-Alone\n" );
            break;

        default:
            printf( "Unknown MTP Status indication received, status %d, PC=0x%lx \n",
                    msg.statind.status, msg.statind.pc );
            break;
        }                   /* switch( msg.statind.status ) */
        break;

    default:
        printf( "Unknown MTP message received, msgcode %d\n",  msg.msgCode );
        break;
    }                           /* switch( msg.msgcode ) */

    return (TX_CORE_SUCCESS);
}


/*
 * Main routine
 *
 * Parse command line arguments, start main processing loop
 */
void main(int argc, char *argv[])
{
    short     n;
    int       i, j, k;
    short     status;
    char      *ap;
    int       sio;
    OS_HSYNC  hSync;      /* synchronization handle for MTP3 API */
    short     bOpc = 0;   /* Has required OPC been specified */

    /* process arguments */
    for(n = 1; n < argc; n++)
    {
        ap = argv[n];
        if (*ap == '-')
        {
            switch (*++ap)
            {
            case 'o' :     /* OPC */
                n++;
                i = j = k = -1;
                sscanf(argv[n], "%d.%d.%d", &i, &j, &k);
                if (i == -1 || j == -1 || k == -1) {
                    printf( "Invalid originating point code\n");
                    exit( 1 );
                }
                Opc = (((U32) i << 16) + ((U32) j << 8) + (U32) k);
                bOpc = 1;           /* They specified required OPC */
                break;

            case 's' :     /* SIO */
                n++;
                sscanf(argv[n], "%i", &sio);
                if ( sio < 0 || sio > 255 ) {
                    printf("SIO must be in range 0 - 0xFF\n");
                    exit( 1 );
                }
                Sio = (unsigned char) sio;
                break;

            case 'b' :     /* board number */
                n++;
                Board = atoi(argv[n]);
                if( Board < 1 || Board > 8 ) {
                    printf("Board must be in range 1 - 8\n");
                    exit(1);
                }
                break;

            case 'n' :     /* NSAP number */
                n++;
                MySap = atoi(argv[n]);
                if( MySap < 0 || MySap > 15 ) {
                    printf("NSAP must be in range 0-15\n");
                    exit(1);
                }
                break;

            case '?' :      /* Help */
                printf ("mtp3app  -o <opc> [-s <sio>] [-b <board>] [-n <nsap> ] -?\n");
                printf ("    <opc>       originating point code to use for outgoing packets: required\n");
                printf ("    <sio>       Service Information Octet value; default: 0x85 (ISUP)\n");
                printf ("    <board>     Board number to use (defaults to 1)\n");
                printf ("    <nsap>      MTP network SAP number to bind to\n");
                exit (1);
                break;

            default:
                printf("Unrecogized Parameter: %s\n", argv[n]);
                exit(1);

            }    /* end switch */
        } else {
            printf("Unrecogized Parameter: %s\n", argv[n]);
            exit(1);
        }
    }    /* end for loop */

    if (!bOpc)
    {
        printf ("Required parameter OPC not specified\n");
        exit (1);
    }

    /* Bind this application as a user of the MTP3 layer */
    MyEnt = DFLT_ENT + MySap;
    status = MTP3Bind( (U8) Board, Sio, MySap, MyEnt, DFLT_INST, 0 );
    if( status != 0 )
    {
        printf( "Mtp3Bind failed, status = %d\n", status );
        exit(1);
    }

    hSync = MTP3SyncObj( (U8) Board, &status );
    if( hSync == OS_NULL_HSYNC )
    {
        printf( "Mtp3SyncObj failed, status = %d\n", status );
        MTP3Unbind( (U8) Board );
        exit(1);
    }

    /* install keyboard and MTP3 event handlers with "tx_core" and let it
     * perform the main "wait for event" loop
     */
    tx_core_init();
    tx_core_install_handler( stdInput, TX_CORE_UNUSED, kbHandler );
    tx_core_install_handler( hSync, TX_CORE_UNUSED, mtp3Handler );
    tx_core_set_poll(stdInput, TX_CORE_INPUT);
    tx_core_set_poll(hSync, TX_CORE_INPUT);
    tx_core_poll_loop( TX_CORE_INFINITE );

    /* when tx_core_poll_loop returns, user has selected "quit" */
    MTP3Unbind( (U8) Board );

} /* end of main */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷精品久久二区二区蜜臀av| 欧美日本视频在线| 亚洲福利电影网| 国产亚洲一区二区三区四区| 欧美日韩精品电影| 91麻豆福利精品推荐| 韩国三级中文字幕hd久久精品| 亚洲一区二区av在线| 国产精品久久久久影视| 26uuu精品一区二区在线观看| 在线欧美日韩精品| 成人精品视频网站| 国产精品911| 美女视频黄久久| 婷婷中文字幕一区三区| 亚洲女人****多毛耸耸8| 欧美国产成人在线| 精品欧美一区二区久久| 欧美区在线观看| 在线观看国产精品网站| 91麻豆文化传媒在线观看| 成人一区二区三区视频在线观看| 麻豆国产精品一区二区三区| 天堂精品中文字幕在线| 一个色在线综合| 国产精品久久久久久亚洲伦| 国产亚洲综合在线| 欧美va在线播放| 精品国产乱码久久久久久闺蜜| 在线综合视频播放| 欧美精品色综合| 欧美日韩高清一区二区不卡| 91九色最新地址| 日本韩国欧美一区| 欧美性生活久久| 欧美三级蜜桃2在线观看| 欧美在线不卡视频| 欧美日韩精品欧美日韩精品 | 韩国女主播一区| 精品无码三级在线观看视频| 毛片av中文字幕一区二区| 日韩和欧美一区二区三区| 五月天久久比比资源色| 午夜久久福利影院| 日韩和欧美的一区| 国产一区二区三区免费| 黄色精品一二区| 国产乱码精品一区二区三区忘忧草| 国内精品久久久久影院色| 国产凹凸在线观看一区二区| 成人av网站在线| 91在线云播放| 欧美日韩国产色站一区二区三区| 在线观看91精品国产麻豆| 91麻豆精品91久久久久同性| 精品日韩一区二区| 中文字幕免费观看一区| 亚洲精品视频一区二区| 亚洲成人在线免费| 久草在线在线精品观看| 国产成人午夜高潮毛片| 91免费精品国自产拍在线不卡| 91久久精品一区二区| 91精品久久久久久久久99蜜臂| 2021中文字幕一区亚洲| 国产精品不卡一区| 亚洲成a人片在线不卡一二三区| 九色综合国产一区二区三区| 高清beeg欧美| 欧美视频一区二区三区四区| 欧美大片一区二区三区| 136国产福利精品导航| 亚洲成人一区在线| 国产精品资源在线看| 色偷偷久久人人79超碰人人澡| 67194成人在线观看| 国产精品免费人成网站| 婷婷久久综合九色综合绿巨人| 国产一区二区精品久久99| 色乱码一区二区三区88| 欧美成va人片在线观看| 1000部国产精品成人观看| 奇米色一区二区| 99re热视频精品| 91精品国产综合久久小美女| 中文字幕巨乱亚洲| 免费黄网站欧美| 色综合视频一区二区三区高清| 日韩精品在线看片z| 成人免费在线播放视频| 男女视频一区二区| 在线亚洲一区观看| 中文在线免费一区三区高中清不卡| 亚洲自拍偷拍欧美| 丰满白嫩尤物一区二区| 欧美电影在线免费观看| 亚洲色图欧美在线| 国产福利一区在线| 91精品国产综合久久精品图片 | 成人午夜免费电影| 6080国产精品一区二区| 亚洲视频一区在线| 国产福利一区在线观看| 欧美一区二区免费视频| 亚洲激情图片一区| 国产精品99久久久久久久女警| 欧美一区二区播放| 一区二区三区 在线观看视频| 国产精品99久久不卡二区| 国产精品久久网站| 久久99精品国产麻豆婷婷| 欧美精品日日鲁夜夜添| 亚洲免费av高清| 成人黄色网址在线观看| 久久久亚洲精品一区二区三区| 午夜视频一区二区| 欧洲一区在线观看| 亚洲视频每日更新| 99国产精品久久久久久久久久| 久久这里只精品最新地址| 麻豆成人久久精品二区三区小说| 欧美日韩电影在线| 午夜欧美2019年伦理| 欧美午夜寂寞影院| 亚洲福利一二三区| 欧美手机在线视频| 亚洲高清久久久| 欧美日韩高清一区二区三区| 亚洲国产毛片aaaaa无费看| 欧美性xxxxxx少妇| 亚洲一区二区三区影院| 欧美亚洲动漫制服丝袜| 亚洲高清视频的网址| 欧美日韩国产天堂| 偷窥国产亚洲免费视频| 欧美一区二区免费观在线| 日本欧美韩国一区三区| 欧美电视剧在线看免费| 久久精品免费看| 26uuu精品一区二区在线观看| 国产精品日产欧美久久久久| 三级不卡在线观看| 欧美日韩激情一区二区| 午夜精品123| 日韩视频免费直播| 韩国午夜理伦三级不卡影院| 国产日韩欧美一区二区三区综合| 国产成人在线视频网站| 18欧美乱大交hd1984| 在线国产电影不卡| 青青青爽久久午夜综合久久午夜| 日韩免费成人网| 国产老妇另类xxxxx| 中文成人av在线| 91国产免费观看| 五月天久久比比资源色| 日韩一区二区三区精品视频 | 日韩电影一区二区三区四区| 日韩免费成人网| 成人av动漫网站| 亚洲第一激情av| 精品国产污污免费网站入口| 国产九九视频一区二区三区| 亚洲婷婷综合久久一本伊一区| 欧美午夜寂寞影院| 国模无码大尺度一区二区三区| 国产精品福利影院| 欧美日韩美少妇| 韩国精品免费视频| 亚洲美女屁股眼交3| 日韩欧美第一区| 成人av动漫在线| 日本成人在线网站| 国产欧美va欧美不卡在线| 91久久久免费一区二区| 久久国产精品第一页| 最新不卡av在线| 日韩欧美一级精品久久| av亚洲精华国产精华精华| 日韩成人精品在线| 自拍偷拍亚洲欧美日韩| 欧美va天堂va视频va在线| 91最新地址在线播放| 六月婷婷色综合| 一区二区三区毛片| 久久久久国产精品麻豆ai换脸| 在线观看网站黄不卡| 国产精品一区二区久久精品爱涩| 亚洲一区在线视频| 欧美激情一区二区三区| 欧美老女人在线| 91在线视频18| 国产精品亚洲一区二区三区在线 | 欧美一级精品大片| 91色综合久久久久婷婷| 国产最新精品免费| 91在线高清观看| 久草精品在线观看| 午夜精品久久久久久久99樱桃| 中文字幕在线免费不卡|