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

📄 states.h

📁 开放源码的嵌入式开发环境
💻 H
字号:
/**  *  @file  rtems/score/states.h * *  This include file contains thread execution state information. *//* *  COPYRIGHT (c) 1989-2006. *  On-Line Applications Research Corporation (OAR). * *  The license and distribution terms for this file may be *  found in the file LICENSE in this distribution or at *  http://www.rtems.com/license/LICENSE. * *  $Id: states.h,v 1.20 2006/01/16 15:13:58 joel Exp $ */#ifndef _RTEMS_SCORE_STATES_H#define _RTEMS_SCORE_STATES_H/** *  @defgroup ScoreStates Thread States Handler * *  This handler encapsulates functionality which relates to the management of  *  the state bitmap associated with each thread. *//**@{*/#ifdef __cplusplusextern "C" {#endif/** *  The following type defines the control block used to manage a *  thread's state. */typedef uint32_t   States_Control;/* *  The following constants define the individual states which may be *  be used to compose and manipulate a thread's state. *//** This macro corresponds to all states being set. */#define STATES_ALL_SET                         0xfffff /* all states *//** This macro corresponds to a task being ready. */#define STATES_READY                           0x00000 /* ready to run *//** This macro corresponds to a task being created but not yet started. */#define STATES_DORMANT                         0x00001 /* created not started *//** This macro corresponds to a task being suspended. */#define STATES_SUSPENDED                       0x00002 /* waiting for resume *//** This macro corresponds to a task being in an internal state transition. */#define STATES_TRANSIENT                       0x00004 /* in transition *//** This macro corresponds to a task which is waiting for a timeout. */#define STATES_DELAYING                        0x00008 /* wait for timeout *//** This macro corresponds to a task waiting until a specific TOD. */#define STATES_WAITING_FOR_TIME                0x00010 /* wait for TOD *//** This macro corresponds to a task waiting for a variable length buffer. */#define STATES_WAITING_FOR_BUFFER              0x00020/** This macro corresponds to a task waiting for a fixed size segment. */#define STATES_WAITING_FOR_SEGMENT             0x00040/** This macro corresponds to a task waiting for a message. */#define STATES_WAITING_FOR_MESSAGE             0x00080/** This macro corresponds to a task waiting for an event. */#define STATES_WAITING_FOR_EVENT               0x00100/** This macro corresponds to a task waiting for a semaphore. */#define STATES_WAITING_FOR_SEMAPHORE           0x00200/** This macro corresponds to a task waiting for a mutex. */#define STATES_WAITING_FOR_MUTEX               0x00400/** This macro corresponds to a task waiting for a condition variable. */#define STATES_WAITING_FOR_CONDITION_VARIABLE  0x00800/** This macro corresponds to a task waiting for a join while exiting. */#define STATES_WAITING_FOR_JOIN_AT_EXIT        0x01000/** This macro corresponds to a task waiting for a reply to an MPCI request. */#define STATES_WAITING_FOR_RPC_REPLY           0x02000/** This macro corresponds to a task waiting for a period. */#define STATES_WAITING_FOR_PERIOD              0x04000/** This macro corresponds to a task waiting for a signal. */#define STATES_WAITING_FOR_SIGNAL              0x08000/** This macro corresponds to a task which is in an interruptible *  blocking state. */#define STATES_INTERRUPTIBLE_BY_SIGNAL         0x10000/** This macro corresponds to a task waiting for a local object operation. */#define STATES_LOCALLY_BLOCKED ( STATES_WAITING_FOR_BUFFER             | \                                 STATES_WAITING_FOR_SEGMENT            | \                                 STATES_WAITING_FOR_MESSAGE            | \                                 STATES_WAITING_FOR_SEMAPHORE          | \                                 STATES_WAITING_FOR_MUTEX              | \                                 STATES_WAITING_FOR_CONDITION_VARIABLE | \                                 STATES_WAITING_FOR_JOIN_AT_EXIT       | \                                 STATES_WAITING_FOR_SIGNAL             )/** This macro corresponds to a task waiting which is blocked on *  a thread queue. */#define STATES_WAITING_ON_THREAD_QUEUE \                               ( STATES_LOCALLY_BLOCKED         | \                                 STATES_WAITING_FOR_RPC_REPLY   )/** This macro corresponds to a task waiting which is blocked. */#define STATES_BLOCKED         ( STATES_DELAYING                | \                                 STATES_WAITING_FOR_TIME        | \                                 STATES_WAITING_FOR_PERIOD      | \                                 STATES_WAITING_FOR_EVENT       | \                                 STATES_WAITING_ON_THREAD_QUEUE | \                                 STATES_INTERRUPTIBLE_BY_SIGNAL )#ifndef __RTEMS_APPLICATION__#include <rtems/score/states.inl>#endif#ifdef __cplusplus}#endif/**@}*/#endif/* end of include file */

⌨️ 快捷键说明

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