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

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

?? ss_gen.c

?? 中國石油二期加油站IC系統后臺通訊軟件
?? C
?? 第 1 頁 / 共 2 頁
字號:
        goto cleanup2;
    }

#ifdef SS_DRVR_SUPPORT
    /* initialize driver task information */
    for (i = 0;  i < SS_MAX_DRVRTSKS;  i++)
    {
        drvrTsk = &osCp.drvrTskTbl[i];

        drvrTsk->used = FALSE;

        drvrTsk->channel = 0;
        drvrTsk->actvTsk = NULLP;
        drvrTsk->isTsk = NULLP;
        drvrTsk->low = 0;
        drvrTsk->high = 0;
    }

    osCp.numDrvrTsks = 0;

    /* implementation specific driver initialization */
    ret = ssdInitDrvr();
    if (ret != ROK)
    {
        SSLOGERROR(ERRCLS_DEBUG, ESS208, (ErrVal) ret,
                   "Could not init ssdInitDrvr");
        goto cleanup3;
    }
#endif

#ifdef SS_RTR_SUPPORT
    for (i = 0; i < SS_MAX_RTRTSKS; i++)
    {
        osCp.rtrTskTbl[i] = NULLP;
    }
#endif
    /* initialize the demand queue lookup table */
    osCp.dmndQLookupTbl[0] = 255;
    osCp.dmndQLookupTbl[1] = 0;
    osCp.dmndQLookupTbl[2] = 1;
    osCp.dmndQLookupTbl[3] = 1;
    for (i = 4;  i < 256;  i++)
    {
        if (i >= 128  &&  i <= 255)
            osCp.dmndQLookupTbl[i] = 7;
        if (i >= 64  &&  i <= 127)
            osCp.dmndQLookupTbl[i] = 6;
        if (i >= 32  &&  i <= 63)
            osCp.dmndQLookupTbl[i] = 5;
        if (i >= 16  &&  i <= 31)
            osCp.dmndQLookupTbl[i] = 4;
        if (i >= 8  &&  i <= 15)
            osCp.dmndQLookupTbl[i] = 3;
        if (i >= 4  &&  i <= 7)
            osCp.dmndQLookupTbl[i] = 2;
    }


    /* initialize timer information */
    for (i = 0;  i < SS_MAX_TMRS;  i++)
    {
        tmr = &osCp.tmrTbl[i];

        tmr->used = FALSE;
        tmr->tmrId = 0;
        tmr->ownerEnt = ENTNC;
        tmr->ownerInst = INSTNC;
        tmr->interval = 0;
        tmr->tmrActvFn = NULLP;

        tmr->nxt = i + 1;
    }

    osCp.numTmrs = 0;
    osCp.nxtTmrEntry = 0;

    ret = SInitLock(&osCp.tmrTblLock, SS_TMRTBL_LOCK);
    if (ret != ROK)
    {
        SSLOGERROR(ERRCLS_DEBUG, ESS208, (ErrVal) ret,
                   "Could not init SInitLock");
        goto cleanup4;
    }

    /* implementation specific timer initialization */
    ret = ssdInitTmr();
    if (ret != ROK)
    {
        SSLOGERROR(ERRCLS_DEBUG, ESS208, (ErrVal) ret,
                   "Could not init ssdInitTmr");
        SDestroyLock(&osCp.tmrTblLock);
        goto cleanup4;
    }


    /* implementation specific final initialization */
    ret = ssdInitFinal();
    if (ret != ROK)
    {
        SSLOGERROR(ERRCLS_DEBUG, ESS208, (ErrVal) ret,
                   "Could not init ssdInitFinal");
        goto cleanup5;
    }


    /* call init task () function */
/*   ret = ROK;
    if(NULLP != RegInit){
        ret = (*RegInit)();
    }
  
   if (ret != ROK)
   {
      goto cleanup6;
   }
*/

    /* call implementation-specific starter function */
    ssdStart();


    RETVALUE(ROK);


    /* clean up code */
    cleanup6:
    ssdDeinitFinal();

    cleanup5:
    ssdDeinitTmr();
    SDestroyLock(&osCp.tmrTblLock);

    cleanup4:
#ifdef SS_DRVR_SUPPORT
    ssdDeinitDrvr();

    cleanup3:
#endif
    ssdDeinitTsk();
    SDestroyLock(&osCp.sTskTblLock);
    ssDestroySema(&osCp.tTskTblSem);

    cleanup2:
    ssdDeinitMem();
    ssDestroySema(&osCp.regionTblSem);

    cleanup1:
    ssdDeinitGen();


    RETVALUE(RFAILED);
}


/*
*
*       Fun:   SPrint
*
*       Desc:  Print a string.
*
*              This function should be used for debugging only.
*
*       Ret:   ROK      - ok
*
*       Notes: Text buffer should be null terminated.
*
*              SDisplay will replace SPrint.
*
*              Typical usage consists of a call to sprintf to
*              format the string into a buffer followed by a
*              call to SPrint
*
*       File:  ss_gen.c
*
*/
#ifdef ANSI
PUBLIC S16 SPrint
(
Txt *buf                        /* buffer */
)
#else
PUBLIC S16 SPrint(buf)
Txt *buf;                       /* buffer */
#endif
{
    TRC1(SPrint);

    SDisplay(0, buf);

    RETVALUE(ROK);

} /* end of SPrint */


/*
*
*       Fun:   SError
*
*       Desc:  Invoked by layer when an unrecoverable
*              software error is detected. This function should
*              never return.
*
*       Ret:   None
*
*       Notes: None
*
*       File:  ss_gen.c
*
*/
#ifdef ANSI
PUBLIC S16 SError
(
Seq seq,                    /* sequence */
Reason reason               /* reason */
)
#else
PUBLIC S16 SError(seq, reason)
Seq seq;                    /* sequence */
Reason reason;              /* reason */
#endif
{
    S16 ret;
    DateTime dt;
    Txt errBuf[256];


    TRC1(SError);


    SGetDateTime(&dt);
    sprintf(errBuf, "\n\ndate: %02d/%02d/%04d time: %02d:%02d:%02d\n",
            (int)dt.month,(int)dt.day,(int)dt.year + 1900,
            (int)dt.hour,(int)dt.min,(int)dt.sec);
    SPrint(errBuf);


    ret = ssdError(seq, reason);


    RETVALUE(ret);
}


/*
*
*       Fun:   SLogError
*
*       Desc:  Invoked by layer to log an error.
*
*       Ret:   None
*
*       Notes: None
*
*       File:  ss_gen.c
*
*/
#ifdef ANSI
PUBLIC Void SLogError
(
Ent ent,                    /* Calling layer's entity id */
Inst inst,                  /* Calling layer's instance id */
ProcId procId,              /* Calling layer's processor id */
Txt *file,                  /* file name where error occured */
S32 line,                   /* line in file where error occured */
ErrCls errCls,              /* error class */
ErrCode errCode,            /* layer unique error code */
ErrVal errVal,              /* error value */
Txt *errDesc                /* description of error */
)
#else
PUBLIC Void SLogError(ent, inst, procId, file, line,
                      errCls, errCode, errVal, errDesc)
Ent ent;                    /* Calling layer's entity id */
Inst inst;                  /* Calling layer's instance id */
ProcId procId;              /* Calling layer's processor id */
Txt *file;                  /* file name where error occured */
S32 line;                   /* line in file where error occured */
ErrCls errCls;              /* error class */
ErrCode errCode;            /* layer unique error code */
ErrVal errVal;              /* error value */
Txt *errDesc;               /* description of error */
#endif
{
    DateTime dt;
    Txt errBuf[512];


    TRC1(SLogError);


    SGetDateTime(&dt);
    sprintf(errBuf, "\n\ndate: %02d/%02d/%04d time: %02d:%02d:%02d\n",
            (int)dt.month,(int)dt.day,(int)dt.year + 1900,
            (int)dt.hour,(int)dt.min,(int)dt.sec);
    SDisplay(0,errBuf);


    ssdLogError(ent, inst, procId, file, line,
                errCls, errCode, errVal, errDesc);


    RETVOID;
}


/*
*
*       Fun:   SFndProcId
*
*       Desc:  This function finds the local processor ID.
*
*       Ret:   local processor id
*
*       Notes:
*
*       File:  ss_gen.c
*
*/
#ifdef ANSI
PUBLIC ProcId SFndProcId
(
void
)
#else
PUBLIC ProcId SFndProcId()
#endif
{
    TRC1(SFndProcId);

    RETVALUE(osCp.procId);

} /* end of SFndProcId */


