From b5ffa5e136a6d42734469ee0c7785ab7c2f873ad Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 23 Jul 2013 09:44:47 +0200 Subject: sapi: Merge CBS API into one file --- cpukit/sapi/Makefile.am | 1 - cpukit/sapi/include/rtems/cbs.h | 186 ++++++++++++++++++++++++++++++++++- cpukit/sapi/inline/rtems/cbs.inl | 205 --------------------------------------- cpukit/sapi/preinstall.am | 4 - 4 files changed, 182 insertions(+), 214 deletions(-) delete mode 100644 cpukit/sapi/inline/rtems/cbs.inl diff --git a/cpukit/sapi/Makefile.am b/cpukit/sapi/Makefile.am index ceaa325c8b..c73787d90c 100644 --- a/cpukit/sapi/Makefile.am +++ b/cpukit/sapi/Makefile.am @@ -20,7 +20,6 @@ include_rtems_HEADERS += include/rtems/timespec.h EXTRA_DIST = include/rtems/README include_rtems_HEADERS += inline/rtems/extension.inl -include_rtems_HEADERS += inline/rtems/cbs.inl include_rtems_HEADERS += inline/rtems/rbtree.inl include_rtems_HEADERS += inline/rtems/timespec.inl diff --git a/cpukit/sapi/include/rtems/cbs.h b/cpukit/sapi/include/rtems/cbs.h index e0e619cdeb..34e2a364c2 100644 --- a/cpukit/sapi/include/rtems/cbs.h +++ b/cpukit/sapi/include/rtems/cbs.h @@ -24,13 +24,12 @@ #ifndef _RTEMS_CBS_H #define _RTEMS_CBS_H +#include + #ifdef __cplusplus extern "C" { #endif -#include -#include - /* Return codes. */ #define RTEMS_CBS_OK SCHEDULER_CBS_OK #define RTEMS_CBS_ERROR_GENERIC SCHEDULER_CBS_ERROR_GENERIC @@ -56,7 +55,186 @@ typedef Scheduler_CBS_Server_id rtems_cbs_server_id; /** Server parameters. */ typedef Scheduler_CBS_Parameters rtems_cbs_parameters; -#include +/** + * @brief Initialize the CBS library. + * + * Initializes the CBS library. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_initialize ( void ) +{ + return _Scheduler_CBS_Initialize(); +} + +/** + * @brief Cleanup resources associated to the CBS Library + * + * Cleanup resources associated to the CBS Library. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_cleanup ( void ) +{ + return _Scheduler_CBS_Cleanup(); +} + +/** + * @brief Create a new server with specified parameters. + * + * Create a new server with specified parameters. + * + * @return status code. + */ +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 +) +{ + return _Scheduler_CBS_Create_server( + params, + budget_overrun_callback, + server_id + ); +} + +/** + * @brief Attach a task to an already existing server. + * + * Attach a task to an already existing server. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_attach_thread ( + rtems_cbs_server_id server_id, + rtems_id task_id +) +{ + return _Scheduler_CBS_Attach_thread( server_id, task_id ); +} + +/** + * @brief Detach from the CBS server. + * + * Detach from the CBS Server. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_detach_thread ( + rtems_cbs_server_id server_id, + rtems_id task_id +) +{ + return _Scheduler_CBS_Detach_thread( server_id, task_id ); +} + +/** + * @brief Detach all tasks from a server and destroy it. + * + * Detach all tasks from a server and destroy it. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_destroy_server ( + rtems_cbs_server_id server_id +) +{ + return _Scheduler_CBS_Destroy_server( server_id ); +} + +/** + * @brief Get CBS server id. + * + * Get a thread server id, or RTEMS_CBS_E_NOT_FOUND if it is not + * attached to any server. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_get_server_id ( + rtems_id task_id, + rtems_cbs_server_id *server_id +) +{ + return _Scheduler_CBS_Get_server_id( task_id, server_id ); +} + +/** + * @brief Get CBS parameters. + * + * Retrieve CBS scheduling parameters. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_get_parameters ( + rtems_cbs_server_id server_id, + rtems_cbs_parameters *params +) +{ + return _Scheduler_CBS_Get_parameters( server_id, params ); +} + +/** + * @brief Set CBS parameters. + * + * Change CBS scheduling parameters. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_set_parameters ( + rtems_cbs_server_id server_id, + rtems_cbs_parameters *params +) +{ + return _Scheduler_CBS_Set_parameters( server_id, params ); +} + +/** + * @brief Get the CBS get execution time. + * + * Retrieve time info relative to the current server. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_get_execution_time ( + rtems_cbs_server_id server_id, + time_t *exec_time, + time_t *abs_time +) +{ + return _Scheduler_CBS_Get_execution_time( server_id, exec_time, abs_time ); +} + +/** + * @brief Get the remaining CBS budget. + * + * Retrieve remaining budget for the current server instance. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_get_remaining_budget ( + rtems_cbs_server_id server_id, + time_t *remaining_budget +) +{ + return _Scheduler_CBS_Get_remaining_budget( server_id, remaining_budget ); +} + +/** + * @brief Get the approved CBS budget. + * + * Retrieve the budget that has been approved for the subsequent + * server instances. + * + * @return status code. + */ +RTEMS_INLINE_ROUTINE int rtems_cbs_get_approved_budget ( + rtems_cbs_server_id server_id, + time_t *appr_budget +) +{ + return _Scheduler_CBS_Get_approved_budget( server_id, appr_budget ); +} #ifdef __cplusplus } diff --git a/cpukit/sapi/inline/rtems/cbs.inl b/cpukit/sapi/inline/rtems/cbs.inl deleted file mode 100644 index 01d7779318..0000000000 --- a/cpukit/sapi/inline/rtems/cbs.inl +++ /dev/null @@ -1,205 +0,0 @@ -/** - * @file - * - * @brief Constants and Structures Associated with the CBS Library - * - * This include file contains all the constants and structures associated - * with the CBS library. - * - */ - -/* - * Copyright (C) 2011 Petr Benes. - * Copyright (C) 2011 On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.com/license/LICENSE. - */ - -#ifndef _RTEMS_CBS_H -# error "Never use directly; include instead." -#endif - -#include - -/** - * @brief Initialize the CBS library. - * - * Initializes the CBS library. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_initialize ( void ) -{ - return _Scheduler_CBS_Initialize(); -} - -/** - * @brief Cleanup resources associated to the CBS Library - * - * Cleanup resources associated to the CBS Library. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_cleanup ( void ) -{ - return _Scheduler_CBS_Cleanup(); -} - -/** - * @brief Create a new server with specified parameters. - * - * Create a new server with specified parameters. - * - * @return status code. - */ -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 -) -{ - return _Scheduler_CBS_Create_server( - params, - budget_overrun_callback, - server_id - ); -} - -/** - * @brief Attach a task to an already existing server. - * - * Attach a task to an already existing server. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_attach_thread ( - rtems_cbs_server_id server_id, - rtems_id task_id -) -{ - return _Scheduler_CBS_Attach_thread( server_id, task_id ); -} - -/** - * @brief Detach from the CBS server. - * - * Detach from the CBS Server. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_detach_thread ( - rtems_cbs_server_id server_id, - rtems_id task_id -) -{ - return _Scheduler_CBS_Detach_thread( server_id, task_id ); -} - -/** - * @brief Detach all tasks from a server and destroy it. - * - * Detach all tasks from a server and destroy it. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_destroy_server ( - rtems_cbs_server_id server_id -) -{ - return _Scheduler_CBS_Destroy_server( server_id ); -} - -/** - * @brief Get CBS server id. - * - * Get a thread server id, or RTEMS_CBS_E_NOT_FOUND if it is not - * attached to any server. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_get_server_id ( - rtems_id task_id, - rtems_cbs_server_id *server_id -) -{ - return _Scheduler_CBS_Get_server_id( task_id, server_id ); -} - -/** - * @brief Get CBS parameters. - * - * Retrieve CBS scheduling parameters. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_get_parameters ( - rtems_cbs_server_id server_id, - rtems_cbs_parameters *params -) -{ - return _Scheduler_CBS_Get_parameters( server_id, params ); -} - -/** - * @brief Set CBS parameters. - * - * Change CBS scheduling parameters. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_set_parameters ( - rtems_cbs_server_id server_id, - rtems_cbs_parameters *params -) -{ - return _Scheduler_CBS_Set_parameters( server_id, params ); -} - -/** - * @brief Get the CBS get execution time. - * - * Retrieve time info relative to the current server. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_get_execution_time ( - rtems_cbs_server_id server_id, - time_t *exec_time, - time_t *abs_time -) -{ - return _Scheduler_CBS_Get_execution_time( server_id, exec_time, abs_time ); -} - -/** - * @brief Get the remaining CBS budget. - * - * Retrieve remaining budget for the current server instance. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_get_remaining_budget ( - rtems_cbs_server_id server_id, - time_t *remaining_budget -) -{ - return _Scheduler_CBS_Get_remaining_budget( server_id, remaining_budget ); -} - -/** - * @brief Get the approved CBS budget. - * - * Retrieve the budget that has been approved for the subsequent - * server instances. - * - * @return status code. - */ -RTEMS_INLINE_ROUTINE int rtems_cbs_get_approved_budget ( - rtems_cbs_server_id server_id, - time_t *appr_budget -) -{ - return _Scheduler_CBS_Get_approved_budget( server_id, appr_budget ); -} diff --git a/cpukit/sapi/preinstall.am b/cpukit/sapi/preinstall.am index a89af752c8..1ed410f0ba 100644 --- a/cpukit/sapi/preinstall.am +++ b/cpukit/sapi/preinstall.am @@ -84,10 +84,6 @@ $(PROJECT_INCLUDE)/rtems/extension.inl: inline/rtems/extension.inl $(PROJECT_INC $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/extension.inl PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/extension.inl -$(PROJECT_INCLUDE)/rtems/cbs.inl: inline/rtems/cbs.inl $(PROJECT_INCLUDE)/rtems/$(dirstamp) - $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/cbs.inl -PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/cbs.inl - $(PROJECT_INCLUDE)/rtems/rbtree.inl: inline/rtems/rbtree.inl $(PROJECT_INCLUDE)/rtems/$(dirstamp) $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rbtree.inl PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rbtree.inl -- cgit v1.2.3