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

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

?? tcc.c

?? NucleusPLUS嵌入式操作系統是目前最受歡迎的操作系統NucleusPLUS是為實時嵌入式應用而設計的一個搶先式多任務操作系統內核
?? C
?? 第 1 頁 / 共 5 頁
字號:

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

    /* Move input HISR pointer into internal pointer.  */
    hisr =  (TC_HCB *) hisr_ptr;


#ifdef  NU_ENABLE_STACK_CHECK

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

#endif

#ifdef  NU_ENABLE_HISTORY

    /* Make an entry that corresponds to this function in the system history
       log.  */
    HIC_Make_History_Entry(NU_DELETE_HISR_ID, (UNSIGNED) hisr,
                                        (UNSIGNED) 0, (UNSIGNED) 0);

#endif

    /* Protect the list of created HISRs.  */
    TCT_Protect(&TCD_HISR_Protect);

#ifdef INCLUDE_PROVIEW
    _RTProf_DumpHisr(hisr,RT_PROF_DELETE_HISR);
#endif /*INCLUDE_PROVIEW*/

    /* Remove the HISR from the list of created HISRs.  */
    CSC_Remove_From_List(&TCD_Created_HISRs_List, &(hisr -> tc_created));

    /* Decrement the total number of created HISRs.  */
    TCD_Total_HISRs--;

    /* Clear the HISR ID just in case.  */
    hisr -> tc_id =  0;

    /* Release protection.  */
    TCT_Unprotect();

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

    /* Return a successful completion.  */
    return(NU_SUCCESS);
}


