RTEMS  5.1
Macros | Typedefs | Functions
cbs.h File Reference

Constants and Structures Associated with the CBS library in RTEMS. More...

#include <rtems/score/schedulercbs.h>

Go to the source code of this file.

Macros

#define RTEMS_CBS_OK   SCHEDULER_CBS_OK
 
#define RTEMS_CBS_ERROR_GENERIC   SCHEDULER_CBS_ERROR_GENERIC
 
#define RTEMS_CBS_ERROR_NO_MEMORY   SCHEDULER_CBS_ERROR_NO_MEMORY
 
#define RTEMS_CBS_ERROR_INVALID_PARAMETER   SCHEDULER_CBS_ERROR_INVALID_PARAM
 
#define RTEMS_CBS_ERROR_UNAUTHORIZED   SCHEDULER_CBS_ERROR_UNAUTHORIZED
 
#define RTEMS_CBS_ERROR_UNIMPLEMENTED   SCHEDULER_CBS_ERROR_UNIMPLEMENTED
 
#define RTEMS_CBS_ERROR_MISSING_COMPONENT   SCHEDULER_CBS_ERROR_MISSING_COMPONENT
 
#define RTEMS_CBS_ERROR_INCONSISTENT_STATE   SCHEDULER_CBS_ERROR_INCONSISTENT_STATE
 
#define RTEMS_CBS_ERROR_SYSTEM_OVERLOAD   SCHEDULER_CBS_ERROR_SYSTEM_OVERLOAD
 
#define RTEMS_CBS_ERROR_INTERNAL_ERROR   SCHEDULER_CBS_ERROR_INTERNAL_ERROR
 
#define RTEMS_CBS_ERROR_NOT_FOUND   SCHEDULER_CBS_ERROR_NOT_FOUND
 
#define RTEMS_CBS_ERROR_FULL   SCHEDULER_CBS_ERROR_FULL
 
#define RTEMS_CBS_ERROR_EMPTY   SCHEDULER_CBS_ERROR_EMPTY
 
#define RTEMS_CBS_ERROR_NOSERVER   SCHEDULER_CBS_ERROR_NOSERVER
 

Typedefs

typedef Scheduler_CBS_Budget_overrun rtems_cbs_budget_overrun
 
typedef Scheduler_CBS_Server_id rtems_cbs_server_id
 
typedef Scheduler_CBS_Parameters rtems_cbs_parameters
 

Functions

RTEMS_INLINE_ROUTINE int rtems_cbs_initialize (void)
 Initialize the CBS library. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_cleanup (void)
 Cleanup resources associated to the CBS Library. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_create_server (rtems_cbs_parameters *params, rtems_cbs_budget_overrun budget_overrun_callback, rtems_cbs_server_id *server_id)
 Create a new server with specified parameters. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_attach_thread (rtems_cbs_server_id server_id, rtems_id task_id)
 Attach a task to an already existing server. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_detach_thread (rtems_cbs_server_id server_id, rtems_id task_id)
 Detach from the CBS server. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_destroy_server (rtems_cbs_server_id server_id)
 Detach all tasks from a server and destroy it. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_get_server_id (rtems_id task_id, rtems_cbs_server_id *server_id)
 Get CBS server id. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_get_parameters (rtems_cbs_server_id server_id, rtems_cbs_parameters *params)
 Get CBS parameters. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_set_parameters (rtems_cbs_server_id server_id, rtems_cbs_parameters *params)
 Set CBS parameters. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_get_execution_time (rtems_cbs_server_id server_id, time_t *exec_time, time_t *abs_time)
 Get the CBS get execution time. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_get_remaining_budget (rtems_cbs_server_id server_id, time_t *remaining_budget)
 Get the remaining CBS budget. More...
 
RTEMS_INLINE_ROUTINE int rtems_cbs_get_approved_budget (rtems_cbs_server_id server_id, time_t *appr_budget)
 Get the approved CBS budget. More...
 

Detailed Description

