summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2010-01-26 15:01:56 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2010-01-26 15:01:56 +0000
commitb7de5ded7e59d8bd61d76321b64cc6f375124631 (patch)
treee4c1210a80d626d837a673a13cd40b00431f9d4b
parentUpgrade to gcc-4.4.3. (diff)
downloadrtems-b7de5ded7e59d8bd61d76321b64cc6f375124631.tar.bz2
User extension API: add const to some params, inline _User_extensions_Add_API_set
-rw-r--r--cpukit/ChangeLog9
-rw-r--r--cpukit/sapi/include/rtems/extension.h12
-rw-r--r--cpukit/sapi/src/extensioncreate.c6
-rw-r--r--cpukit/score/Makefile.am2
-rw-r--r--cpukit/score/include/rtems/score/userext.h25
-rw-r--r--cpukit/score/src/userextaddapiset.c42
6 files changed, 30 insertions, 66 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index 0a25c6cccc..a6673f0a1d 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -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
diff --git a/cpukit/sapi/include/rtems/extension.h b/cpukit/sapi/include/rtems/extension.h
index ed29f72f74..310db6ff92 100644
--- a/cpukit/sapi/include/rtems/extension.h
+++ b/cpukit/sapi/include/rtems/extension.h
@@ -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
);
/**
diff --git a/cpukit/sapi/src/extensioncreate.c b/cpukit/sapi/src/extensioncreate.c
index ae9c98010b..bb8647e7b9 100644
--- a/cpukit/sapi/src/extensioncreate.c
+++ b/cpukit/sapi/src/extensioncreate.c
@@ -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;
diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am
index a86f2a323e..c61e1dcca8 100644
--- a/cpukit/score/Makefile.am
+++ b/cpukit/score/Makefile.am
@@ -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 \
diff --git a/cpukit/score/include/rtems/score/userext.h b/cpukit/score/include/rtems/score/userext.h
index 863d86ed9a..e16a259997 100644
--- a/cpukit/score/include/rtems/score/userext.h
+++ b/cpukit/score/include/rtems/score/userext.h
@@ -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;
diff --git a/cpukit/score/src/userextaddapiset.c b/cpukit/score/src/userextaddapiset.c
deleted file mode 100644
index 954571f8af..0000000000
--- a/cpukit/score/src/userextaddapiset.c
+++ /dev/null
@@ -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 );
- }
-}