/*************************************************************************/
/*                                                                       */
/* FUNCTION                                                              */
/*                                                                       */
/*      TCC_Reset_Task                                                   */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/*      This function resets the specified task.  Note that a task reset */
/*      can only be performed on tasks in a finished or terminated state.*/
/*      The task is left in an unconditional suspended state.            */
/*                                                                       */
/* CALLED BY                                                             */
/*                                                                       */
/*      Application                                                      */
/*      TCCE_Reset_Task                     Error checking shell         */
/*                                                                       */
/* CALLS                                                                 */
/*                                                                       */
/*      [HIC_Make_History_Entry]            Make entry in history log    */
/*      TCT_Build_Task_Stack                Build an initial task stack  */
/*      [TCT_Check_Stack]                   Stack checking function      */
/*      TCT_Protect                         Protect created task list    */
/*      TCT_Unprotect                       Release protection of list   */
/*                                                                       */
/* INPUTS                                                                */
/*                                                                       */
/*      task_ptr                            Task control block pointer   */
/*      argc                                Optional task parameter      */
/*      argv                                Optional task parameter      */
/*                                                                       */
/* OUTPUTS                                                               */
/*                                                                       */
/*      NU_SUCCESS                          Indicates successful request */
/*      NU_NOT_TERMINATED                   Indicates task was not       */
/*                                            finished or terminated     */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*        DATE                    REMARKS                                */
/*                                                                       */
/*      03-01-1993      Created initial version 1.0                      */
/*      04-19-1993      Verified version 1.0                             */
/*      03-01-1994      Modified function interface,                     */
/*                      added register optimizations,                    */
/*                      added system protection logic,                   */
/*                      resulting in version 1.1                         */
/*                                                                       */
/*      03-18-1994      Verified version 1.1                             */
/*                                                                       */
/*************************************************************************/
STATUS  TCC_Reset_Task(NU_TASK *task_ptr, UNSIGNED argc, VOID *argv)
{

R1 TC_TCB      *task;                       /* Task control block ptr   */
STATUS          status;                     /* Status of the request    */
NU_SUPERV_USER_VARIABLES

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

    /* Move input task pointer into internal pointer.  */
    task =  (TC_TCB *) task_ptr;

#ifdef  NU_ENABLE_STACK_CHECK

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

#endif

#ifdef  NU_ENABLE_HISTORY

    /* Make an entry that corresponds to this function in the system history
       log.  */
    HIC_Make_History_Entry(NU_RESET_TASK_ID, (UNSIGNED) task,
                                        (UNSIGNED) argc, (UNSIGNED) argv);

#endif

    /* Protect system structures.  */
    TCT_Protect(&TCD_System_Protect);

    /* Determine if the task is in the proper state.  */
    if ((task -> tc_status == NU_FINISHED) ||
                        (task -> tc_status == NU_TERMINATED))
    {

        /* Yes, a valid reset is present.  Indicate this in the status.  */
        status =  NU_SUCCESS;

        /* Fill in the new argument information and reset some of the other
           fields.  */
        task -> tc_argc =                   argc;
        task -> tc_argv =                   argv;
        task -> tc_status =                 NU_PURE_SUSPEND;
        task -> tc_delayed_suspend =        NU_FALSE;
        task -> tc_scheduled =              0;
        task -> tc_stack_minimum =          task -> tc_stack_size;

#if (NU_SUPERV_USER_MODE == 1)
        /* Since we are doing a complete reset we need to ensure 
           that this field is 0 since the task will be started in
           user mode.  TCC_Task_Shell can not return and therefore
           left the task in supervisor mode when the task completed.
           If we were to not re-initialize this field the task would
           become locked in user mode and API would fail. */
        task -> tc_su_mode = 0;
#endif

        /* Build a stack frame for this task by calling
           TCT_Build_Task_Stack.  */
        TCT_Build_Task_Stack(task);
    }
    else

        /* The requested task is not in a finished or terminated state.  */
        status =  NU_NOT_TERMINATED;

#ifdef INCLUDE_PROVIEW
    _RTProf_DumpTask(task,RT_PROF_RESET_TASK);
#endif /*INCLUDE_PROVIEW*/

    /* Release the protection.  */
    TCT_Unprotect();

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

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


/*************************************************************************/
/*                                                                       */
/* FUNCTION                                                              */
/*                                                                       */
/*      TCC_Terminate_Task                                               */
/*                                                                       */
/* DESCRIPTION                                                           */
/*                                                                       */
/*      This function terminates the specified task.  If the task is     */
/*      already terminated, this function does nothing.  If the task     */
/*      to terminate is currently suspended, the specified cleanup       */
/*      routine is also invoked to cleanup suspension data structures.   */
/*                                                                       */
/* CALLED BY                                                             */
/*                                                                       */
/*      Application                                                      */
/*      TCCE_Terminate_Task                 Error checking shell         */
/*                                                                       */
/* CALLS                                                                 */
/*                                                                       */
/*      Cleanup routine                     Task's suspend cleanup funct */
/*      [HIC_Make_History_Entry]            Make entry in history log    */
/*      TCC_Suspend_Task                    Suspend a ready task         */
/*      [TCT_Check_Stack]                   Stack checking function      */
/*      TCT_Protect                         Protect created task list    */
/*      TCT_Unprotect                       Release protection of list   */
/*      TCT_Unprotect_Specific              Specific unprotection        */
/*      TMC_Stop_Task_Timer                 Stop a task timer            */
/*                                                                       */
/* INPUTS                                                                */
/*                                                                       */
/*      task_ptr                            Task control block pointer   */
/*                                                                       */
/* OUTPUTS                                                               */
/*                                                                       */
/*      NU_SUCCESS                                                       */
/*                                                                       */
/* HISTORY                                                               */
/*                                                                       */
/*         DATE                    REMARKS                               */
/*                                                                       */
/*      03-01-1993      Created initial version 1.0                      */
/*      04-19-1993      Verified version 1.0                             */
/*      03-01-1994      Modified function interface,                     */
/*                      added register optimizations,                    */
/*                      added system protection logic,                   */
/*                      resulting in version 1.1                         */
/*                                                                       */
/*      03-18-1994      Verified version 1.1                             */
/*                                                                       */
/*************************************************************************/
STATUS  TCC_Terminate_Task(NU_TASK *task_ptr)
{

R1 TC_TCB      *task;                       /* Task control block ptr    */
TC_PROTECT     *suspend_protect;            /* Suspension protection ptr */
DATA_ELEMENT    status;                     /* Task status               */
NU_SUPERV_USER_VARIABLES

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

    /* Move task pointer into internal pointer.  */
    task =  (TC_TCB *) task_ptr;


#ifdef  NU_ENABLE_STACK_CHECK

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
hitomi一区二区三区精品| 日韩一级片在线观看| 日韩视频中午一区| 亚洲欧洲av色图| 九九久久精品视频| 538在线一区二区精品国产| 中文字幕一区二区三区精华液 | 国产成人av资源| 欧美日韩mp4| 亚洲免费资源在线播放| 国内精品伊人久久久久影院对白| 欧美三日本三级三级在线播放| 国产精品欧美综合在线| 老汉av免费一区二区三区 | a亚洲天堂av| 久久精品夜色噜噜亚洲aⅴ| 日韩电影在线免费观看| 91久久精品一区二区三区| 国产精品国产三级国产普通话三级 | 国产精品美女久久久久av爽李琼| 麻豆精品一区二区综合av| 欧美精品乱码久久久久久按摩| 亚洲免费在线电影| 色嗨嗨av一区二区三区| 亚洲人成在线播放网站岛国| 91性感美女视频| 亚洲精品亚洲人成人网| 91福利国产成人精品照片| 亚洲综合另类小说| 欧美日韩第一区日日骚| 日韩成人午夜精品| 欧美成人vps| 国产精品白丝jk黑袜喷水| 久久亚洲免费视频| 国产精品69毛片高清亚洲| 久久亚洲捆绑美女| 成人动漫av在线| 亚洲精品综合在线| 在线成人午夜影院| 美女视频第一区二区三区免费观看网站| 欧美精品在线观看播放| 麻豆成人综合网| 久久美女艺术照精彩视频福利播放| 国产成人亚洲综合a∨婷婷 | 99久久99久久久精品齐齐| 亚洲三级在线看| 欧美三电影在线| 日本女人一区二区三区| 精品对白一区国产伦| 成人网在线免费视频| 亚洲精品中文字幕乱码三区| 欧美日韩国产一区| 国产精品综合一区二区| 国产精品传媒在线| 91精品国产色综合久久| 国产成人在线看| 亚洲电影一级片| 久久亚洲一区二区三区四区| 91亚洲精品久久久蜜桃| 美女视频黄 久久| 国产精品国产成人国产三级 | 亚洲超碰97人人做人人爱| 精品国产乱码久久久久久蜜臀| 粉嫩av亚洲一区二区图片| 亚洲麻豆国产自偷在线| 精品国产免费久久| 在线观看中文字幕不卡| 国产乱码精品一区二区三区忘忧草| 最新热久久免费视频| 欧美一区二区免费视频| fc2成人免费人成在线观看播放| 亚洲成人免费观看| 欧美国产一区二区在线观看 | 美女被吸乳得到大胸91| 亚洲美女屁股眼交| 久久久精品国产免费观看同学| 精品视频1区2区| 99久久夜色精品国产网站| 免费日韩伦理电影| 亚洲无线码一区二区三区| 中文字幕第一区二区| 日韩视频一区二区三区| 色欧美88888久久久久久影院| 国产一区在线观看麻豆| 亚洲成人一区在线| 亚洲另类中文字| 中文字幕欧美三区| 久久先锋影音av鲁色资源| 欧美日本精品一区二区三区| 91在线免费看| 国产成人在线观看免费网站| 久久av资源网| 欧美aaaaaa午夜精品| 午夜日韩在线观看| 亚洲第一av色| 亚洲亚洲人成综合网络| 亚洲免费看黄网站| 亚洲精品写真福利| 亚洲人xxxx| 亚洲乱码日产精品bd| 亚洲日本在线看| 亚洲欧洲综合另类| 亚洲女厕所小便bbb| 亚洲色图欧洲色图婷婷| 亚洲欧美偷拍卡通变态| 亚洲日本在线视频观看| 亚洲人快播电影网| 一区二区三区精品视频| 一区二区三区在线免费播放 | 欧美国产1区2区| 国产欧美久久久精品影院| 久久久综合精品| 中文字幕乱码久久午夜不卡| 欧美经典一区二区| 中文字幕一区在线| 亚洲欧美视频在线观看| 一区二区三区在线观看动漫| 亚洲激情成人在线| 天堂av在线一区| 麻豆一区二区在线| 国产成人av影院| 99视频超级精品| 91福利小视频| 日韩一区二区高清| 久久蜜桃av一区二区天堂| 欧美激情资源网| 亚洲色图丝袜美腿| 天堂在线亚洲视频| 久久精品99久久久| 不卡高清视频专区| 91福利国产成人精品照片| 3d动漫精品啪啪1区2区免费| 日韩欧美成人一区二区| 国产亲近乱来精品视频| 亚洲精品视频在线看| 蜜臀av性久久久久蜜臀av麻豆| 韩国一区二区视频| av一二三不卡影片| 欧美女孩性生活视频| 久久久久久久久久久电影| 亚洲男帅同性gay1069| 日一区二区三区| 国产成人精品aa毛片| 欧美在线观看视频一区二区 | 在线电影一区二区三区| 久久嫩草精品久久久精品| 亚洲精品成a人| 久久不见久久见免费视频7| 99九九99九九九视频精品| 欧美久久久一区| 国产精品国产三级国产aⅴ中文| 亚洲成人免费在线观看| 成人永久免费视频| 日韩视频在线一区二区| 亚洲视频精选在线| 麻豆精品新av中文字幕| 91视频.com| wwwwww.欧美系列| 亚洲一区二区视频在线观看| 国产一区二区三区久久悠悠色av| 色偷偷久久人人79超碰人人澡 | 国产精品一级片| 欧美老肥妇做.爰bbww视频| 日本一二三不卡| 美女精品一区二区| 欧美日韩一级黄| 亚洲桃色在线一区| 高清国产一区二区| 欧美tk丨vk视频| 视频在线观看国产精品| 99久久精品国产一区| 亚洲国产电影在线观看| 精品一区二区免费在线观看| 欧美日韩午夜精品| 一区二区国产视频| 99精品欧美一区| 国产精品伦理在线| 国产精品资源站在线| 欧美一区二区三区日韩视频| 亚洲国产成人av| 91国产视频在线观看| 亚洲精品伦理在线| 91在线播放网址| 国产精品拍天天在线| 成人精品视频一区二区三区 | 日韩欧美不卡一区| 免费精品视频在线| 日韩一区二区三区视频| 亚洲午夜电影在线观看| 欧美日韩一区二区三区不卡| 夜夜嗨av一区二区三区四季av| 99久久er热在这里只有精品15| 国产精品色哟哟| 成人污视频在线观看| 中文字幕一区二区三区色视频| www.亚洲免费av| 亚洲欧美在线观看| 色吧成人激情小说| 一区二区三区在线视频免费| 欧美色大人视频|