⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tmf.c

📁 test file nucleus source
💻 C
📖 第 1 页 / 共 2 页
字号:
/*************************************************************************//*                                                                       *//*               Copyright Mentor Graphics Corporation 2002              *//*                         All Rights Reserved.                          *//*                                                                       *//* THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS  *//* THE PROPERTY OF MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS   *//* SUBJECT TO LICENSE TERMS.                                             *//*                                                                       *//*************************************************************************//*************************************************************************//*                                                                       *//* FILE NAME                                               VERSION       *//*                                                                       *//*      tmf.c                                          Nucleus PLUS 1.14 *//*                                                                       *//* COMPONENT                                                             *//*                                                                       *//*      TM - Timer Management                                            *//*                                                                       *//* DESCRIPTION                                                           *//*                                                                       *//*      This file contains information (fact) routines for the Timer     *//*      Management component.                                            *//*                                                                       *//* DATA STRUCTURES                                                       *//*                                                                       *//*      None                                                             *//*                                                                       *//* FUNCTIONS                                                             *//*                                                                       *//*      TMF_Established_Timers              Number of established timers *//*      TMF_Timer_Pointers                  Return list of application   *//*                                            timer pointers             *//*      TMF_Timer_Information               Return information about the *//*                                              application timer        *//*                                                                       *//*      TMF_Get_Remaining_Time              Return remaining timer until *//*                                          a timer expires              *//*                                                                       *//* DEPENDENCIES                                                          *//*                                                                       *//*      cs_extr.h                           Common Service functions     *//*      tc_extr.h                           Thread Control functions     *//*      tm_extr.h                           Timer functions              *//*      hi_extr.h                           History functions            *//*                                                                       *//* HISTORY                                                               *//*                                                                       *//*        DATE                    REMARKS                                *//*                                                                       *//*      03-01-1994      Created initial version 1.1 from                 *//*                      previous version of TMC.C                        *//*                                                                       *//*      03-18-1994      Verified version 1.1                             *//*      04-17-1996      updated to version 1.2                           *//*      11-18-1996      Protected Informational service                  *//*                      from NULL Control Block pointers                 *//*                      creating 1.2a. (SPR220)                          *//*      03-24-1998      Released version 1.3                             *//*      03-26-1999      Released 1.11m (new release                      *//*                        numbering scheme)                              *//*      04-17-2002      Released version 1.13m                           *//*      11-07-2002      Released version 1.14                            *//*************************************************************************/#define         NU_SOURCE_FILE#include        "cs_extr.h"                 /* Common service functions  */#include        "tc_extr.h"                 /* Thread control functions  */#include        "tm_extr.h"                 /* Timer functions           */#include        "hi_extr.h"                 /* History functions         *//* Define external inner-component global data references.  */extern CS_NODE        *TMD_Created_Timers_List;extern UNSIGNED        TMD_Total_Timers;extern TM_TCB         *TMD_Active_Timers_List;extern INT             TMD_Active_List_Busy;extern TC_PROTECT      TMD_Created_List_Protect;/*************************************************************************//*                                                                       *//* FUNCTION                                                              *//*                                                                       *//*      TMF_Established_Timers                                           *//*                                                                       *//* DESCRIPTION                                                           *//*                                                                       *//*      This function returns the current number of established          *//*      timers.  Timers previously deleted are no longer considered      *//*      established.                                                     *//*                                                                       *//* CALLED BY                                                             *//*                                                                       *//*      Application                                                      *//*                                                                       *//* CALLS                                                                 *//*                                                                       *//*      [TCT_Check_Stack]                   Stack checking function      *//*                                                                       *//* INPUTS                                                                *//*                                                                       *//*      None                                                             *//*                                                                       *//* OUTPUTS                                                               *//*                                                                       *//*      TMD_Total_Timers                    Number of established        *//*                                            timers                     *//*                                                                       *//* HISTORY                                                               *//*                                                                       *//*         DATE                    REMARKS                               *//*                                                                       *//*      03-01-1993      Created initial version 1.0                      *//*      04-19-1993      Verified version 1.0                             *//*      03-01-1994      Changed function interface,                      *//*                      resulting in version 1.1                         *//*                                                                       *//*      03-18-1994      Verified version 1.1                             *//*                                                                       *//*************************************************************************/UNSIGNED  TMF_Established_Timers(VOID){#ifdef  NU_ENABLE_STACK_CHECK    /* Call stack checking function to check for an overflow condition.  */    TCT_Check_Stack();#endif    /* Return the number of established timers.  */    return(TMD_Total_Timers);}/*************************************************************************//*                                                                       *//* FUNCTION                                                              *//*                                                                       *//*      TMF_Timer_Pointers                                               *//*                                                                       *//* DESCRIPTION                                                           *//*                                                                       *//*      This function builds a list of timer pointers, starting at the   *//*      specified location.  The number of timer pointers placed in      *//*      the list is equivalent to the total number of timers or the      *//*      maximum number of pointers specified in the call.                *//*                                                                       *//* CALLED BY                                                             *//*                                                                       *//*      Application                                                      *//*                                                                       *//* CALLS                                                                 *//*                                                                       *//*      [TCT_Check_Stack]                   Stack checking function      *//*      TCT_Protect                         Protect created list         *//*      TCT_Unprotect                       Release protection           *//*                                                                       *//* INPUTS                                                                *//*                                                                       *//*      pointer_list                        Pointer to the list area     *//*      maximum_pointers                    Maximum number of pointers   *//*                                                                       *//* OUTPUTS                                                               *//*                                                                       *//*      pointers                            Number of timers placed      *//*                                            in the list                *//* HISTORY                                                               *//*                                                                       *//*        DATE                    REMARKS                                *//*                                                                       *//*      03-01-1993      Created initial version 1.0                      *//*      04-19-1993      Verified version 1.0                             *//*      08-09-1993      Corrected problem in pointer                     *//*                      retrieval loop, 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                             *//*                                                                       *//*************************************************************************/UNSIGNED  TMF_Timer_Pointers(NU_TIMER **pointer_list,                                                UNSIGNED maximum_pointers){CS_NODE         *node_ptr;                  /* Pointer to each TCB       */UNSIGNED         pointers;                  /* Number of pointers in list*/NU_SUPERV_USER_VARIABLES    /* Switch to supervisor mode */    NU_SUPERVISOR_MODE();#ifdef  NU_ENABLE_STACK_CHECK    /* Call stack checking function to check for an overflow condition.  */    TCT_Check_Stack();#endif    /* Initialize the number of pointers returned.  */    pointers =  0;    /* Protect against access to the list of created timers.  */    TCT_Protect(&TMD_Created_List_Protect);    /* Loop until all timer pointers are in the list or until the maximum       list size is reached.  */    node_ptr =  TMD_Created_Timers_List;    while ((node_ptr) && (pointers < maximum_pointers))    {        /* Place the node into the destination list.  */        *pointer_list++ =  (NU_TIMER *) node_ptr;        /* Increment the pointers variable.  */        pointers++;        /* Position the node pointer to the next node.  */        node_ptr =  node_ptr -> cs_next;        /* Determine if the pointer is at the head of the list.  */        if (node_ptr == TMD_Created_Timers_List)            /* The list search is complete.  */            node_ptr =  NU_NULL;    }    /* Release protection against access to the list of created timers.  */    TCT_Unprotect();    /* Return to user mode */    NU_USER_MODE();    /* Return the number of pointers in the list.  */    return(pointers);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -