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

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

?? ss_rtr.c

?? 中國石油二期加油站IC系統后臺通訊軟件
?? C
字號:


/********************************************************************20**
 
     Name:     System Services -- Router
 
     Type:     C source file
 
     Desc:     Source code for router support in System Services.
 
     File:     ss_rtr.c
 
     Sid:      ss_rtr.c 1.1  -  10/14/98 14:19:54
 
     Prg:      kp
 
*********************************************************************21*/



/* header include files (.h) */

#include "envopt.h"        /* environment options */
#include "envdep.h"        /* environment dependent */
#include "envind.h"        /* environment independent */

#include "gen.h"           /* general layer */
#include "ssi.h"           /* system services */

#include "ss_err.h"        /* errors */
#include "ss_dep.h"        /* implementation-specific */
#include "ss_queue.h"      /* queues */
#include "ss_task.h"       /* tasking */
#include "ss_msg.h"        /* messaging */
#include "ss_mem.h"        /* memory management interface */
#include "ss_gen.h"        /* general */



/* header/extern include files (.x) */

#include "gen.x"           /* general layer */
#include "ssi.x"           /* system services */

#include "ss_dep.x"        /* implementation-specific */
#include "ss_queue.x"      /* queues */
#include "ss_task.x"       /* tasking */
#include "ss_timer.x"      /* timers */
#include "ss_strm.x"       /* STREAMS */
#include "ss_msg.x"        /* messaging */
#include "ss_mem.x"        /* memory management interface */
#include "ss_drvr.x"       /* driver tasks */
#include "ss_gen.x"        /* general */


#ifdef SS_RTR_SUPPORT



/*
*
*       Fun:   SRegRtrTsk
*
*       Desc:  This function is used to register a router task.
*
*       Ret:   ROK      - ok
*              RFAILED  - failed, general (optional)
*              ROUTRES  - failed, out of resources (optional)
*
*       Notes:
*
*       File:  ss_rtr.c
*
*/
    #ifdef ANSI
PUBLIC S16 SRegRtrTsk
(
Route *routes,                  /* route IDs */
Cntr count,                     /* number of route IDs */
ActvTsk rtrTsk                  /* router activation task */
)
    #else
PUBLIC S16 SRegRtrTsk(routes, count, rtrTsk)
Route *routes;                  /* route IDs */
Cntr count;                     /* number of route IDs */
ActvTsk rtrTsk;                 /* router activation task */
    #endif
{
    S16 i;


    TRC1(SRegRtrTsk);


#if (ERRCLASS & ERRCLS_INT_PAR)
    for (i = 0;  i < count;  i++)
    {

        /* check for valid route ID */
        if (routes[i] == RTENC)
        {
            SSLOGERROR(ERRCLS_INT_PAR, ESS424, ERRZERO, "Invalid route ID");
            RETVALUE(RFAILED);
        }

        /* add by shang */
        if (routes[i] >= SS_MAX_RTRTSKS)
        {
            SSLOGERROR(ERRCLS_INT_PAR, ESS424, ERRZERO,
                       "Invalid route ID");
            RETVALUE(RFAILED);
        }
        /* add by shang over */

        /* check if route already registered */
        if (osCp.rtrTskTbl[routes[i]] != NULLP)
        {
            SSLOGERROR(ERRCLS_INT_PAR, ESS425, ERRZERO,
                       "Route already registered");
            RETVALUE(RFAILED);
        }
    }

    /* check activation function */
    if (rtrTsk == NULLP)
    {
        SSLOGERROR(ERRCLS_INT_PAR, ESS426, ERRZERO, "Null pointer");
        RETVALUE(RFAILED);
    }
#endif


    /* install this router task, for all requested routes */
    for (i = 0;  i < count;  i++)
    {
        if (SInitLock(&osCp.rtrTskLocks[routes[i]], SS_RTRENTRY_LOCK) != ROK)
        {

#if (ERRCLASS & ERRCLS_DEBUG)
            SSLOGERROR(ERRCLS_DEBUG, ESS427, ERRZERO,
                       "Could not initialize router task lock");
#endif

            break;
        }

        osCp.rtrTskTbl[routes[i]] = rtrTsk;
    }

    if (i != count)
    {
        for (--i;  i >= 0;  i--)
        {
            SDestroyLock(&osCp.rtrTskLocks[routes[i]]);
            osCp.rtrTskTbl[routes[i]] = NULLP;
        }


        RETVALUE(RFAILED);
    }


    RETVALUE(ROK);
}


