RTEMS 6.3
Loading...
Searching...
No Matches
test-scheduler.h File Reference

This header file defines the scheduler test support API. More...

Go to the source code of this file.

Data Structures

struct  T_scheduler_event
struct  T_scheduler_header
struct  T_scheduler_log
struct  T_scheduler_log_2
struct  T_scheduler_log_4
struct  T_scheduler_log_10
struct  T_scheduler_log_20
struct  T_scheduler_log_40

Macros

#define T_SCHEDULER_ENTRY_POINTS

Typedefs

typedef void(*) T_scheduler_event_handler(void *, const T_scheduler_event *, T_scheduler_when)

Enumerations

enum  T_scheduler_operation {
  T_SCHEDULER_NOP , T_SCHEDULER_ADD_PROCESSOR , T_SCHEDULER_ANY , T_SCHEDULER_ASK_FOR_HELP ,
  T_SCHEDULER_BLOCK , T_SCHEDULER_CANCEL_JOB , T_SCHEDULER_CLEAN_STICKY , T_SCHEDULER_INITIALIZE ,
  T_SCHEDULER_MAKE_STICKY , T_SCHEDULER_MAP_PRIORITY , T_SCHEDULER_NODE_DESTROY , T_SCHEDULER_NODE_INITIALIZE ,
  T_SCHEDULER_PIN , T_SCHEDULER_RECONSIDER_HELP_REQUEST , T_SCHEDULER_RELEASE_JOB , T_SCHEDULER_REMOVE_PROCESSOR ,
  T_SCHEDULER_SCHEDULE , T_SCHEDULER_SET_AFFINITY , T_SCHEDULER_START_IDLE , T_SCHEDULER_UNBLOCK ,
  T_SCHEDULER_UNMAP_PRIORITY , T_SCHEDULER_UNPIN , T_SCHEDULER_UPDATE_PRIORITY , T_SCHEDULER_WITHDRAW_NODE ,
  T_SCHEDULER_YIELD
}
enum  T_scheduler_when { T_SCHEDULER_BEFORE , T_SCHEDULER_AFTER }

Functions

T_scheduler_log * T_scheduler_record (T_scheduler_log *)
T_scheduler_log * T_scheduler_record_2 (T_scheduler_log_2 *)
T_scheduler_log * T_scheduler_record_4 (T_scheduler_log_4 *)
T_scheduler_log * T_scheduler_record_10 (T_scheduler_log_10 *)
T_scheduler_log * T_scheduler_record_20 (T_scheduler_log_20 *)
T_scheduler_log * T_scheduler_record_40 (T_scheduler_log_40 *)
void T_scheduler_set_event_handler (T_scheduler_event_handler, void *)
const T_scheduler_event * T_scheduler_next (T_scheduler_header *, T_scheduler_operation, size_t *)
const T_scheduler_event * T_scheduler_next_any (T_scheduler_header *, size_t *)
void T_scheduler_initialize (const Scheduler_Control *)
void T_scheduler_schedule (const Scheduler_Control *, Thread_Control *)
void T_scheduler_yield (const Scheduler_Control *, Thread_Control *, Scheduler_Node *)
void T_scheduler_block (const Scheduler_Control *, Thread_Control *, Scheduler_Node *)
void T_scheduler_unblock (const Scheduler_Control *, Thread_Control *, Scheduler_Node *)
void T_scheduler_update_priority (const Scheduler_Control *, Thread_Control *, Scheduler_Node *)
Priority_Control T_scheduler_map_priority (const Scheduler_Control *, Priority_Control)
Priority_Control T_scheduler_unmap_priority (const Scheduler_Control *, Priority_Control)
void T_scheduler_node_initialize (const Scheduler_Control *, Scheduler_Node *, Thread_Control *, Priority_Control)
void T_scheduler_node_destroy (const Scheduler_Control *, Scheduler_Node *)
void T_scheduler_release_job (const Scheduler_Control *, Thread_Control *, Priority_Node *, uint64_t, Thread_queue_Context *)
void T_scheduler_cancel_job (const Scheduler_Control *, Thread_Control *, Priority_Node *, Thread_queue_Context *)
void T_scheduler_start_idle (const Scheduler_Control *, Thread_Control *, struct Per_CPU_Control *)

Variables

const T_scheduler_event T_scheduler_event_null
const Scheduler_Operations T_scheduler_operations []

Detailed Description

This header file defines the scheduler test support API.