From c624c0e9e219cd89b651021b45ee8b4e24ff8c19 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 18 Jul 2013 13:55:12 +0200 Subject: posix: Convert to inline function --- cpukit/posix/include/rtems/posix/semaphoreimpl.h | 20 ++++++++++++-- cpukit/posix/src/semaphoretranslatereturncode.c | 33 +----------------------- 2 files changed, 19 insertions(+), 34 deletions(-) diff --git a/cpukit/posix/include/rtems/posix/semaphoreimpl.h b/cpukit/posix/include/rtems/posix/semaphoreimpl.h index 6d1939fe43..43b0e2b854 100644 --- a/cpukit/posix/include/rtems/posix/semaphoreimpl.h +++ b/cpukit/posix/include/rtems/posix/semaphoreimpl.h @@ -22,6 +22,8 @@ #include #include +#include + #ifdef __cplusplus extern "C" { #endif @@ -33,6 +35,9 @@ extern "C" { POSIX_EXTERN Objects_Information _POSIX_Semaphore_Information; +extern const int + _POSIX_Semaphore_Return_codes[CORE_SEMAPHORE_STATUS_LAST + 1]; + /* * _POSIX_Semaphore_Manager_initialization * @@ -136,9 +141,20 @@ int _POSIX_Semaphore_Wait_support( * appropriate POSIX status values. */ -int _POSIX_Semaphore_Translate_core_semaphore_return_code( +RTEMS_INLINE_ROUTINE int +_POSIX_Semaphore_Translate_core_semaphore_return_code( CORE_semaphore_Status the_semaphore_status -); +) +{ + /* + * Internal consistency check for bad status from SuperCore + */ + #if defined(RTEMS_DEBUG) + if ( the_semaphore_status > CORE_SEMAPHORE_STATUS_LAST ) + return EINVAL; + #endif + return _POSIX_Semaphore_Return_codes[the_semaphore_status]; +} /* * _POSIX_Semaphore_Allocate diff --git a/cpukit/posix/src/semaphoretranslatereturncode.c b/cpukit/posix/src/semaphoretranslatereturncode.c index c4e65580c7..143ce4f6dd 100644 --- a/cpukit/posix/src/semaphoretranslatereturncode.c +++ b/cpukit/posix/src/semaphoretranslatereturncode.c @@ -20,25 +20,9 @@ #include "config.h" #endif -#include -#include - -#include -#include #include -/* - * _POSIX_Semaphore_Translate_core_semaphore_return_code - * - * Input parameters: - * the_semaphore_status - semaphore status code to translate - * - * Output parameters: - * status code - translated POSIX status code - * - */ - -static int _POSIX_Semaphore_Return_codes[CORE_SEMAPHORE_STATUS_LAST + 1] = { +const int _POSIX_Semaphore_Return_codes[CORE_SEMAPHORE_STATUS_LAST + 1] = { 0, /* CORE_SEMAPHORE_STATUS_SUCCESSFUL */ EAGAIN, /* CORE_SEMAPHORE_STATUS_UNSATISFIED_NOWAIT */ EAGAIN, /* CORE_SEMAPHORE_WAS_DELETED */ @@ -48,18 +32,3 @@ static int _POSIX_Semaphore_Return_codes[CORE_SEMAPHORE_STATUS_LAST + 1] = { */ ENOSYS, /* CORE_SEMAPHORE_MAXIMUM_COUNT_EXCEEDED */ }; - - -int _POSIX_Semaphore_Translate_core_semaphore_return_code( - CORE_semaphore_Status the_semaphore_status -) -{ - /* - * Internal consistency check for bad status from SuperCore - */ - #if defined(RTEMS_DEBUG) - if ( the_semaphore_status > CORE_SEMAPHORE_STATUS_LAST ) - return EINVAL; - #endif - return _POSIX_Semaphore_Return_codes[the_semaphore_status]; -} -- cgit v1.2.3