/*
*
*       Fun:   SDeregRtrTsk
*
*       Desc:  This function is used to deregister a router task.
*
*       Ret:   ROK      - ok
*              RFAILED  - failed, general (optional)
*              ROUTRES  - failed, out of resources (optional)
*
*       Notes:
*
*       File:  ss_rtr.c
*
*/
    #ifdef ANSI
PUBLIC S16 SDeregRtrTsk
(
Route *routes,                  /* route IDs */
Cntr count                     /* number of route IDs */
)
    #else
PUBLIC S16 SDeregRtrTsk(routes, count)
Route *routes;                  /* route IDs */
Cntr count;                     /* number of route IDs */
    #endif
{
    S16 i;


    TRC1(SDeregRtrTsk);

    /* install this router task, for all requested routes */
    for (i = 0;  i < count;  i++)
    {
        if (routes[i] >= SS_MAX_RTRTSKS)
        {
#if (ERRCLASS & ERRCLS_DEBUG)
            SSLOGERROR(ERRCLS_DEBUG, ESS427, ERRZERO,
                       "invalid route parameters ");
#endif
            RETVALUE(RFAILED);
        }

        if (ROK != SLock(&osCp.rtrTskLocks[routes[i]]))
        {
#if (ERRCLASS & ERRCLS_DEBUG)
            SSLOGERROR(ERRCLS_DEBUG, ESS427, ERRZERO,
                       "Slock error");
#endif
            RETVALUE(RFAILED);
        }

        osCp.rtrTskTbl[routes[i]] = NULLP;
        SDestroyLock(&osCp.rtrTskLocks[routes[i]]);
    }

    RETVALUE(ROK);
}



#endif /* SS_RTR_SUPPORT */



/********************************************************************30**
  
         End of file: ss_rtr.c 1.1  -  10/14/98 14:19:54
  
*********************************************************************31*/

  
/********************************************************************40**
  
        Notes: 
  
*********************************************************************41*/

/********************************************************************50**

*********************************************************************51*/

   
/********************************************************************60**
  
        Revision history:
  
*********************************************************************61*/

