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

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

?? tmf.c

?? nucleas source code
?? C
?? 第 1 頁 / 共 2 頁
字號:


/*************************************************************************/
/*                                                                       */
/* FUNCTION                                                              */
/*                                                                       */
/*      TMF_Timer_Information                                            */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/*      This function returns information about the specified timer.     */
/*      However, if the supplied timer pointer is invalid, the           */
/*      function simply returns an error status.                         */
/*                                                                       */
/* CALLED BY                                                             */
/*                                                                       */
/*      Application                                                      */
/*                                                                       */
/* CALLS                                                                 */
/*                                                                       */
/*      [TCT_Check_Stack]                   Stack checking function      */
/*      TCT_System_Protect                  Protect active timer         */
/*      TCT_Unprotect                       Release protection           */
/*                                                                       */
/* INPUTS                                                                */
/*                                                                       */
/*      timer_ptr                           Pointer to the timer         */
/*      name                                Destination for the name     */
/*      enable                              Destination for the enable   */
/*                                            posture                    */
/*      expirations                         Destination for the total    */
/*                                            number of expirations      */
/*      id                                  Destination for the timer id */
/*      initial_time                        Destination for the initial  */
/*                                            time                       */
/*      reschedule_time                     Destination for the          */
/*                                            reschedule time            */
/*                                                                       */
/* OUTPUTS                                                               */
/*                                                                       */
/*      NU_SUCCESS                          If a valid timer pointer     */
/*                                            is supplied                */
/*      NU_INVALID_TIMER                    If timer pointer invalid     */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*        DATE                    REMARKS                                */
/*                                                                       */
/*      03-01-1993      Created initial version 1.0                      */
/*      04-19-1993      Verified version 1.0                             */
/*      08-09-1993      Corrected problem that caused an                 */
/*                      invalid application timer ID                     */
/*                      to be returned to the caller,                    */
/*                      resulting in version 1.0a                        */
/*      08-09-1993      Verified version 1.0a                            */
/*      03-01-1994      Changed function interface,                      */
/*                      resulting in version 1.1                         */
/*                                                                       */
/*      03-18-1994      Verified version 1.1                             */
/*      11-18-1996      Corrected SPR220.                                */
/*                                                                       */
/*************************************************************************/
STATUS  TMF_Timer_Information(NU_TIMER *timer_ptr, CHAR *name,
                  OPTION *enable, UNSIGNED *expirations, UNSIGNED *id,
                  UNSIGNED *initial_time, UNSIGNED *reschedule_time)
{

TM_APP_TCB     *timer;                      /* Timer control block ptr   */
INT             i;                          /* Working integer variable  */
STATUS          completion;                 /* Completion status         */
NU_SUPERV_USER_VARIABLES

    /* Switch to supervisor mode */
    NU_SUPERVISOR_MODE();

    /* Move input timer pointer into internal pointer.  */
    timer =  (TM_APP_TCB *) timer_ptr;


#ifdef  NU_ENABLE_STACK_CHECK

    /* Call stack checking function to check for an overflow condition.  */
    TCT_Check_Stack();

#endif

    /* Protect the active list.  */
    TCT_System_Protect();

    /* Determine if this timer ID is valid.  */
    if ((timer != NU_NULL) && (timer -> tm_id == TM_TIMER_ID))
    {

        /* The timer pointer is valid.  Reflect this in the completion
           status and fill in the actual information.  */
        completion =  NU_SUCCESS;

        /* Copy the timer's name.  */
        for (i = 0; i < NU_MAX_NAME; i++)
            *name++ =  timer -> tm_name[i];

        /* Determine if the timer is enabled or disabled.  */
        if (timer -> tm_enabled)

            *enable =  NU_ENABLE_TIMER;
        else

            *enable =  NU_DISABLE_TIMER;

        /* Fill in the remaining information.  */
        *expirations =          timer -> tm_expirations;
        *id =                   timer -> tm_expiration_id;
        *initial_time =         timer -> tm_initial_time;
        *reschedule_time =      timer -> tm_reschedule_time;
    }
    else

        /* Indicate that the timer pointer is invalid.   */
        completion =  NU_INVALID_TIMER;

    /* Release protection.  */
    TCT_Unprotect();

    /* Return to user mode */
    NU_USER_MODE();

    /* Return the appropriate completion status.  */
    return(completion);
}


/*************************************************************************/
/*                                                                       */
/* FUNCTION                                                              */
/*                                                                       */
/*      TMF_Get_Remaining_Time                                           */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/*      This function returns the remaining time before expiration for   */
/*      the specified timer.                                             */
/*                                                                       */
/*                                                                       */
/* CALLED BY                                                             */
/*                                                                       */
/*      Application                                                      */
/*                                                                       */
/* CALLS                                                                 */
/*                                                                       */
/*      TCT_System_Protect                  Protect active timer         */
/*      TCT_Unprotect                       Release protection           */
/*                                                                       */
/* INPUTS                                                                */
/*                                                                       */
/*      timer_ptr                           Pointer to the timer         */
/*                                                                       */
/* OUTPUTS                                                               */
/*                                                                       */
/*      remaining_time                      time until timer expiration  */
/*                                                                       */
/*      NU_INVALID_TIMER                    If timer pointer invalid     */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*         DATE                    REMARKS                               */
/*                                                                       */
/*       07-02-1998               Created service call                   */
/*                                                                       */
/*************************************************************************/


STATUS  TMF_Get_Remaining_Time(NU_TIMER *timer_ptr, UNSIGNED *remaining_time)
{
R1  TM_APP_TCB  *timer;
    TM_TCB      *real_TCB;
    TM_TCB      *list_ptr;
    INT         done = 0;
    STATUS      status;
    NU_SUPERV_USER_VARIABLES

    /* Switch to supervisor mode */
    NU_SUPERVISOR_MODE();

    /* Protect against simultaneous access to the active timers list*/
    TCT_System_Protect();

    list_ptr = TMD_Active_Timers_List;

    /* Get the application timer Control Block */
    timer = (TM_APP_TCB*) timer_ptr;


    /* Determine if this timer ID is valid.  */
    if ((timer != NU_NULL) && (timer -> tm_id == TM_TIMER_ID))
    {
        /* The timer pointer is valid.  Reflect this in the completion
           status and fill in the actual information.  */
        status =  NU_SUCCESS;

        /* Get the actual timer Control block */
        real_TCB = &(timer->tm_actual_timer);

        if (list_ptr == real_TCB)
            *remaining_time = list_ptr -> tm_remaining_time;
        else
        {
            if( list_ptr == NU_NULL)        /* in case no active timers exist */
                *remaining_time = 0;
            else
            {

            *remaining_time = list_ptr -> tm_remaining_time;

            do
            {
                /* Move the list pointer to the next timer in the list.  */
                list_ptr =  list_ptr -> tm_next_timer;

                *remaining_time += list_ptr -> tm_remaining_time;

                /* Check to see if we have gotten to the specified timer yet */
                if (list_ptr == real_TCB)
                    /* Searching is done.  */
                    done =  NU_TRUE;

            }while (!done);
        }
    }
    }
    else
        /* Indicate that the timer pointer is invalid.   */
        status =  NU_INVALID_TIMER;

    TCT_Unprotect();

    /* Return to user mode */
    NU_USER_MODE();

    return (status);
}




