Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-rtos by
os_tcb.h
00001 #ifndef OS_TCB_H 00002 #define OS_TCB_H 00003 00004 /* Types */ 00005 typedef char S8; 00006 typedef unsigned char U8; 00007 typedef short S16; 00008 typedef unsigned short U16; 00009 typedef int S32; 00010 typedef unsigned int U32; 00011 typedef long long S64; 00012 typedef unsigned long long U64; 00013 typedef unsigned char BIT; 00014 typedef unsigned int BOOL; 00015 typedef void (*FUNCP)(void); 00016 00017 typedef struct OS_TCB { 00018 /* General part: identical for all implementations. */ 00019 U8 cb_type; /* Control Block Type */ 00020 U8 state; /* Task state */ 00021 U8 prio; /* Execution priority */ 00022 U8 task_id; /* Task ID value for optimized TCB access */ 00023 struct OS_TCB *p_lnk; /* Link pointer for ready/sem. wait list */ 00024 struct OS_TCB *p_rlnk; /* Link pointer for sem./mbx lst backwards */ 00025 struct OS_TCB *p_dlnk; /* Link pointer for delay list */ 00026 struct OS_TCB *p_blnk; /* Link pointer for delay list backwards */ 00027 U16 delta_time; /* Time until time out */ 00028 U16 interval_time; /* Time interval for periodic waits */ 00029 U16 events; /* Event flags */ 00030 U16 waits; /* Wait flags */ 00031 void **msg; /* Direct message passing when task waits */ 00032 00033 /* Hardware dependant part: specific for CM processor */ 00034 U8 stack_frame; /* Stack frame: 0=Basic, 1=Extended */ 00035 U8 reserved; 00036 U16 priv_stack; /* Private stack size in bytes */ 00037 U32 tsk_stack; /* Current task Stack pointer (R13) */ 00038 U32 *stack; /* Pointer to Task Stack memory block */ 00039 00040 /* Library dependant part */ 00041 #if defined (__CC_ARM) && !defined (__MICROLIB) 00042 /* A memory space for arm standard library. */ 00043 U32 std_libspace[96/4]; 00044 #endif 00045 00046 /* Task entry point used for uVision debugger */ 00047 FUNCP ptask; /* Task entry address */ 00048 } *P_TCB; 00049 00050 #endif
Generated on Wed Jul 13 2022 18:32:39 by
