RTEMS 6.1-rc1
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
test-scheduler.h File Reference

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

#include <rtems/test.h>
#include <rtems/score/processormask.h>
#include <rtems/score/scheduler.h>

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_logT_scheduler_record (T_scheduler_log *)
 
T_scheduler_logT_scheduler_record_2 (T_scheduler_log_2 *)
 
T_scheduler_logT_scheduler_record_4 (T_scheduler_log_4 *)
 
T_scheduler_logT_scheduler_record_10 (T_scheduler_log_10 *)
 
T_scheduler_logT_scheduler_record_20 (T_scheduler_log_20 *)
 
T_scheduler_logT_scheduler_record_40 (T_scheduler_log_40 *)
 
void T_scheduler_set_event_handler (T_scheduler_event_handler, void *)
 
const T_scheduler_eventT_scheduler_next (T_scheduler_header *, T_scheduler_operation, size_t *)
 
const T_scheduler_eventT_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.