Constants and Structures Associated with the CBS library in RTEMS.

This include file contains all the constants and structures associated with the CBS library in RTEMS.

Typedef Documentation

◆ rtems_cbs_budget_overrun

Callback function invoked when a budget overrun of a task occurs.

◆ rtems_cbs_parameters

Server parameters.

◆ rtems_cbs_server_id

Server id.

Function Documentation

◆ rtems_cbs_attach_thread()

RTEMS_INLINE_ROUTINE int rtems_cbs_attach_thread ( rtems_cbs_server_id  server_id,
rtems_id  task_id 
)

Attach a task to an already existing server.

Attach a task to an already existing server.

Returns
status code.

◆ rtems_cbs_cleanup()

RTEMS_INLINE_ROUTINE int rtems_cbs_cleanup ( void  )

Cleanup resources associated to the CBS Library.

Cleanup resources associated to the CBS Library.

Returns
status code.

◆ rtems_cbs_create_server()

RTEMS_INLINE_ROUTINE int rtems_cbs_create_server ( rtems_cbs_parameters params,
rtems_cbs_budget_overrun  budget_overrun_callback,
rtems_cbs_server_id server_id 
)

Create a new server with specified parameters.

Create a new server with specified parameters.

Returns
status code.

◆ rtems_cbs_destroy_server()

RTEMS_INLINE_ROUTINE int rtems_cbs_destroy_server ( rtems_cbs_server_id  server_id)

Detach all tasks from a server and destroy it.

Detach all tasks from a server and destroy it.

Returns
status code.

◆ rtems_cbs_detach_thread()

RTEMS_INLINE_ROUTINE int rtems_cbs_detach_thread ( rtems_cbs_server_id  server_id,
rtems_id  task_id 
)

Detach from the CBS server.

Detach from the CBS Server.

Returns
status code.

◆ rtems_cbs_get_approved_budget()

RTEMS_INLINE_ROUTINE int rtems_cbs_get_approved_budget ( rtems_cbs_server_id  server_id,
time_t *  appr_budget 
)

Get the approved CBS budget.

Retrieve the budget that has been approved for the subsequent server instances.

Returns
status code.

◆ rtems_cbs_get_execution_time()

RTEMS_INLINE_ROUTINE int rtems_cbs_get_execution_time ( rtems_cbs_server_id  server_id,
time_t *  exec_time,
time_t *  abs_time 
)

Get the CBS get execution time.

Retrieve time info relative to the current server.

Returns
status code.

◆ rtems_cbs_get_parameters()

RTEMS_INLINE_ROUTINE int rtems_cbs_get_parameters ( rtems_cbs_server_id  server_id,
rtems_cbs_parameters params 
)

Get CBS parameters.

Retrieve CBS scheduling parameters.

Returns
status code.

◆ rtems_cbs_get_remaining_budget()

RTEMS_INLINE_ROUTINE int rtems_cbs_get_remaining_budget ( rtems_cbs_server_id  server_id,
time_t *  remaining_budget 
)

Get the remaining CBS budget.

Retrieve remaining budget for the current server instance.

Returns
status code.

◆ rtems_cbs_get_server_id()

RTEMS_INLINE_ROUTINE int rtems_cbs_get_server_id ( rtems_id  task_id,
rtems_cbs_server_id server_id 
)

Get CBS server id.

Get a thread server id, or RTEMS_CBS_E_NOT_FOUND if it is not attached to any server.

Returns
status code.

◆ rtems_cbs_initialize()

RTEMS_INLINE_ROUTINE int rtems_cbs_initialize ( void  )

Initialize the CBS library.

Initializes the CBS library.

Returns
status code.

◆ rtems_cbs_set_parameters()

RTEMS_INLINE_ROUTINE int rtems_cbs_set_parameters ( rtems_cbs_server_id  server_id,
rtems_cbs_parameters params 
)

Set CBS parameters.

Change CBS scheduling parameters.

Returns
status code.