File indexing completed on 2025-05-11 08:24:13
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039 #ifndef CONFIGURE_SCHEDULER_CBS
0040 #error "cbs.h available only with CONFIGURE_SCHEDULER_CBS"
0041 #endif
0042
0043 #ifndef _RTEMS_CBS_H
0044 #define _RTEMS_CBS_H
0045
0046 #include <rtems/score/schedulercbs.h>
0047
0048 #ifdef __cplusplus
0049 extern "C" {
0050 #endif
0051
0052
0053 #define RTEMS_CBS_OK SCHEDULER_CBS_OK
0054 #define RTEMS_CBS_ERROR_GENERIC SCHEDULER_CBS_ERROR_GENERIC
0055 #define RTEMS_CBS_ERROR_NO_MEMORY SCHEDULER_CBS_ERROR_NO_MEMORY
0056 #define RTEMS_CBS_ERROR_INVALID_PARAMETER SCHEDULER_CBS_ERROR_INVALID_PARAM
0057 #define RTEMS_CBS_ERROR_UNAUTHORIZED SCHEDULER_CBS_ERROR_UNAUTHORIZED
0058 #define RTEMS_CBS_ERROR_UNIMPLEMENTED SCHEDULER_CBS_ERROR_UNIMPLEMENTED
0059 #define RTEMS_CBS_ERROR_MISSING_COMPONENT SCHEDULER_CBS_ERROR_MISSING_COMPONENT
0060 #define RTEMS_CBS_ERROR_INCONSISTENT_STATE SCHEDULER_CBS_ERROR_INCONSISTENT_STATE
0061 #define RTEMS_CBS_ERROR_SYSTEM_OVERLOAD SCHEDULER_CBS_ERROR_SYSTEM_OVERLOAD
0062 #define RTEMS_CBS_ERROR_INTERNAL_ERROR SCHEDULER_CBS_ERROR_INTERNAL_ERROR
0063 #define RTEMS_CBS_ERROR_NOT_FOUND SCHEDULER_CBS_ERROR_NOT_FOUND
0064 #define RTEMS_CBS_ERROR_FULL SCHEDULER_CBS_ERROR_FULL
0065 #define RTEMS_CBS_ERROR_EMPTY SCHEDULER_CBS_ERROR_EMPTY
0066 #define RTEMS_CBS_ERROR_NOSERVER SCHEDULER_CBS_ERROR_NOSERVER
0067
0068
0069 typedef Scheduler_CBS_Budget_overrun rtems_cbs_budget_overrun;
0070
0071
0072 typedef Scheduler_CBS_Server_id rtems_cbs_server_id;
0073
0074
0075 typedef Scheduler_CBS_Parameters rtems_cbs_parameters;
0076
0077
0078
0079
0080
0081
0082
0083
0084 static inline int rtems_cbs_initialize ( void )
0085 {
0086 return _Scheduler_CBS_Initialize();
0087 }
0088
0089
0090
0091
0092
0093
0094
0095
0096 static inline int rtems_cbs_cleanup ( void )
0097 {
0098 return _Scheduler_CBS_Cleanup();
0099 }
0100
0101
0102
0103
0104
0105
0106
0107
0108 static inline int rtems_cbs_create_server (
0109 rtems_cbs_parameters *params,
0110 rtems_cbs_budget_overrun budget_overrun_callback,
0111 rtems_cbs_server_id *server_id
0112 )
0113 {
0114 return _Scheduler_CBS_Create_server(
0115 params,
0116 budget_overrun_callback,
0117 server_id
0118 );
0119 }
0120
0121
0122
0123
0124
0125
0126
0127
0128 static inline int rtems_cbs_attach_thread (
0129 rtems_cbs_server_id server_id,
0130 rtems_id task_id
0131 )
0132 {
0133 return _Scheduler_CBS_Attach_thread( server_id, task_id );
0134 }
0135
0136
0137
0138
0139
0140
0141
0142
0143 static inline int rtems_cbs_detach_thread (
0144 rtems_cbs_server_id server_id,
0145 rtems_id task_id
0146 )
0147 {
0148 return _Scheduler_CBS_Detach_thread( server_id, task_id );
0149 }
0150
0151
0152
0153
0154
0155
0156
0157
0158 static inline int rtems_cbs_destroy_server (
0159 rtems_cbs_server_id server_id
0160 )
0161 {
0162 return _Scheduler_CBS_Destroy_server( server_id );
0163 }
0164
0165
0166
0167
0168
0169
0170
0171
0172
0173 static inline int rtems_cbs_get_server_id (
0174 rtems_id task_id,
0175 rtems_cbs_server_id *server_id
0176 )
0177 {
0178 return _Scheduler_CBS_Get_server_id( task_id, server_id );
0179 }
0180
0181
0182
0183
0184
0185
0186
0187
0188 static inline int rtems_cbs_get_parameters (
0189 rtems_cbs_server_id server_id,
0190 rtems_cbs_parameters *params
0191 )
0192 {
0193 return _Scheduler_CBS_Get_parameters( server_id, params );
0194 }
0195
0196
0197
0198
0199
0200
0201
0202
0203 static inline int rtems_cbs_set_parameters (
0204 rtems_cbs_server_id server_id,
0205 rtems_cbs_parameters *params
0206 )
0207 {
0208 return _Scheduler_CBS_Set_parameters( server_id, params );
0209 }
0210
0211
0212
0213
0214
0215
0216
0217
0218 static inline int rtems_cbs_get_execution_time (
0219 rtems_cbs_server_id server_id,
0220 time_t *exec_time,
0221 time_t *abs_time
0222 )
0223 {
0224 return _Scheduler_CBS_Get_execution_time( server_id, exec_time, abs_time );
0225 }
0226
0227
0228
0229
0230
0231
0232
0233
0234 static inline int rtems_cbs_get_remaining_budget (
0235 rtems_cbs_server_id server_id,
0236 time_t *remaining_budget
0237 )
0238 {
0239 return _Scheduler_CBS_Get_remaining_budget( server_id, remaining_budget );
0240 }
0241
0242
0243
0244
0245
0246
0247
0248
0249
0250 static inline int rtems_cbs_get_approved_budget (
0251 rtems_cbs_server_id server_id,
0252 time_t *appr_budget
0253 )
0254 {
0255 return _Scheduler_CBS_Get_approved_budget( server_id, appr_budget );
0256 }
0257
0258 #ifdef __cplusplus
0259 }
0260 #endif
0261
0262 #endif
0263