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

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

?? tx_tda.c

?? threadx實時嵌入式操作系統源代碼,在linux下編譯執行. threadx是一個很好的多任務實時嵌入式操作系統
?? C
字號:
/**************************************************************************/ 
/*                                                                        */ 
/*            Copyright (c) 1996-2000 by Express Logic Inc.               */ 
/*                                                                        */ 
/*  This software is copyrighted by and is the sole property of Express   */ 
/*  Logic, Inc.  All rights, title, ownership, or other interests         */ 
/*  in the software remain the property of Express Logic, Inc.  This      */ 
/*  software may only be used in accordance with the corresponding        */ 
/*  license agreement.  Any unauthorized use, duplication, transmission,  */ 
/*  distribution, or disclosure of this software is expressly forbidden.  */ 
/*                                                                        */
/*  This Copyright notice may not be removed or modified without prior    */ 
/*  written consent of Express Logic, Inc.                                */ 
/*                                                                        */ 
/*  Express Logic, Inc. reserves the right to modify this software        */ 
/*  without notice.                                                       */ 
/*                                                                        */ 
/*  Express Logic, Inc.                                                   */
/*  11440 West Bernardo Court               info@expresslogic.com         */
/*  Suite 366                               http://www.expresslogic.com   */
/*  San Diego, CA  92127                                                  */
/*                                                                        */
/**************************************************************************/


/**************************************************************************/
/**************************************************************************/
/**                                                                       */ 
/** ThreadX Component                                                     */ 
/**                                                                       */
/**   Timer Management (TIM)                                              */
/**                                                                       */
/**************************************************************************/
/**************************************************************************/

#define TX_SOURCE_CODE


/* Include necessary system files.  */

#include    "tx_api.h"
#include    "tx_tim.h"


