summaryrefslogtreecommitdiffstats
path: root/c/src/exec/sapi
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-03-15 14:32:22 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-03-15 14:32:22 +0000
commitac97074f376710b8a4840c14dbfcfa361ff1d012 (patch)
treefa1d859453baf5e8693a533b72b82b5ecec2ebfe /c/src/exec/sapi
parent2002-03-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-ac97074f376710b8a4840c14dbfcfa361ff1d012.tar.bz2
2001-03-15 Joel Sherrill <joel@OARcorp.com>
* src/extension.c: Split to reduce minimum code size per PR134. * src/extensioncreate.c, src/extensiondelete.c, src/extensionident.c: New files. src/Makefile.am: Modified to reflect above.
Diffstat (limited to 'c/src/exec/sapi')
-rw-r--r--c/src/exec/sapi/ChangeLog7
-rw-r--r--c/src/exec/sapi/src/Makefile.am6
-rw-r--r--c/src/exec/sapi/src/extension.c119
-rw-r--r--c/src/exec/sapi/src/extensioncreate.c65
-rw-r--r--c/src/exec/sapi/src/extensiondelete.c56
-rw-r--r--c/src/exec/sapi/src/extensionident.c53
6 files changed, 186 insertions, 120 deletions
diff --git a/c/src/exec/sapi/ChangeLog b/c/src/exec/sapi/ChangeLog
index bdf33d1bbb..85421ca49d 100644
--- a/c/src/exec/sapi/ChangeLog
+++ b/c/src/exec/sapi/ChangeLog
@@ -1,3 +1,10 @@
+2001-03-15 Joel Sherrill <joel@OARcorp.com>
+
+ * src/extension.c: Split to reduce minimum code size per PR134.
+ * src/extensioncreate.c, src/extensiondelete.c, src/extensionident.c:
+ New files.
+ src/Makefile.am: Modified to reflect above.
+
2002-01-07 Joel Sherrill <joel@OARcorp.com>
* optman/, optman/.cvsignore, optman/Makefile.am, optman/no-ext.c,
diff --git a/c/src/exec/sapi/src/Makefile.am b/c/src/exec/sapi/src/Makefile.am
index d71c0e11f7..c04b169d3c 100644
--- a/c/src/exec/sapi/src/Makefile.am
+++ b/c/src/exec/sapi/src/Makefile.am
@@ -4,8 +4,10 @@
AUTOMAKE_OPTIONS = foreign 1.4
-C_FILES = debug.c entrytable.c extension.c fatal.c exinit.c io.c itronapi.c \
- posixapi.c rtemsapi.c
+EXTENSION_FILES = extension.c extensioncreate.c extensiondelete.c \
+ extensionident.c
+C_FILES = debug.c entrytable.c $(EXTENSION_FILES) fatal.c exinit.c io.c \
+ itronapi.c posixapi.c rtemsapi.c
C_O_FILES = $(C_FILES:%.c=${ARCH}/%.o)
OBJS = $(C_O_FILES)
diff --git a/c/src/exec/sapi/src/extension.c b/c/src/exec/sapi/src/extension.c
index fccbb47274..ce5b379e1e 100644
--- a/c/src/exec/sapi/src/extension.c
+++ b/c/src/exec/sapi/src/extension.c
@@ -2,7 +2,7 @@
* Extension Manager
*
*
- * COPYRIGHT (c) 1989-1999.
+ * COPYRIGHT (c) 1989-2002.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -45,120 +45,3 @@ void _Extension_Manager_initialization(
FALSE
);
}
-
-/*PAGE
- *
- * rtems_extension_create
- *
- * This directive creates a extension and performs some initialization.
- *
- * Input parameters:
- * name - extension name
- * extension_table - pointer to extension set information
- * id - pointer to extension id
- *
- * Output parameters:
- * id - extension id
- * RTEMS_SUCCESSFUL - if successful
- * error code - if unsuccessful
- */
-
-rtems_status_code rtems_extension_create(
- rtems_name name,
- rtems_extensions_table *extension_table,
- Objects_Id *id
-)
-{
- Extension_Control *the_extension;
-
- if ( !rtems_is_name_valid( name ) )
- return RTEMS_INVALID_NAME;
-
- _Thread_Disable_dispatch(); /* to prevent deletion */
-
- the_extension = _Extension_Allocate();
-
- if ( !the_extension ) {
- _Thread_Enable_dispatch();
- return RTEMS_TOO_MANY;
- }
-
- _User_extensions_Add_set( &the_extension->Extension, extension_table );
-
- _Objects_Open( &_Extension_Information, &the_extension->Object, &name );
-
- *id = the_extension->Object.id;
- _Thread_Enable_dispatch();
- return RTEMS_SUCCESSFUL;
-}
-
-/*PAGE
- *
- * rtems_extension_ident
- *
- * This directive returns the system ID associated with
- * the extension name.
- *
- * Input parameters:
- * name - user defined message queue name
- * id - pointer to extension id
- *
- * Output parameters:
- * *id - message queue id
- * RTEMS_SUCCESSFUL - if successful
- * error code - if unsuccessful
- */
-
-rtems_status_code rtems_extension_ident(
- rtems_name name,
- Objects_Id *id
-)
-{
- Objects_Name_to_id_errors status;
-
- status = _Objects_Name_to_id(
- &_Extension_Information,
- &name,
- OBJECTS_SEARCH_LOCAL_NODE,
- id
- );
-
- return _Status_Object_name_errors_to_status[ status ];
-}
-
-/*PAGE
- *
- * rtems_extension_delete
- *
- * This directive allows a thread to delete a extension.
- *
- * Input parameters:
- * id - extension id
- *
- * Output parameters:
- * RTEMS_SUCCESSFUL - if successful
- * error code - if unsuccessful
- */
-
-rtems_status_code rtems_extension_delete(
- Objects_Id id
-)
-{
- Extension_Control *the_extension;
- Objects_Locations location;
-
- the_extension = _Extension_Get( id, &location );
- switch ( location ) {
- case OBJECTS_ERROR:
- case OBJECTS_REMOTE: /* should never return this */
- return RTEMS_INVALID_ID;
- case OBJECTS_LOCAL:
- _User_extensions_Remove_set( &the_extension->Extension );
- _Objects_Close( &_Extension_Information, &the_extension->Object );
- _Extension_Free( the_extension );
- _Thread_Enable_dispatch();
- return RTEMS_SUCCESSFUL;
- }
-
- return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */
-}
diff --git a/c/src/exec/sapi/src/extensioncreate.c b/c/src/exec/sapi/src/extensioncreate.c
new file mode 100644
index 0000000000..d6dad318d3
--- /dev/null
+++ b/c/src/exec/sapi/src/extensioncreate.c
@@ -0,0 +1,65 @@
+/*
+ * Extension Manager -- rtems_extension_create
+ *
+ *
+ * COPYRIGHT (c) 1989-2002.
+ * 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.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#include <rtems/system.h>
+#include <rtems/rtems/support.h>
+#include <rtems/score/object.h>
+#include <rtems/score/thread.h>
+#include <rtems/extension.h>
+
+/*PAGE
+ *
+ * rtems_extension_create
+ *
+ * This directive creates a extension and performs some initialization.
+ *
+ * Input parameters:
+ * name - extension name
+ * extension_table - pointer to extension set information
+ * id - pointer to extension id
+ *
+ * Output parameters:
+ * id - extension id
+ * RTEMS_SUCCESSFUL - if successful
+ * error code - if unsuccessful
+ */
+
+rtems_status_code rtems_extension_create(
+ rtems_name name,
+ rtems_extensions_table *extension_table,
+ Objects_Id *id
+)
+{
+ Extension_Control *the_extension;
+
+ if ( !rtems_is_name_valid( name ) )
+ return RTEMS_INVALID_NAME;
+
+ _Thread_Disable_dispatch(); /* to prevent deletion */
+
+ the_extension = _Extension_Allocate();
+
+ if ( !the_extension ) {
+ _Thread_Enable_dispatch();
+ return RTEMS_TOO_MANY;
+ }
+
+ _User_extensions_Add_set( &the_extension->Extension, extension_table );
+
+ _Objects_Open( &_Extension_Information, &the_extension->Object, &name );
+
+ *id = the_extension->Object.id;
+ _Thread_Enable_dispatch();
+ return RTEMS_SUCCESSFUL;
+}
diff --git a/c/src/exec/sapi/src/extensiondelete.c b/c/src/exec/sapi/src/extensiondelete.c
new file mode 100644
index 0000000000..9c06d25f88
--- /dev/null
+++ b/c/src/exec/sapi/src/extensiondelete.c
@@ -0,0 +1,56 @@
+/*
+ * Extension Manager -- rtems_extension_delete
+ *
+ *
+ * COPYRIGHT (c) 1989-2002.
+ * 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.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#include <rtems/system.h>
+#include <rtems/rtems/support.h>
+#include <rtems/score/object.h>
+#include <rtems/score/thread.h>
+#include <rtems/extension.h>
+
+/*PAGE
+ *
+ * rtems_extension_delete
+ *
+ * This directive allows a thread to delete a extension.
+ *
+ * Input parameters:
+ * id - extension id
+ *
+ * Output parameters:
+ * RTEMS_SUCCESSFUL - if successful
+ * error code - if unsuccessful
+ */
+
+rtems_status_code rtems_extension_delete(
+ Objects_Id id
+)
+{
+ Extension_Control *the_extension;
+ Objects_Locations location;
+
+ the_extension = _Extension_Get( id, &location );
+ switch ( location ) {
+ case OBJECTS_ERROR:
+ case OBJECTS_REMOTE: /* should never return this */
+ return RTEMS_INVALID_ID;
+ case OBJECTS_LOCAL:
+ _User_extensions_Remove_set( &the_extension->Extension );
+ _Objects_Close( &_Extension_Information, &the_extension->Object );
+ _Extension_Free( the_extension );
+ _Thread_Enable_dispatch();
+ return RTEMS_SUCCESSFUL;
+ }
+
+ return RTEMS_INTERNAL_ERROR; /* unreached - only to remove warnings */
+}
diff --git a/c/src/exec/sapi/src/extensionident.c b/c/src/exec/sapi/src/extensionident.c
new file mode 100644
index 0000000000..cc7b105832
--- /dev/null
+++ b/c/src/exec/sapi/src/extensionident.c
@@ -0,0 +1,53 @@
+/*
+ * Extension Manager -- rtems_extension_ident
+ *
+ *
+ * COPYRIGHT (c) 1989-2002.
+ * 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.OARcorp.com/rtems/license.html.
+ *
+ * $Id$
+ */
+
+#include <rtems/system.h>
+#include <rtems/rtems/support.h>
+#include <rtems/score/object.h>
+#include <rtems/score/thread.h>
+#include <rtems/extension.h>
+
+/*PAGE
+ *
+ * rtems_extension_ident
+ *
+ * This directive returns the system ID associated with
+ * the extension name.
+ *
+ * Input parameters:
+ * name - user defined message queue name
+ * id - pointer to extension id
+ *
+ * Output parameters:
+ * *id - message queue id
+ * RTEMS_SUCCESSFUL - if successful
+ * error code - if unsuccessful
+ */
+
+rtems_status_code rtems_extension_ident(
+ rtems_name name,
+ Objects_Id *id
+)
+{
+ Objects_Name_to_id_errors status;
+
+ status = _Objects_Name_to_id(
+ &_Extension_Information,
+ &name,
+ OBJECTS_SEARCH_LOCAL_NODE,
+ id
+ );
+
+ return _Status_Object_name_errors_to_status[ status ];
+}