?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
69av一区二区三区| 精品一区二区三区在线播放| 国产精品白丝jk白祙喷水网站| 91精品视频网| 久久成人免费电影| 精品999在线播放| 成人国产视频在线观看| 国产精品毛片高清在线完整版| 成av人片一区二区| 国产在线国偷精品免费看| 中文字幕久久午夜不卡| 欧美主播一区二区三区| 五月综合激情网| 日韩女优视频免费观看| 国产精品乡下勾搭老头1| 精品一区精品二区高清| 国产精品久久久久久福利一牛影视 | 国产中文字幕一区| 亚洲欧美色综合| 欧美不卡一区二区三区| 成人免费不卡视频| 欧美aⅴ一区二区三区视频| 欧美成人猛片aaaaaaa| 一本一道久久a久久精品综合蜜臀| 亚洲成人激情综合网| 国产午夜久久久久| 日韩欧美国产一区二区在线播放 | 久久精品一区二区三区不卡| 色呦呦国产精品| 成人污视频在线观看| 日韩avvvv在线播放| 1区2区3区欧美| 中文字幕乱码一区二区免费| 精品福利视频一区二区三区| 欧美日韩国产一级| av电影在线观看不卡| 国产精品99久久久久| 国内一区二区视频| 免费看日韩精品| 日韩不卡免费视频| 婷婷丁香激情综合| 亚洲午夜国产一区99re久久| 亚洲免费在线观看视频| 久久精品夜色噜噜亚洲a∨| 日韩丝袜美女视频| 精品国内片67194| 日韩美女视频在线| 欧美精品一区二区三区蜜桃 | 国产99久久久国产精品| 国产乱人伦偷精品视频不卡| 国产乱色国产精品免费视频| 国产不卡在线播放| 91免费在线视频观看| 欧美三级日韩在线| 欧美一级片在线观看| 久久久久国色av免费看影院| 国产精品美女久久久久aⅴ国产馆| 国产精品麻豆一区二区| 一区二区三区成人| 精彩视频一区二区三区| 91网页版在线| 日韩三级中文字幕| 18成人在线观看| 免费在线观看视频一区| 国产盗摄一区二区三区| 在线国产亚洲欧美| 久久久久久久久免费| 亚洲精品美腿丝袜| 国产一区二区三区国产| 欧美吻胸吃奶大尺度电影| 国产女人水真多18毛片18精品视频| 日韩理论电影院| 国产一区久久久| 制服丝袜成人动漫| 亚洲欧洲国产专区| 激情文学综合网| 欧美日韩国产首页| 亚洲免费在线视频| 东方欧美亚洲色图在线| 日韩一级大片在线| 亚洲高清一区二区三区| 成人激情小说网站| 久久精品视频一区二区三区| 看国产成人h片视频| 国产午夜精品美女毛片视频| 五月激情丁香一区二区三区| 91久久人澡人人添人人爽欧美| 欧美国产日本视频| 激情综合色播激情啊| 精品国产第一区二区三区观看体验| 图片区日韩欧美亚洲| 欧美日韩精品二区第二页| 亚洲成人精品在线观看| 色老汉av一区二区三区| 亚洲日本丝袜连裤袜办公室| 99视频精品在线| 亚洲激情综合网| 欧美日韩另类国产亚洲欧美一级| 一区二区三区波多野结衣在线观看| 99久精品国产| 亚洲电影在线免费观看| 欧美一区二区观看视频| 久久精品国产精品亚洲精品 | 一区二区三区在线影院| 欧美性色综合网| 久久99国内精品| 国产精品日韩成人| 色综合色综合色综合色综合色综合| 亚洲欧美激情在线| 在线成人午夜影院| 懂色av一区二区夜夜嗨| 尤物av一区二区| 国产网红主播福利一区二区| 色综合久久九月婷婷色综合| 日韩成人一级片| 中文久久乱码一区二区| 777色狠狠一区二区三区| 国产成a人无v码亚洲福利| 亚洲国产成人高清精品| 国产欧美中文在线| 6080日韩午夜伦伦午夜伦| 国产 欧美在线| 九九视频精品免费| 亚洲超丰满肉感bbw| 精品一区二区三区在线播放| 久久精品男人的天堂| 51精品视频一区二区三区| 97精品久久久午夜一区二区三区 | 天天影视网天天综合色在线播放| 日本一区二区三区四区| 精品久久久久久亚洲综合网| 欧美在线999| 99在线精品一区二区三区| 国产乱子轮精品视频| 美国十次综合导航| 日韩精品欧美精品| 石原莉奈在线亚洲三区| 亚洲综合另类小说| 亚洲精品亚洲人成人网| 亚洲欧美国产三级| 亚洲精品国产a久久久久久 | 樱桃视频在线观看一区| 亚洲人成精品久久久久久| 国产精品看片你懂得| 中文字幕不卡的av| 国产精品免费av| 国产精品伦理在线| 亚洲婷婷综合久久一本伊一区 | 婷婷久久综合九色国产成人| 蜜乳av一区二区| 国产精品一二三四五| 国产不卡免费视频| 99精品视频在线观看| 在线观看网站黄不卡| 欧美另类一区二区三区| 亚洲精品在线电影| 中文无字幕一区二区三区| 亚洲狼人国产精品| 免费一区二区视频| 99热这里都是精品| 日韩一区二区视频| 国产精品国产三级国产aⅴ入口| 亚洲理论在线观看| 国产一区二区三区精品欧美日韩一区二区三区 | 久久伊99综合婷婷久久伊| 国产精品久久久久久久久免费桃花| 亚洲一区二区精品3399| 久久精品国产久精国产| 日本电影亚洲天堂一区| 日韩精品中文字幕一区 | 一区二区免费视频| 成人午夜激情片| 精品国产一区二区在线观看| 亚洲免费在线电影| 国产资源在线一区| 91精品综合久久久久久| 亚洲精品写真福利| 成人黄色电影在线| 日本一区二区高清| 精品无人区卡一卡二卡三乱码免费卡| 色欧美88888久久久久久影院| 久久婷婷久久一区二区三区| 日韩va欧美va亚洲va久久| 欧美日韩精品一区二区三区四区| 亚洲国产精品t66y| 福利一区二区在线观看| 欧美韩国日本综合| 国产在线不卡一区| 久久精品亚洲国产奇米99 | 亚洲一区二区精品3399| 欧美三区在线观看| 天天综合日日夜夜精品| 日韩一区二区三区四区五区六区| 天堂蜜桃91精品| 日韩一级免费一区| 国产乱码精品一区二区三区av | 亚洲欧美另类久久久精品| 91黄视频在线观看| 亚洲成人精品一区| 日韩欧美在线影院|