/**************************************************************************/ 
/*                                                                        */ 
/*  FUNCTION                                               RELEASE        */ 
/*                                                                        */ 
/*    _tx_timer_deactivate_api                            PORTABLE C      */ 
/*                                                           3.0f         */ 
/*  AUTHOR                                                                */ 
/*                                                                        */ 
/*    William E. Lamie, Express Logic, Inc.                               */ 
/*                                                                        */ 
/*  DESCRIPTION                                                           */ 
/*                                                                        */ 
/*    This function deactivates the specified application timer.          */ 
/*                                                                        */ 
/*  INPUT                                                                 */ 
/*                                                                        */ 
/*    timer_ptr                         Pointer to timer control block    */ 
/*                                                                        */ 
/*  OUTPUT                                                                */ 
/*                                                                        */ 
/*    TX_SUCCESS                        Always returns success            */ 
/*                                                                        */ 
/*  CALLS                                                                 */ 
/*                                                                        */ 
/*    None                                                                */ 
/*                                                                        */ 
/*  CALLED BY                                                             */ 
/*                                                                        */ 
/*    Application Code                                                    */ 
/*                                                                        */ 
/*  RELEASE HISTORY                                                       */ 
/*                                                                        */ 
/*    DATE              NAME                      DESCRIPTION             */ 
/*                                                                        */ 
/*  12-31-1996     William E. Lamie         Initial Version 3.0           */ 
/*  11-11-1997     William E. Lamie         Modified comment(s),          */ 
/*                                            resulting in version 3.0b.  */ 
/*  12-25-1997     William E. Lamie         Added logic to calculate and  */ 
/*                                            save the remaining time     */ 
/*                                            left before expiration,     */ 
/*                                            resulting in version 3.0c.  */ 
/*  03-01-1998     William E. Lamie         Replaced the timer deactivate */ 
/*                                            call with in-line logic,    */ 
/*                                            resulting in version 3.0d.  */ 
/*  01-01-1999     William E. Lamie         Modified comment(s),          */ 
/*                                            resulting in version 3.0e.  */ 
/*  11-01-1999     William E. Lamie         Modified comment(s),          */ 
/*                                            added logic to track events,*/ 
/*                                            resulting in version 3.0f.  */ 
/*                                                                        */ 
/**************************************************************************/ 
UINT    _tx_timer_deactivate_api(TX_TIMER *timer_ptr)
{
TX_INTERRUPT_SAVE_AREA

REG_1  TX_INTERNAL_TIMER    *internal_ptr;              /* Internal timer pointer       */ 
REG_2  ULONG                ticks_left;                 /* Ticks left before expiration */ 

    
    /* Setup internal timer pointer.  */
    internal_ptr =  &(timer_ptr -> tx_timer_internal);

    /* Disable interrupts while the remaining time before expiration is
       calculated.  */
    TX_DISABLE

    /* Log this kernel call.  */
    TX_EL_TIMER_DEACTIVATE_INSERT

    /* Determine if the head pointer is within the timer expiration list.  */
    if ((internal_ptr -> tx_list_head >= _tx_timer_list_start) &&
        (internal_ptr -> tx_list_head < _tx_timer_list_end))
    {

        /* This timer is active and has not yet expired.  */

        /* Calculate the amount of time that has elapsed since the timer
           was activated.  */

        /* Is this timer's entry after the current timer pointer?  */
        if (internal_ptr -> tx_list_head >= _tx_timer_current_ptr)
        {

            /* Calculate ticks left to expiration - just the difference between this 
               timer's entry and the current timer pointer.  */
            ticks_left =  (internal_ptr -> tx_list_head - _tx_timer_current_ptr) + 1;
        }
        else
        {

            /* Calculate the ticks left with a wrapped list condition.  */
            ticks_left =  (internal_ptr -> tx_list_head - _tx_timer_list_start);
            ticks_left =  ticks_left + (_tx_timer_list_end - _tx_timer_current_ptr) + 1;
        }

        /* Adjust the remaining ticks accordingly.  */
        if (internal_ptr -> tx_remaining_ticks > TX_TIMER_ENTRIES)
        {
            
            /* Subtract off the last full pass throught the timer list and add the
               time left.  */
            internal_ptr -> tx_remaining_ticks =  
                    (internal_ptr -> tx_remaining_ticks - TX_TIMER_ENTRIES) + ticks_left;
        }
        else
        {

            /* Just put the ticks left into the timer's remaining ticks.  */
            internal_ptr -> tx_remaining_ticks =  ticks_left;
        }

    }

    /* Determine if the timer still needs deactivation.  */
    if (internal_ptr -> tx_list_head)
    {

        /* See if this is the only timer in the list.  */
        if (internal_ptr == internal_ptr -> tx_active_next)
        {

            /* Yes, the only timer on the list.  */

            /* Determine if the head pointer needs to be updated.  */
            if (*(internal_ptr -> tx_list_head) == internal_ptr)
            {

                /* Update the head pointer.  */
                *(internal_ptr -> tx_list_head) =  TX_NULL;
            }

            /* Clear the timer's list head pointer.  */
            internal_ptr -> tx_list_head =  TX_NULL;
        }
        else
        {

            /* At least one more timer is on the same expiration list.  */

            /* Update the links of the adjacent timers.  */
            (internal_ptr -> tx_active_next) -> tx_active_previous =  
                                                    internal_ptr -> tx_active_previous;
            (internal_ptr -> tx_active_previous) -> tx_active_next =
                                                    internal_ptr -> tx_active_next;

            /* Determine if the head pointer needs to be updated.  */
            if (*(internal_ptr -> tx_list_head) == internal_ptr)
            {

                /* Update the next timer in the list with the list head 
                   pointer.  */
                (internal_ptr -> tx_active_next) -> tx_list_head =  internal_ptr -> tx_list_head;

                /* Update the head pointer.  */
                *(internal_ptr -> tx_list_head) =  internal_ptr -> tx_active_next;
            }

            /* Clear the timer's list head pointer.  */
            internal_ptr -> tx_list_head =  TX_NULL;
        }
    }

    /* Restore interrupts to previous posture.  */
    TX_RESTORE

    /* Return TX_SUCCESS.  */
    return(TX_SUCCESS);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩高清国产一区在线| 国产精品久久国产精麻豆99网站| 亚洲在线观看免费| 色成人在线视频| 亚洲综合偷拍欧美一区色| 91豆麻精品91久久久久久| 一区二区三区四区亚洲| 欧美日韩一区二区三区在线看| 亚洲一二三区不卡| 欧美丰满高潮xxxx喷水动漫| 日韩黄色免费电影| 精品久久久久香蕉网| 国产不卡一区视频| 国产精品久线在线观看| 在线免费观看不卡av| 亚洲成人免费视频| 精品欧美一区二区在线观看 | 中文字幕av一区二区三区高| 成人午夜av电影| 亚洲男人电影天堂| 欧美久久久久中文字幕| 麻豆一区二区三| 欧美激情在线一区二区| 日本精品裸体写真集在线观看| 亚洲一区二区三区免费视频| 在线成人高清不卡| 国产成人在线视频播放| 亚洲精品国产a久久久久久| 欧美久久一区二区| 国产乱码字幕精品高清av| 亚洲欧美另类久久久精品2019| 欧美三片在线视频观看 | 亚洲成人你懂的| 久久久亚洲高清| 一本大道久久a久久精二百| 免费av网站大全久久| 中文字幕不卡一区| 91精品国产一区二区三区 | 亚洲日本韩国一区| 日韩欧美激情一区| 色狠狠综合天天综合综合| 日韩和的一区二区| 日韩一区在线看| 91精品国产品国语在线不卡| 成人va在线观看| 欧美bbbbb| 一级做a爱片久久| 久久久噜噜噜久噜久久综合| 欧美日韩激情一区二区三区| 国产成人精品免费在线| 视频一区视频二区在线观看| 国产精品国产三级国产专播品爱网| 欧美日韩国产123区| 9久草视频在线视频精品| 久久激情综合网| 一卡二卡三卡日韩欧美| 国产精品沙发午睡系列990531| 日韩一区二区精品葵司在线| 色婷婷综合久久久中文字幕| 国产精品亚洲一区二区三区在线| 午夜精品影院在线观看| 亚洲同性同志一二三专区| 欧美精品一区二区三区蜜桃| 欧美精品丝袜中出| 欧美在线999| 色综合天天狠狠| 国产成a人亚洲| 国产综合久久久久影院| 麻豆91在线看| 老司机精品视频导航| 天天综合天天综合色| 一区二区欧美国产| 亚洲免费观看视频| 亚洲欧洲在线观看av| 国产女主播一区| 久久久91精品国产一区二区精品| 日韩欧美在线网站| 日韩三级伦理片妻子的秘密按摩| 欧美日韩视频在线第一区| 日本黄色一区二区| 在线观看日韩高清av| 一本一道久久a久久精品| 99国产精品久久久久久久久久| 成人av网址在线| 成人久久久精品乱码一区二区三区| 国产乱色国产精品免费视频| 激情综合网激情| 国产一区二区三区av电影 | 欧美日精品一区视频| 色综合久久中文综合久久牛| 99久久久久免费精品国产 | 欧美日韩亚洲综合一区| 欧美午夜宅男影院| 欧美日免费三级在线| 在线不卡欧美精品一区二区三区| 欧美午夜片在线看| 日韩一级成人av| 精品成人私密视频| 欧美国产欧美综合| 亚洲日本中文字幕区| 亚洲曰韩产成在线| 日韩av成人高清| 国产精品1区2区3区在线观看| 国产精品一区不卡| 91在线精品秘密一区二区| 在线视频一区二区三| 欧美日韩二区三区| 亚洲精品在线免费观看视频| 久久精品日韩一区二区三区| 1000精品久久久久久久久| 亚洲在线一区二区三区| 美女视频一区二区| 成人永久免费视频| 欧美自拍丝袜亚洲| 精品区一区二区| 自拍偷拍欧美精品| 免费在线视频一区| 99久久精品免费观看| 欧美色偷偷大香| 久久精品欧美日韩| 亚洲一区二区三区四区在线观看 | 欧美日韩国产在线播放网站| 日韩亚洲欧美在线| 中文字幕中文在线不卡住| 亚洲成人动漫一区| 国产成人av电影在线观看| 欧美综合一区二区| 久久久精品国产免大香伊 | 亚洲午夜久久久久久久久久久| 麻豆精品一区二区三区| 成人动漫一区二区在线| 3d成人动漫网站| 中文字幕av一区二区三区高| 午夜伊人狠狠久久| 欧美三级视频在线| 久久久天堂av| 偷偷要91色婷婷| 91在线视频观看| 亚洲精品一区二区在线观看| 亚洲精品videosex极品| 国产精品乡下勾搭老头1| 欧美日韩国产一级| 国产精品久线观看视频| 久久99久久99| 欧美精品三级在线观看| 中文字幕日本乱码精品影院| 精品一区二区日韩| 欧美日韩国产免费一区二区 | 肉色丝袜一区二区| 一本到高清视频免费精品| 精品国产一区二区亚洲人成毛片| 亚洲高清一区二区三区| 91蝌蚪porny成人天涯| 国产亚洲一区字幕| 久久激情五月激情| 337p亚洲精品色噜噜狠狠| 一区二区三区不卡在线观看| 成人精品高清在线| 国产日韩欧美亚洲| 国产在线视频精品一区| 欧美精品第一页| 午夜激情久久久| 色天使久久综合网天天| 国产精品理论在线观看| 国产99精品视频| 久久久久久久久99精品| 韩国女主播成人在线观看| 91精品国产综合久久精品 | 三级一区在线视频先锋 | 欧美日韩亚州综合| 亚洲午夜激情网页| 欧美丝袜自拍制服另类| 国产精品成人免费| youjizz久久| 一区在线观看免费| 99riav一区二区三区| 亚洲色欲色欲www| 在线观看亚洲a| 亚洲国产精品久久久久秋霞影院| 一本久久精品一区二区| 洋洋av久久久久久久一区| 91成人在线免费观看| 亚洲高清三级视频| 5858s免费视频成人| 日韩**一区毛片| 精品国产免费人成电影在线观看四季| 久久精品国产一区二区三区免费看| 日韩一区二区三区高清免费看看| 欧美96一区二区免费视频| 日韩精品一区二区三区在线| 黄色资源网久久资源365| 欧美精品一区二区三区视频 | 欧美变态tickle挠乳网站| 久久99热这里只有精品| 亚洲精品一线二线三线无人区| 国产黄色成人av| 一区在线观看视频| 欧美久久婷婷综合色| 狠狠色丁香九九婷婷综合五月| 国产午夜精品一区二区三区嫩草|