RTEMS: cpukit/include/rtems/cbs.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
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.
RTEMS_INLINE_ROUTINE int | rtems_cbs_cleanup (void)
| Cleanup resources associated to the CBS Library.
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.
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.
RTEMS_INLINE_ROUTINE int | rtems_cbs_detach_thread (rtems_cbs_server_id server_id, rtems_id task_id)
| Detach from the CBS server.
RTEMS_INLINE_ROUTINE int | rtems_cbs_destroy_server (rtems_cbs_server_id server_id)
| Detach all tasks from a server and destroy it.
RTEMS_INLINE_ROUTINE int | rtems_cbs_get_server_id (rtems_id task_id, rtems_cbs_server_id *server_id)
| Get CBS server id.
RTEMS_INLINE_ROUTINE int | rtems_cbs_get_parameters (rtems_cbs_server_id server_id, rtems_cbs_parameters *params)
| Get CBS parameters.
RTEMS_INLINE_ROUTINE int | rtems_cbs_set_parameters (rtems_cbs_server_id server_id, rtems_cbs_parameters *params)
| Set CBS parameters.
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.
RTEMS_INLINE_ROUTINE int | rtems_cbs_get_remaining_budget (rtems_cbs_server_id server_id, time_t *remaining_budget)
| Get the remaining CBS 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.

## 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

typedef Scheduler_CBS_Budget_overrun rtems_cbs_budget_overrun

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

## ◆ rtems_cbs_parameters

typedef Scheduler_CBS_Parameters rtems_cbs_parameters

Server parameters.

## ◆ rtems_cbs_server_id

typedef Scheduler_CBS_Server_id 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.