/********************************************************************90**
 
     ver       pat    init                  description
------------ -------- ---- ----------------------------------------------
1.1          ---      kp   1. initial release

*********************************************************************91*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品一区二区久久| 日本成人中文字幕在线视频| 欧美一级黄色大片| 国产成都精品91一区二区三| 丝袜美腿亚洲一区二区图片| 中文子幕无线码一区tr| 91精品国产色综合久久ai换脸| 丁香婷婷综合激情五月色| 亚洲大片在线观看| 中文字幕在线不卡| 久久午夜电影网| 91精品麻豆日日躁夜夜躁| 91极品美女在线| 成人亚洲一区二区一| 成人91在线观看| 成人免费电影视频| 免费看欧美美女黄的网站| 久久久噜噜噜久久人人看| 色综合一个色综合亚洲| 亚洲精品五月天| 欧美三级电影在线观看| 懂色av一区二区三区免费观看 | 亚洲同性同志一二三专区| 日韩欧美一区二区久久婷婷| 欧美日韩免费观看一区二区三区| www.综合网.com| 成人毛片在线观看| 激情偷乱视频一区二区三区| 视频一区欧美精品| 亚洲线精品一区二区三区八戒| 亚洲精品日韩一| 亚洲免费av观看| 亚洲丝袜制服诱惑| 日韩一区日韩二区| 中文字幕一区在线观看视频| 国产精品家庭影院| 国产精品麻豆欧美日韩ww| 国产情人综合久久777777| 久久免费精品国产久精品久久久久| 日韩精品一区国产麻豆| 欧美tk—视频vk| 久久天堂av综合合色蜜桃网| 26uuuu精品一区二区| 久久久三级国产网站| 久久免费看少妇高潮| 久久亚洲免费视频| 久久精品免视看| 国产精品久久综合| 国产精品久久久久影院老司| 亚洲色图一区二区| 亚洲情趣在线观看| 亚洲高清在线精品| 日本一不卡视频| 久久黄色级2电影| 国产精品自拍网站| 懂色av一区二区夜夜嗨| 色综合久久天天| 欧美在线影院一区二区| 欧美精品免费视频| 91精品在线免费| 久久久久久久久久久久久久久99| 日本一区二区动态图| 亚洲免费在线电影| 午夜电影网亚洲视频| 免费成人在线观看视频| 国产成人免费视频网站| 99久久精品费精品国产一区二区| 欧美日韩免费一区二区三区| 精品1区2区在线观看| 国产精品第13页| 亚洲成人tv网| 国产传媒一区在线| 日本二三区不卡| 日韩欧美视频在线| 国产精品国产馆在线真实露脸| 亚洲成人手机在线| 国产伦精品一区二区三区视频青涩| 菠萝蜜视频在线观看一区| 欧美日韩中文国产| 久久久久久黄色| 亚洲国产欧美一区二区三区丁香婷| 伦理电影国产精品| 91网站最新地址| 日韩欧美国产精品| 一区二区三区国产| 久久99久久久欧美国产| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美精品色一区二区三区| 欧美国产日韩一二三区| 五月激情六月综合| kk眼镜猥琐国模调教系列一区二区| 欧美日韩精品二区第二页| 中日韩av电影| 日本少妇一区二区| 91影院在线观看| 26uuu另类欧美亚洲曰本| 一区二区三区不卡在线观看 | 在线精品视频免费播放| xnxx国产精品| 日韩不卡一二三区| 一本大道久久精品懂色aⅴ| 精品国产乱码久久久久久夜甘婷婷| 亚洲色图19p| 国产成人综合在线观看| 日韩精品一区二区三区在线播放| 亚洲午夜精品网| 99在线视频精品| 国产亚洲欧美色| 强制捆绑调教一区二区| 欧美性做爰猛烈叫床潮| 国产精品伦理在线| 久久成人精品无人区| 欧美性感一类影片在线播放| 亚洲视频一区在线| 国产成人在线免费| 欧美大片日本大片免费观看| 亚洲国产视频直播| 日本韩国一区二区三区视频| 亚洲国产高清不卡| 免费成人美女在线观看.| 欧美亚洲综合色| 一区二区三区美女视频| 色狠狠一区二区| 亚洲天堂成人网| 99热精品国产| 亚洲人成网站色在线观看| 国产a级毛片一区| 国产亚洲综合av| 国产成人在线电影| 久久人人超碰精品| 韩日av一区二区| 精品国产乱码久久久久久久久| 青青草97国产精品免费观看| 日韩一区二区免费视频| 水野朝阳av一区二区三区| 欧美日韩另类一区| 五月天激情综合| 91精品国产色综合久久不卡蜜臀| 天天操天天综合网| 欧美另类久久久品| 视频在线观看国产精品| 欧美精三区欧美精三区| 日韩精品一级二级 | 国产成a人亚洲精| 国产精品色一区二区三区| 成人黄色小视频在线观看| 国产精品女主播在线观看| 成人黄色片在线观看| 亚洲美女在线一区| 欧美影院一区二区三区| 亚洲超丰满肉感bbw| 欧美一区二区在线看| 麻豆国产精品一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 国产·精品毛片| 亚洲精品视频在线| 欧美日韩免费一区二区三区| 免费观看成人av| 中文字幕va一区二区三区| 日本久久精品电影| 亚洲chinese男男1069| 日韩欧美成人激情| 国产丶欧美丶日本不卡视频| 亚洲色图第一区| 日韩一区二区三| 岛国av在线一区| 亚洲午夜久久久久久久久电影网| 日韩午夜三级在线| 国产不卡在线一区| 亚洲综合图片区| www国产精品av| 91在线观看一区二区| 亚洲国产你懂的| 久久综合五月天婷婷伊人| 成人激情黄色小说| 亚洲超丰满肉感bbw| 国产片一区二区三区| 欧美怡红院视频| 国产成人自拍在线| 亚洲人吸女人奶水| 欧美videossexotv100| 成人av网在线| 青娱乐精品视频在线| 亚洲国产高清在线观看视频| 欧美日本高清视频在线观看| 国产91在线|亚洲| 天天色图综合网| 国产精品久99| 欧美成人aa大片| 在线免费观看日本欧美| 激情成人午夜视频| 亚洲靠逼com| 国产午夜精品福利| 欧美日韩免费在线视频| 成人黄动漫网站免费app| 日韩精品福利网| 亚洲麻豆国产自偷在线| 久久亚洲精品国产精品紫薇| 欧美日韩你懂得| 91免费视频大全|