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

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

?? sngks32csio.c.bak

?? tornado開發(fā) 三星s3c44b0x開發(fā)板 bsp
?? BAK
?? 第 1 頁 / 共 2 頁
字號:
    {    UINT32    temp;    if ((newMode != SIO_MODE_POLL) && (newMode != SIO_MODE_INT))        return (EIO);    /* Don't enter interrupt mode unless it is allowed. */    if ((newMode == SIO_MODE_INT) && (!sngks32cIntrMode))    return (EIO);    /* set the new mode */    pChan->mode = newMode;    if (pChan->mode == SIO_MODE_INT)        {                SNGKS32C_SIO_REG_READ(pChan, SNGKS32C_UCON, temp);        temp &=UCON_RX_TX_RESET;    /**Reset RX and TX mode bits*/        temp |= (UCON_RX|UCON_TX);        SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UCON, temp);        intEnable(pChan->intLevelRx);        }    else        {        SNGKS32C_SIO_REG_READ(pChan, SNGKS32C_UCON, temp);        temp &=UCON_RX_TX_RESET;    /**Reset RX and TX mode bits*/        temp |= (UCON_RX|UCON_TX);        SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UCON, temp);        intDisable (pChan->intLevelTx);        intDisable (pChan->intLevelRx);        }        return (OK);    }/********************************************************************************* sngks32cHup - hang up the modem control lines ** Resets the RTS and DTR signals.** RETURNS: OK*/LOCAL STATUS sngks32cHup    (    SNGKS32C_CHAN * pChan     /* pointer to channel */    )    {    FAST int     oldlevel;    /* current interrupt level mask */    oldlevel = intLock ();    /* set RTS and DTR low *//*    SNGKS32C_SIO_REG_WRITE(pChan, SNGKS32C_USTAT, USTAT_DTR_LOW);            */    intUnlock (oldlevel);    return (OK);    }    /********************************************************************************* sngks32cOpen - Set the modem control lines ** Set the modem control lines(RTS, DTR) TRUE if not already set.  ** RETURNS: OK*/LOCAL STATUS sngks32cOpen    (    SNGKS32C_CHAN * pChan     /* pointer to channel */    )    {    FAST int     oldlevel;    /* current interrupt level mask */    oldlevel = intLock ();    /* set RTS and DTR active *//*    SNGKS32C_SIO_REG_WRITE(pChan, SNGKS32C_USTAT, USTAT_DTR_HIGH);    */    intUnlock (oldlevel);    return (OK);    }/******************************************************************************** sngks32cOptSet - set hardware options** This routine sets up the hardware according to the specified option* argument.  If the hardware cannot support a particular option value, then* it should ignore that portion of the request.** RETURNS: OK upon success, or EIO for invalid arguments.*/LOCAL int sngks32cOptSet    (    SNGKS32C_CHAN * pChan,        /* channel */    uint_t    newOpts              /* new options */    )    {            UINT8 dataBits = 0x03;    UINT8 stopBits = 0x00;    BOOL hdweFlowCtrl=TRUE;    BOOL rcvrEnable = TRUE;    int  lvl;    UINT8 temp=PARITY_NONE;    UINT32 result;        if (pChan == NULL || newOpts & 0xffffff00)    return EIO;    /* do nothing if options already set */    if (pChan->options == newOpts)    return OK;    /* ignore requests for unsupported options */    /* decode individual request elements */    switch (newOpts & CSIZE)    {    case CS5:        dataBits = 0x00; break;    case CS6:        dataBits = 0x01; break;    case CS7:        dataBits = 0x02; break;    default:    case CS8:        dataBits = 0x03; break;    }    if (newOpts & STOPB)        stopBits = 0x04;    else        stopBits = 0x00;    switch (newOpts & (PARENB|PARODD))    {    case PARENB|PARODD:        /* enable odd parity */            temp=PARITY_ODD;        break;    case PARENB:        /* enable even parity */        temp=PARITY_EVEN;         break;    case PARODD:        /* invalid mode, not normally used. */        break;    default:    case 0:        temp=PARITY_NONE ;/* no parity */        break;    }    if (newOpts & CLOCAL)    {        /* clocal disables hardware flow control */        hdweFlowCtrl = FALSE;    }    if ((newOpts & CREAD) == 0)        rcvrEnable = FALSE;    lvl = intLock ();    /*     * Reset the device according to dataBits, stopBits, hdweFlowCtrl,     * rcvrEnable, and parity selections.     */        SNGKS32C_SIO_REG_READ(pChan, SNGKS32C_ULCON, result);        SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_ULCON,(result|dataBits|temp|stopBits));        intUnlock (lvl);    pChan->options = newOpts;    return (OK);    }/********************************************************************************* sngks32cIoctl - special device control** This routine handles the IOCTL messages from the user. It supports commands * to get/set baud rate, mode(INT,POLL), hardware options(parity, number of * data bits) and modem control(RTS/CTS and DTR/DSR handshakes).* The ioctl commands SIO_HUP and SIO_OPEN are used to implement the HUPCL(hang* up on last close) function.** As on a UNIX system, requesting a baud rate of zero is translated into* a hangup request.  The DTR and RTS lines are dropped.  This should cause* a connected modem to drop the connection.  The SIO_HUP command will only* hangup if the HUPCL option is active.  The SIO_OPEN function will raise* DTR and RTS lines whenever it is called. Use the BAUD_RATE=0 function* to hangup when HUPCL is not active.** The CLOCAL option will disable hardware flow control.  When selected,* hardware flow control is not used.  When not selected hardware flow control* is based on the RTS/CTS signals.  CTS is the clear to send input* from the other end.  It must be true for this end to begin sending new* characters.  In most drivers, the RTS signal will be assumed to be connected* to the opposite end's CTS signal and can be used to control output from* the other end.  Raising RTS asserts CTS at the other end and the other end* can send data.  Lowering RTS de-asserts CTS and the other end will stop* sending data. (This is non-EIA defined use of RTS).** RETURNS: OK on success, ENOSYS on unsupported request, EIO on failed* request.*/LOCAL int sngks32cIoctl    (    SIO_CHAN *    pSioChan,        /* device to control */    int        request,        /* request code */    void *    someArg            /* some argument */    )    {    SNGKS32C_CHAN *pChan = (SNGKS32C_CHAN *) pSioChan;    int     oldlevel;        /* current interrupt level mask */    int     arg = (int)someArg;        switch (request)    {    case SIO_BAUD_SET:        /*         * like unix, a baud request for 0 is really a request to         * hangup.         */        if (arg == 0)        return sngks32cHup (pChan);        /*         * Set the baud rate. Return EIO for an invalid baud rate, or         * OK on success.         */        if (arg < SNGKS32C_BAUD_MIN || arg > SNGKS32C_BAUD_MAX)            {        return (EIO);            }        /* Calculate the baud rate constant for the new baud rate */            switch(arg)                {                case 1200:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UBRDIV,SNGKS32C_CNT0_1200|SNGKS32C_CNT1_VAL);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 2400:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UBRDIV,SNGKS32C_CNT0_2400|SNGKS32C_CNT1_VAL);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 4800:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UBRDIV,SNGKS32C_CNT0_4800|SNGKS32C_CNT1_VAL);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 9600:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UBRDIV,SNGKS32C_CNT0_9600|SNGKS32C_CNT1_VAL);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 19200:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UBRDIV,SNGKS32C_CNT0_19200|SNGKS32C_CNT1_VAL);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 38400:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UBRDIV,SNGKS32C_CNT0_38400|SNGKS32C_CNT1_VAL);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 57600:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UBRDIV,SNGKS32C_CNT0_57600|SNGKS32C_CNT1_VAL);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 115200:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UBRDIV,SNGKS32C_CNT0_115200|SNGKS32C_CNT1_VAL);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 230400:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UBRDIV,SNGKS32C_CNT0_230400|SNGKS32C_CNT1_VAL);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                case 460800:                    /* disable interrupts during chip access */                    oldlevel = intLock ();                    SNGKS32C_SIO_REG_WRITE(pChan,SNGKS32C_UBRDIV,SNGKS32C_CNT0_460800|SNGKS32C_CNT1_VAL);                    intUnlock (oldlevel);                    pChan->baudRate=arg;                    return (OK);                          default:                    return(EIO);                }            break;    case SIO_BAUD_GET:            /* Get the baud rate and return OK */            *(int *)arg = pChan->baudRate;            break;    case SIO_MODE_SET:        /*         * Set the mode (e.g., to interrupt or polled). Return OK         * or EIO for an unknown or unsupported mode.         */        return (sngks32cModeSet (pChan, arg));    case SIO_MODE_GET:                    /* Get the current mode and return OK.  */        *(int *)arg = pChan->mode;        return (OK);    case SIO_AVAIL_MODES_GET:        /* Get the available modes and return OK.  */        *(int *)arg = SIO_MODE_INT | SIO_MODE_POLL;         return (OK);    case SIO_HW_OPTS_SET:        /*         * Optional command to set the hardware options (as defined         * in sioLib.h).         * Return OK, or ENOSYS if this command is not implemented.         * Note: several hardware options are specified at once.         * This routine should set as many as it can and then return         * OK. The SIO_HW_OPTS_GET is used to find out which options         * were actually set.         */        return (sngks32cOptSet (pChan, arg));    case SIO_HW_OPTS_GET:        /*         * Optional command to get the hardware options (as defined         * in sioLib.h). Return OK or ENOSYS if this command is not         * implemented.  Note: if this command is unimplemented, it         * will be assumed that the driver options are CREAD | CS8         * (e.g., eight data bits, one stop bit, no parity, ints enabled).         */        *(int *)arg = pChan->options;        return (OK);    case SIO_HUP:            /* check if hupcl option is enabled */            if (pChan->options & HUPCL)                 return (sngks32cHup (pChan));            return (OK);    case SIO_OPEN:            return (sngks32cOpen (pChan)); /* always open */    default:        return (ENOSYS);    }    return (ENOSYS);    }/********************************************************************************* dummyCallback - dummy callback routine** RETURNS: ERROR.*/LOCAL STATUS dummyCallback (void)    {    return (ERROR);    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区三区高清| 国产精品嫩草99a| 欧美国产精品v| 亚洲成a人在线观看| 国产成人av一区二区| 欧美精选午夜久久久乱码6080| 久久精品综合网| 日本大胆欧美人术艺术动态 | 欧美老女人在线| 国产精品麻豆一区二区| 久久福利资源站| 欧美三级视频在线观看 | 亚洲精品一区二区三区99| 国产精品素人一区二区| 亚洲高清久久久| 99re热这里只有精品免费视频| 日韩小视频在线观看专区| 亚洲久本草在线中文字幕| 国产超碰在线一区| 久久综合av免费| 久久国产精品露脸对白| 日韩精品最新网址| 日韩激情一二三区| 精品视频999| 一区二区三区四区蜜桃| 99国产精品视频免费观看| 欧美激情一区二区三区蜜桃视频| 九色综合狠狠综合久久| 欧美成人在线直播| 久久国产婷婷国产香蕉| 精品日韩在线观看| 国产精品88av| 久久久综合视频| 精品在线播放午夜| 精品国产不卡一区二区三区| 另类调教123区| 精品1区2区在线观看| 久久不见久久见免费视频1| 日韩美女视频在线| 国产一区二区女| 国产亚洲精品aa午夜观看| 国产宾馆实践打屁股91| 国产精品久久久久毛片软件| 成人av在线资源网站| 亚洲丝袜自拍清纯另类| 一本色道久久综合精品竹菊| 亚洲一区中文在线| 欧美精品在线观看播放| 麻豆91精品视频| 国产视频视频一区| 色婷婷精品久久二区二区蜜臀av | 欧美mv日韩mv国产网站| 国产精一区二区三区| 欧美激情艳妇裸体舞| 色狠狠色狠狠综合| 天天操天天综合网| 久久精品亚洲乱码伦伦中文| 99久久久国产精品| 石原莉奈在线亚洲三区| 亚洲精品在线免费播放| 大胆亚洲人体视频| 亚洲国产成人av| 欧美不卡一区二区三区四区| 国产成人av影院| 亚洲v日本v欧美v久久精品| 精品国产乱码久久| 97精品久久久午夜一区二区三区| 香蕉成人伊视频在线观看| 久久久久久久综合色一本| 色呦呦国产精品| 国内外精品视频| 亚洲自拍偷拍图区| 国产亚洲欧美中文| 欧美视频一区二区三区在线观看| 精品无码三级在线观看视频| 亚洲精品va在线观看| 久久综合国产精品| 欧美巨大另类极品videosbest| 风流少妇一区二区| 日韩福利电影在线| 一区二区三区在线观看欧美| 欧美精品一区二区在线播放| 欧美网站大全在线观看| 懂色av噜噜一区二区三区av| 免费在线观看日韩欧美| 亚洲欧美日韩系列| 国产亚洲美州欧州综合国| 欧美日韩1234| 色综合天天性综合| 大陆成人av片| 国产精品综合二区| 人禽交欧美网站| 亚洲电影视频在线| ●精品国产综合乱码久久久久| 精品久久久网站| 欧美日韩一区二区三区四区五区 | 精品一区二区综合| 午夜视频在线观看一区二区三区| 国产精品青草久久| 久久久久国产精品人| 欧美成人综合网站| 欧美一二三区在线| 欧美精品丝袜中出| 欧美日韩中文字幕一区| 91女人视频在线观看| 成人动漫一区二区在线| 成人免费高清视频| aaa国产一区| 成人国产一区二区三区精品| 国产剧情一区在线| 国产一区二区三区日韩| 国内精品第一页| 久久99国产精品久久99| 精品制服美女丁香| 韩国v欧美v日本v亚洲v| 国产精品一二三| 懂色av一区二区三区免费观看| 国产一区二区91| 国产成人av影院| 97se亚洲国产综合自在线不卡| 成人av在线影院| 色综合天天综合狠狠| 欧美性做爰猛烈叫床潮| 欧美日韩免费高清一区色橹橹| 欧美日韩在线播放三区| 欧美一区日韩一区| 精品成人免费观看| 欧美激情一区二区三区全黄| 亚洲视频一区二区免费在线观看| 一区二区三区四区在线免费观看| 亚洲第一av色| 国产一区二区三区蝌蚪| 成人精品高清在线| 在线观看亚洲一区| 欧美一区三区四区| 亚洲国产成人一区二区三区| 亚洲视频免费观看| 偷拍亚洲欧洲综合| 国产乱子伦视频一区二区三区| 成人亚洲一区二区一| 欧美伊人久久久久久久久影院| 这里是久久伊人| 久久久一区二区| 亚洲国产成人av网| 国产美女av一区二区三区| 91视频你懂的| 日韩无一区二区| 国产精品国产三级国产普通话99 | 91免费看`日韩一区二区| 欧洲精品中文字幕| 日韩欧美黄色影院| 国产精品久久久久一区| 午夜天堂影视香蕉久久| 丰满放荡岳乱妇91ww| 欧美日韩一区三区四区| 国产日韩精品一区| 亚洲午夜精品在线| 成人做爰69片免费看网站| 欧美日韩国产a| 中文字幕一区三区| 日本欧美在线观看| 色94色欧美sute亚洲线路二| 欧美大片一区二区三区| 亚洲欧美视频一区| 国产一区二区在线观看免费| 在线观看区一区二| 久久新电视剧免费观看| 天天综合天天综合色| 91一区二区在线| 国产午夜亚洲精品不卡| 青青草一区二区三区| 99精品热视频| 久久奇米777| 美国av一区二区| 欧美午夜精品久久久久久孕妇| 欧美激情综合五月色丁香小说| 日韩不卡在线观看日韩不卡视频| 91麻豆高清视频| 欧美经典一区二区三区| 激情综合网av| 欧美一级高清片| 日韩影视精彩在线| 欧美亚洲一区二区在线观看| 国产精品国产三级国产有无不卡| 国产成人在线免费| 欧美精品一区二区三| 免费成人美女在线观看| 91精品婷婷国产综合久久性色| 夜夜嗨av一区二区三区| 99久久精品免费看国产免费软件| 久久久久国产精品厨房| 国产精品456| 久久亚洲综合色| 国产精品影音先锋| 久久午夜老司机| 国产伦精品一区二区三区视频青涩 | 美腿丝袜亚洲一区| 欧美一区二区三区在线电影| 首页国产欧美久久| 欧美日韩dvd在线观看|