RTEMS
Classes | Macros | Typedefs | Enumerations | Functions | Variables
thread.h File Reference

Constants and Structures Related with the Thread Control Block. More...

#include <rtems/score/atomic.h>
#include <rtems/score/context.h>
#include <rtems/score/freechain.h>
#include <rtems/score/isrlock.h>
#include <rtems/score/objectdata.h>
#include <rtems/score/priority.h>
#include <rtems/score/schedulernode.h>
#include <rtems/score/stack.h>
#include <rtems/score/states.h>
#include <rtems/score/threadq.h>
#include <rtems/score/timestamp.h>
#include <rtems/score/watchdog.h>
#include <rtems/score/processormask.h>

Go to the source code of this file.

Classes

struct  Thread_Entry_idle
 Data for idle thread entry. More...
 
struct  Thread_Entry_numeric
 Data for thread entry with one numeric argument and no return value. More...
 
struct  Thread_Entry_pointer
 Data for thread entry with one pointer argument and a pointer return value. More...
 
struct  Thread_Entry_information
 Thread entry information. More...
 
struct  Thread_Start_information
 
struct  Thread_Scheduler_control
 Thread scheduler control. More...
 
union  Thread_Wait_information_Object_argument_type
 Union type to hold a pointer to an immutable or a mutable object. More...
 
struct  Thread_Wait_information
 Information required to manage a thread while it is blocked. More...
 
struct  Thread_Timer_information
 Information required to manage a thread timer. More...
 
struct  Thread_Proxy_control
 
struct  Thread_Action
 Thread action. More...
 
struct  Thread_Keys_information
 Per-thread information for POSIX Keys. More...
 
struct  Thread_Action_control
 Control block to manage thread actions. More...
 
struct  Thread_Life_control
 Thread life control. More...
 
struct  Thread_Capture_control
 
struct  _Thread_Control
 
struct  Thread_Control_add_on
 Thread control add-on. More...
 
struct  Thread_Information
 The thread object information. More...
 

Macros

#define RTEMS_SCORE_THREAD_ENABLE_EXHAUST_TIMESLICE
 
#define RTEMS_SCORE_THREAD_ENABLE_SCHEDULER_CALLOUT
 
#define THREAD_API_FIRST   THREAD_API_RTEMS
 
#define THREAD_API_LAST   THREAD_API_POSIX
 
#define THREAD_DEFAULT_MAXIMUM_NAME_SIZE   16
 The default maximum size of a thread name in characters (including the terminating '\0' character). More...
 
#define THREAD_INFORMATION_DEFINE_ZERO(name, api, cls)
 
#define THREAD_INFORMATION_DEFINE(name, api, cls, max)
 

Typedefs

typedef CPU_Uint32ptr Thread_Entry_numeric_type
 Type of the numeric argument of a thread entry function with at least one numeric argument. More...
 
typedef void(* Thread_CPU_budget_algorithm_callout) (Thread_Control *)
 
typedef unsigned int Thread_Wait_flags
 This type is able to contain several flags used to control the wait class and state of a thread. More...
 
typedef struct Thread_Action Thread_Action
 
typedef void(* Thread_Action_handler) (Thread_Control *the_thread, Thread_Action *action, ISR_lock_Context *lock_context)
 Thread action handler. More...
 
typedef void(* rtems_per_thread_routine) (Thread_Control *)
 
typedef struct Thread_Configured_control Thread_Configured_control
 The configured thread control block. More...
 
typedef struct Thread_queue_Configured_heads Thread_queue_Configured_heads
 The configured thread queue heads. More...
 

Enumerations

enum  Thread_CPU_budget_algorithms { THREAD_CPU_BUDGET_ALGORITHM_NONE, THREAD_CPU_BUDGET_ALGORITHM_RESET_TIMESLICE, THREAD_CPU_BUDGET_ALGORITHM_EXHAUST_TIMESLICE, THREAD_CPU_BUDGET_ALGORITHM_CALLOUT }
 
enum  Thread_Scheduler_state { THREAD_SCHEDULER_BLOCKED, THREAD_SCHEDULER_SCHEDULED, THREAD_SCHEDULER_READY }
 The thread state with respect to the scheduler. More...
 
enum  Thread_APIs { THREAD_API_RTEMS, THREAD_API_POSIX }
 
enum  Thread_Life_state {
  THREAD_LIFE_PROTECTED = 0x1, THREAD_LIFE_RESTARTING = 0x2, THREAD_LIFE_TERMINATING = 0x4, THREAD_LIFE_CHANGE_DEFERRED = 0x8,
  THREAD_LIFE_DETACHED = 0x10
}
 Thread life states. More...
 

Functions

void rtems_iterate_over_all_threads (rtems_per_thread_routine routine) RTEMS_DEPRECATED
 Deprecated, use rtems_task_iterate() instead. More...
 
Objects_Control_Thread_Allocate_unlimited (Objects_Information *information)
 Return an inactive thread object or NULL. More...
 

Variables

const Thread_Control_add_on _Thread_Control_add_ons []
 Thread control add-ons. More...
 
const size_t _Thread_Control_add_on_count
 Thread control add-on count. More...
 
const size_t _Thread_Initial_thread_count
 Count of configured threads. More...
 
const size_t _Thread_Maximum_name_size
 Maximum size of a thread name in characters (including the terminating '\0' character). More...
 
const size_t _Thread_Maximum_TLS_size
 If this constant is greater than zero, then it defines the maximum thread-local storage size, otherwise the thread-local storage size is defined by the linker depending on the thread-local storage objects used by the application in the statically-linked executable. More...
 
const size_t _Thread_queue_Heads_size
 Size of the thread queue heads of a particular application. More...
 
Thread_Information _Thread_Information
 The internal thread objects information.
 
char _Thread_Idle_stacks []
 The idle thread stacks. More...
 

Detailed Description

Constants and Structures Related with the Thread Control Block.

This include file contains all constants and structures associated with the thread control block.

Definition in file thread.h.