User extension API: add const to some params, inline _User_extensions_Add_API_set

This commit is contained in:
Thomas Doerfler
2010-01-26 15:01:56 +00:00
parent e9fd94cea5
commit b7de5ded7e
6 changed files with 30 additions and 66 deletions

View File

@@ -1,3 +1,12 @@
2010-01-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
* score/src/userextaddapiset.c: Removed file.
* score/Makefile.am: Update for removed file.
* sapi/include/rtems/extension.h, sapi/src/extensioncreate.c,
score/include/rtems/score/userext.h: The function
_User_extensions_Add_API_set is now inline. Added const qualifier to
extension table parameter in extension create and set functions.
2010-01-20 Joel Sherrill <joel.sherrill@oarcorp.com>
Coverity Id 30

View File

@@ -147,9 +147,9 @@ typedef User_extensions_routine
* the following system events, the extensions are invoked in forward order:
*
* - Task creation
* - Task initiation
* - Task reinitiation
* - Task deletion
* - Task start
* - Task restart
* - Task exit
* - Task context switch
* - Post task context switch
* - Task begins to execute
@@ -204,9 +204,9 @@ typedef User_extensions_Table rtems_extensions_table;
* @retval RTEMS_TOO_MANY Too many extension sets created.
*/
rtems_status_code rtems_extension_create(
rtems_name name,
rtems_extensions_table *extension_table,
rtems_id *id
rtems_name name,
const rtems_extensions_table *extension_table,
rtems_id *id
);
/**

View File

@@ -28,9 +28,9 @@
#include <rtems/extension.h>
rtems_status_code rtems_extension_create(
rtems_name name,
rtems_extensions_table *extension_table,
rtems_id *id
rtems_name name,
const rtems_extensions_table *extension_table,
rtems_id *id
)
{
Extension_Control *the_extension;

View File

@@ -196,7 +196,7 @@ libscore_a_SOURCES += src/watchdog.c src/watchdogadjust.c \
src/watchdogtickle.c src/watchdogreport.c src/watchdogreportchain.c
## USEREXT_C_FILES
libscore_a_SOURCES += src/userextaddset.c src/userextaddapiset.c \
libscore_a_SOURCES += src/userextaddset.c \
src/userext.c src/userextremoveset.c src/userextthreadbegin.c \
src/userextthreadcreate.c src/userextthreaddelete.c \
src/userextthreadrestart.c src/userextthreadstart.c \

View File

@@ -173,12 +173,12 @@ typedef void( *User_extensions_thread_exitted_extension )(
);
/**
* @brief Task fatal error extension.
* @brief Fatal error extension.
*
* It corresponds to _Internal_error_Occurred() (used by the
* rtems_fatal_error_occurred() directive). The first parameter contains the
* internal error source. The second parameter indicates if it was an internal
* error. The third parameter contains the error code.
* error source. The second parameter indicates if it was an internal error.
* The third parameter contains the error code.
*
* This extension should not call any RTEMS directives.
*/
@@ -246,19 +246,16 @@ void _User_extensions_Add_set(
User_extensions_Control *extension
);
/** @brief User extensions Add to API extension set
*
* This routine is used to add an API extension set to the active list.
*
* @param[in] the_extension is the extension set to add
*/
void _User_extensions_Add_API_set (
User_extensions_Control *the_extension
);
RTEMS_INLINE_ROUTINE void _User_extensions_Add_API_set(
User_extensions_Control *extension
)
{
_User_extensions_Add_set( extension );
}
RTEMS_INLINE_ROUTINE void _User_extensions_Add_set_with_table(
User_extensions_Control *extension,
User_extensions_Table *extension_table
User_extensions_Control *extension,
const User_extensions_Table *extension_table
)
{
extension->Callouts = *extension_table;

View File

@@ -1,42 +0,0 @@
/*
* COPYRIGHT (c) 1989-2009.
* 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.
*
* $Id$
*/
#if HAVE_CONFIG_H
#include "config.h"
#endif
#include <rtems/system.h>
#include <rtems/score/userext.h>
/**
* This routine is used to add an API extension set to the active list.
*/
void _User_extensions_Add_API_set (
User_extensions_Control *the_extension
)
{
_Chain_Append( &_User_extensions_List, &the_extension->Node );
/*
* If a switch handler is present, append it to the switch chain.
*
* NOTE: The Classic API has an extension. Neither POSIX nor ITRON do.
* So if they are not configured, then do not check for NULL.
*/
#if defined(RTEMS_POSIX_API) || defined(RTEMS_ITRON_API)
if ( the_extension->Callouts.thread_switch != NULL )
#endif
{
the_extension->Switch.thread_switch = the_extension->Callouts.thread_switch;
_Chain_Append(
&_User_extensions_Switches_list, &the_extension->Switch.Node );
}
}