/*
*
*       Fun:   SSetProcId
*
*       Desc:  This function stores the local processor ID.
*
*       Ret:   Void
*
*       Notes: 
*
*       File:  ss_gen.c
*
*/
#ifdef ANSI
PUBLIC Void SSetProcId
(
ProcId procId
)
#else
PUBLIC Void SSetProcId(procId)
ProcId procId;
#endif
{
    TRC1(SSetProcId);


    osCp.procId = procId;


    RETVOID;
}




/*** add by shang, 2002-1-10 ***/

S16 ssGetEntName(Ent ent, S8 ** name)
{
    U32 i;
    for (i = 0 ; i < SS_MAX_ENT; i++)
    {
        if (g_entNameTbl[i].ent == ENTNC)
        {
            RETVALUE(RFAILED);
        }
        if (ent == g_entNameTbl[i].ent)
        {
            *name = g_entNameTbl[i].desc;
            RETVALUE(ROK);
        }
    }
    RETVALUE(RFAILED);
}


/*** add by shang is over ***/




/********************************************************************30**
  
         End of file: ss_gen.c 1.3  -  08/11/98 11:02:18
  
*********************************************************************31*/

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

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

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

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

/********************************************************************90**
 
     ver       pat    init                  description
------------ -------- ---- ----------------------------------------------
1.1          ---      kp   1. initial release
  
1.2          ---      ag   1. Changed procId for SS to SS_PROC_ID
                              (defined by the implementation)
             ---      ag   2. Fixed a bug in function SInit
             ---      bsr  3. Changed return value for SInit and added
                              error deinit functions
             ---      kp   4. Cosmetic changes

1.3          ---      kp   1. Year display in SLogError() and SError()
                              converted into 4 digits for Y2K related
                              requirements.

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品国产成人国产三级| 国产午夜精品一区二区三区四区| 日本成人在线一区| 久久精品人人爽人人爽| 色婷婷亚洲一区二区三区| 中文一区一区三区高中清不卡| 色综合久久综合网欧美综合网 | 国产美女精品人人做人人爽| 国产精品久久三| 91精品久久久久久久91蜜桃| 美女在线观看视频一区二区| 1000部国产精品成人观看| 日韩欧美一级在线播放| 91影视在线播放| 久久精品噜噜噜成人av农村| 亚洲精品免费在线观看| 精品国产乱码久久| 欧美性大战xxxxx久久久| 国产激情91久久精品导航| 五月婷婷激情综合网| 欧美大片在线观看| 国产亚洲精品超碰| 欧美精品1区2区3区| 成人午夜伦理影院| 久久99精品国产麻豆婷婷| 一区二区三区在线视频免费 | 日韩二区三区在线观看| 亚洲欧洲综合另类| 2021国产精品久久精品| 欧美日韩一区二区电影| 成人av集中营| 国产成人免费在线观看| 久久国产精品99久久久久久老狼| 一区二区三区在线播放| 中日韩av电影| 国产亚洲福利社区一区| 日韩一级高清毛片| 欧美乱熟臀69xxxxxx| 在线一区二区视频| 色综合天天性综合| 成人av网站在线观看| 高清成人免费视频| 蜜桃视频一区二区三区| 1区2区3区欧美| 国产精品久久毛片| 国产精品视频看| 久久久久久免费| 久久精品在这里| 久久影院视频免费| 久久亚洲综合色一区二区三区| 欧美日韩国产电影| 欧美视频在线一区二区三区| 色八戒一区二区三区| 99精品一区二区| 91在线视频免费91| eeuss鲁片一区二区三区| 国产高清精品网站| 久久国产人妖系列| 久久国产精品免费| 国产一区二区三区最好精华液| 看电视剧不卡顿的网站| 久久超碰97中文字幕| 久久不见久久见免费视频1| 久久精品久久久精品美女| 国产一区二区三区不卡在线观看 | 国内精品在线播放| 国产91精品一区二区麻豆亚洲| 精品一区二区三区在线视频| 久久se这里有精品| 成人永久aaa| 99久免费精品视频在线观看| 91在线观看免费视频| 欧美三级日韩三级国产三级| 精品视频在线视频| 欧美久久一二区| 日韩一区二区三区视频在线| 欧美一区二区三区免费观看视频| 欧美一区二区三区爱爱| 亚洲成人午夜电影| 日韩一区欧美小说| 三级不卡在线观看| 激情综合色播激情啊| 成人黄色在线网站| 欧美亚洲一区二区在线| 7777精品伊人久久久大香线蕉超级流畅| 欧美一区二区女人| 337p亚洲精品色噜噜狠狠| 久久综合九色综合97_久久久| 欧美极品美女视频| 一区二区日韩av| 丝袜亚洲精品中文字幕一区| 精品综合久久久久久8888| 成人黄色小视频在线观看| 欧美主播一区二区三区| 日韩欧美国产系列| 国产精品国产馆在线真实露脸 | 欧美www视频| 欧美韩日一区二区三区四区| 亚洲色图丝袜美腿| 天天综合日日夜夜精品| 国产激情一区二区三区四区| 91久久国产综合久久| 精品三级在线看| 亚洲精选视频免费看| 日本欧美一区二区| www.色综合.com| 欧美一个色资源| 一区二区在线观看av| 精品一区二区三区不卡| 欧美午夜一区二区| 亚洲国产精品av| 亚洲午夜羞羞片| aaa国产一区| 久久久久久麻豆| 日韩av一级片| 在线观看欧美精品| 国产欧美一区二区精品久导航| 亚洲一级二级在线| 成人丝袜18视频在线观看| 4438x成人网最大色成网站| 国产精品无人区| 国产一区亚洲一区| 欧美一区二区三区四区久久| 亚洲精品视频一区二区| 国产成人在线电影| 欧美mv日韩mv亚洲| 香蕉成人啪国产精品视频综合网| 粉嫩久久99精品久久久久久夜| 欧美日韩高清一区二区不卡| 亚洲欧洲成人自拍| 国产伦精品一区二区三区免费| 欧美乱妇20p| 亚洲成年人网站在线观看| 91免费国产视频网站| 欧美不卡视频一区| 日本大胆欧美人术艺术动态| 欧美色涩在线第一页| 亚洲区小说区图片区qvod| 成人av网站在线观看免费| 久久久久久久精| 日韩二区在线观看| 欧美乱熟臀69xxxxxx| 亚洲小说欧美激情另类| 91久久国产最好的精华液| 自拍偷拍国产精品| 色综合久久综合网欧美综合网 | 国模无码大尺度一区二区三区| 精品88久久久久88久久久| 国产成人高清在线| 中文字幕五月欧美| 日本高清不卡在线观看| 日精品一区二区三区| 337p日本欧洲亚洲大胆精品| 国产福利不卡视频| 亚洲少妇30p| 欧美高清视频一二三区| 激情五月激情综合网| 国产精品美女久久久久aⅴ国产馆| 99视频热这里只有精品免费| 亚洲国产中文字幕在线视频综合| 欧美色区777第一页| 蜜臀国产一区二区三区在线播放| 久久青草欧美一区二区三区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 国产精品国产三级国产普通话蜜臀| 99国产精品国产精品久久| 性做久久久久久| 久久免费的精品国产v∧| 91免费看`日韩一区二区| 日韩高清不卡一区二区三区| 久久蜜桃av一区精品变态类天堂| www.欧美.com| 男女男精品视频| 国产精品美女久久久久av爽李琼| 欧美天堂一区二区三区| 精品一区二区三区免费毛片爱| 国产精品美女久久久久久久| 欧美日韩一区二区三区视频| 国产在线不卡一区| 亚洲美女少妇撒尿| 精品国产一区二区在线观看| 91蜜桃网址入口| 乱一区二区av| 一区二区三区在线高清| 精品国产青草久久久久福利| 91官网在线免费观看| 国产精选一区二区三区| 亚洲123区在线观看| 国产精品视频一二| 欧美大度的电影原声| 一本到三区不卡视频| 国产精品456露脸| 天天免费综合色| 亚洲毛片av在线| 国产日韩欧美精品电影三级在线| 欧美日韩免费一区二区三区视频| 粉嫩aⅴ一区二区三区四区五区| 日本不卡的三区四区五区| 一片黄亚洲嫩模| 中文字幕在线免费不卡|