From 0825f57833ae1c0d749ef61bde62141bab897907 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 15 Dec 1998 23:32:19 +0000 Subject: Moved around per Ralf Corsepius as preparation for automake --- c/src/exec/sapi/headers/Makefile.in | 43 --- c/src/exec/sapi/headers/README | 135 ------- c/src/exec/sapi/headers/confdefs.h | 656 ----------------------------------- c/src/exec/sapi/headers/config.h | 110 ------ c/src/exec/sapi/headers/directives.h | 120 ------- c/src/exec/sapi/headers/extension.h | 138 -------- c/src/exec/sapi/headers/fatal.h | 49 --- c/src/exec/sapi/headers/init.h | 110 ------ c/src/exec/sapi/headers/io.h | 244 ------------- c/src/exec/sapi/headers/mptables.h | 29 -- c/src/exec/sapi/headers/sptables.h | 171 --------- c/src/exec/sapi/inline/Makefile.in | 30 -- c/src/exec/sapi/inline/extension.inl | 91 ----- c/src/exec/sapi/macros/Makefile.in | 30 -- c/src/exec/sapi/macros/extension.inl | 58 ---- 15 files changed, 2014 deletions(-) delete mode 100644 c/src/exec/sapi/headers/Makefile.in delete mode 100644 c/src/exec/sapi/headers/README delete mode 100644 c/src/exec/sapi/headers/confdefs.h delete mode 100644 c/src/exec/sapi/headers/config.h delete mode 100644 c/src/exec/sapi/headers/directives.h delete mode 100644 c/src/exec/sapi/headers/extension.h delete mode 100644 c/src/exec/sapi/headers/fatal.h delete mode 100644 c/src/exec/sapi/headers/init.h delete mode 100644 c/src/exec/sapi/headers/io.h delete mode 100644 c/src/exec/sapi/headers/mptables.h delete mode 100644 c/src/exec/sapi/headers/sptables.h delete mode 100644 c/src/exec/sapi/inline/Makefile.in delete mode 100644 c/src/exec/sapi/inline/extension.inl delete mode 100644 c/src/exec/sapi/macros/Makefile.in delete mode 100644 c/src/exec/sapi/macros/extension.inl (limited to 'c/src/exec/sapi') diff --git a/c/src/exec/sapi/headers/Makefile.in b/c/src/exec/sapi/headers/Makefile.in deleted file mode 100644 index 109bb18c44..0000000000 --- a/c/src/exec/sapi/headers/Makefile.in +++ /dev/null @@ -1,43 +0,0 @@ -# -# $Id$ -# - -@SET_MAKE@ -srcdir = @srcdir@ -VPATH = @srcdir@ -RTEMS_ROOT = @top_srcdir@ -PROJECT_ROOT = @PROJECT_ROOT@ - -H_PIECES= config directives extension fatal init io mptables -H_FILES=$(H_PIECES:%=$(srcdir)/%.h) - -# H_FILES that get installed externally -EXTERNAL_H_PIECES = confdefs -EXTERNAL_H_FILES=$(EXTERNAL_H_PIECES:%=$(srcdir)/%.h) - -SRCS=$(H_FILES) $(EXTERNAL_H_FILES) - -include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg -include $(RTEMS_ROOT)/make/leaf.cfg - -# -# Add your list of files to delete here. The config files -# already know how to delete some stuff, so you may want -# to just run 'make clean' first to see what gets missed. -# 'make clobber' already includes 'make clean' -# - -CLEAN_ADDITIONS += -CLOBBER_ADDITIONS += - -all: $(SRCS) $(ARCH) $(PROJECT_INCLUDE)/rtems/sptables.h - $(INSTALL) -m 444 ${H_FILES} $(PROJECT_INCLUDE)/rtems/ - $(INSTALL) -m 444 ${EXTERNAL_H_FILES} $(PROJECT_INCLUDE) - -$(PROJECT_INCLUDE)/rtems/sptables.h: $(ARCH)/sptables.h-tmp - $(INSTALL) -m 444 $(ARCH)/sptables.h-tmp $@ - -$(ARCH)/sptables.h-tmp: $(srcdir)/sptables.h - $(SED) -e 's?REPLACE_THIS_WITH_THE_BSP?$(RTEMS_BSP)?' \ - < $< >$(ARCH)/sptables.h-tmp - diff --git a/c/src/exec/sapi/headers/README b/c/src/exec/sapi/headers/README deleted file mode 100644 index 5fcc0d14c7..0000000000 --- a/c/src/exec/sapi/headers/README +++ /dev/null @@ -1,135 +0,0 @@ -# -# $Id$ -# - -Configuring a System Using the Template in confdefs.h -===================================================== - -The file confdefs.h is a Configuration Template file which can be -used to greatly simplify the creation and maintenance of RTEMS -Configuration Tables. The basic concepts are: - - + confdefs.h provides defaults for all configuration parameters - - + applications specify only those values they wish to override - - + confdefs.h can be the only file which knows the precise layout - of the RTEMS Configuration Tables. - -The Configuration Template setup is used by all RTEMS tests to -simplify the maintenance of the tests. - -Here is the section from the system.h file from test tm21 from -the Timing Test Suite: - - /* configuration information */ - - #define CONFIGURE_TMTEST - - #define CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER - #define CONFIGURE_TEST_NEEDS_TIMER_DRIVER - - #define CONFIGURE_MAXIMUM_TASKS 102 - #define CONFIGURE_MAXIMUM_TIMERS 100 - #define CONFIGURE_MAXIMUM_SEMAPHORES 100 - #define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 100 - #define CONFIGURE_MAXIMUM_PARTITIONS 100 - #define CONFIGURE_MAXIMUM_REGIONS 100 - #define CONFIGURE_MAXIMUM_PORTS 100 - #define CONFIGURE_MAXIMUM_PERIODS 100 - - #define CONFIGURE_TICKS_PER_TIMESLICE 0 - - #include - - -The above example overrides a number of the configuration parameters. -It informs the template that it is a member of the Timing Suite, -requires a console and timer driver, and that it needs 102 tasks, -100 timers, 100 semaphores, 100 message queues, 100 partitions, -100 regions, 100 ports, and 100 periods. By default, the test -would have gotten no drivers, 10 tasks, and no other RTEMS objects. - -The following shows the configuration tables generated by the -template by default. - - -#include - -#define NULL_DRIVER_TABLE_ENTRY \ - { NULL, NULL, NULL, NULL, NULL, NULL } - -rtems_driver_address_table Device_drivers[] = { -#ifdef CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER - CONSOLE_DRIVER_TABLE_ENTRY, -#endif -#ifdef CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - CLOCK_DRIVER_TABLE_ENTRY, -#endif -#ifdef CONFIGURE_TEST_NEEDS_STUB_DRIVER - STUB_DRIVER_TABLE_ENTRY, -#endif - NULL_DRIVER_TABLE_ENTRY, -}; - -rtems_initialization_tasks_table Initialization_tasks[] = { - { rtems_build_name( 'U', 'I', '1', ' ' ), /* init task name */ - RTEMS_MINIMUM_STACK_SIZE, /* init task stack size */ - 1, /* init task priority */ - RTEMS_DEFAULT_ATTRIBUTES, /* init task attributes */ - Init, /* init task entry point */ - RTEMS_NO_PREEMPT, /* init task initial mode */ - 0 /* init task argument list */ - } -}; - -#ifdef CONFIGURE_MPTEST -/* - * NODE_NUMBER is assumed to be set on the compile line. - */ - -rtems_multiprocessing_table Multiprocessing_configuration = { - NODE_NUMBER, /* local node number */ - 2, /* maximum # nodes in system */ - 32, /* maximum # global objects */ - 32, /* maximum # proxies */ - &MPCI_table /* pointer to MPCI config table */ -}; -#endif - -/* - * CONFIGURE_EXECUTIVE_RAM_SIZE is a rough guess based on the number of - * tasks in the system plus enough extra to get a whole 64K extra. - * - * The NULL address for the workspace area is assumed to be assigned - * at startup time by the BSP. - */ - -rtems_configuration_table Configuration = { - NULL, /* executive RAM work area */ - CONFIGURE_EXECUTIVE_RAM_SIZE, /* executive RAM size */ - 10, /* maximum # tasks */ - 0, /* maximum # timers */ - 0, /* maximum # semaphores */ - 0, /* maximum # message queues */ - 0, /* maximum # messages */ - 0, /* maximum # partitions */ - 0, /* maximum # regions */ - 0, /* maximum # dp memory areas */ - 0, /* maximum # periods */ - 0, /* maximum # user extensions */ - RTEMS_MILLISECONDS_TO_MICROSECONDS(10), /* # us in a tick */ - 50, /* # ticks in a timeslice */ - sizeof (Initialization_tasks) / sizeof(rtems_initialization_tasks_table), - /* number of init tasks */ - Initialization_tasks, /* init task(s) table */ - sizeof (Device_drivers) / sizeof(rtems_driver_address_table), - /* number of device drivers */ - Device_drivers, /* pointer to driver address table */ - NULL, /* pointer to initial extensions */ -#ifdef CONFIGURE_MPTEST - &Multiprocessing_configuration -#else - NULL /* ptr to MP config table */ -#endif -}; diff --git a/c/src/exec/sapi/headers/confdefs.h b/c/src/exec/sapi/headers/confdefs.h deleted file mode 100644 index 75f3132055..0000000000 --- a/c/src/exec/sapi/headers/confdefs.h +++ /dev/null @@ -1,656 +0,0 @@ -/* confdefs.h - * - * This include file contains the configuration table template that will - * be used by the single processor tests to define its default configuration - * parameters. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __CONFIGURATION_TEMPLATE_h -#define __CONFIGURATION_TEMPLATE_h - -#ifdef __cplusplus -extern "C" { -#endif - -extern rtems_initialization_tasks_table Initialization_tasks[]; -extern rtems_driver_address_table Device_drivers[]; -extern rtems_configuration_table Configuration; -extern rtems_multiprocessing_table Multiprocessing_configuration; -#ifdef RTEMS_POSIX_API -extern posix_api_configuration_table Configuration_POSIX_API; -#endif - -/* - * RTEMS C Library and Newlib support - * - * NOTE: This ends up defining these even when newlib is not used. - */ - -#define CONFIGURE_NEWLIB_EXTENSION 1 -#define CONFIGURE_MALLOC_REGION 1 - -#ifndef CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS -#define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 20 -#endif - -#define CONFIGURE_LIBIO_SEMAPHORES \ - (CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS + 1) - -#ifdef CONFIGURE_INIT -unsigned32 rtems_libio_number_iops = CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS; -#endif - -/* - * Stack Checker Requirements - */ - -#ifdef STACK_CHECKER_ON -#define CONFIGURE_STACK_CHECKER_EXTENSION 1 -#else -#define CONFIGURE_STACK_CHECKER_EXTENSION 0 -#endif - -/* - * Interrupt Stack Space - */ - -#if (CPU_ALLOCATE_INTERRUPT_STACK == 0) -#define CONFIGURE_INTERRUPT_STACK_MEMORY 0 -#else - #ifndef CONFIGURE_INTERRUPT_STACK_MEMORY - #define CONFIGURE_INTERRUPT_STACK_MEMORY RTEMS_MINIMUM_STACK_SIZE - #else - #define CONFIGURE_INTERRUPT_STACK_MEMORY 0 - #endif -#endif - -/* - * Default User Initialization Task Table. This table guarantees that - * one user initialization table is defined. - */ - -#ifdef CONFIGURE_RTEMS_INIT_TASKS_TABLE - -#ifdef CONFIGURE_HAS_OWN_INIT_TASK_TABLE - -/* - * The user is defining their own table information and setting the - * appropriate variables. - */ - -#else - -#ifndef CONFIGURE_INIT_TASK_NAME -#define CONFIGURE_INIT_TASK_NAME rtems_build_name( 'U', 'I', '1', ' ' ) -#endif - -#ifndef CONFIGURE_INIT_TASK_STACK_SIZE -#define CONFIGURE_INIT_TASK_STACK_SIZE RTEMS_MINIMUM_STACK_SIZE -#endif - -#ifndef CONFIGURE_INIT_TASK_PRIORITY -#define CONFIGURE_INIT_TASK_PRIORITY 1 -#endif - -#ifndef CONFIGURE_INIT_TASK_ATTRIBUTES -#define CONFIGURE_INIT_TASK_ATTRIBUTES RTEMS_DEFAULT_ATTRIBUTES -#endif - -#ifndef CONFIGURE_INIT_TASK_ENTRY_POINT -#define CONFIGURE_INIT_TASK_ENTRY_POINT Init -#endif - -#ifndef CONFIGURE_INIT_TASK_INITIAL_MODES -#define CONFIGURE_INIT_TASK_INITIAL_MODES RTEMS_NO_PREEMPT -#endif - -#ifndef CONFIGURE_INIT_TASK_ARGUMENTS -#define CONFIGURE_INIT_TASK_ARGUMENTS 0 -#endif - -#ifdef CONFIGURE_INIT -rtems_initialization_tasks_table Initialization_tasks[] = { - { CONFIGURE_INIT_TASK_NAME, - CONFIGURE_INIT_TASK_STACK_SIZE, - CONFIGURE_INIT_TASK_PRIORITY, - CONFIGURE_INIT_TASK_ATTRIBUTES, - CONFIGURE_INIT_TASK_ENTRY_POINT, - CONFIGURE_INIT_TASK_INITIAL_MODES, - CONFIGURE_INIT_TASK_ARGUMENTS - } -}; -#endif - -#define CONFIGURE_INIT_TASK_TABLE Initialization_tasks - -#define CONFIGURE_INIT_TASK_TABLE_SIZE \ - sizeof(CONFIGURE_INIT_TASK_TABLE) / sizeof(rtems_initialization_tasks_table) - -#endif /* CONFIGURE_HAS_OWN_INIT_TASK_TABLE */ - -#else /* CONFIGURE_RTEMS_INIT_TASKS_TABLE */ - -#define CONFIGURE_INIT_TASK_TABLE NULL -#define CONFIGURE_INIT_TASK_TABLE_SIZE 0 - -#endif - -/* - * Default Device Driver Table. Each driver needed by the test is explicitly - * choosen by that test. There is always a null driver entry. - */ - -#define NULL_DRIVER_TABLE_ENTRY \ - { NULL, NULL, NULL, NULL, NULL, NULL } - -#ifdef CONFIGURE_TEST_NEEDS_TIMER_DRIVER -#include -#endif - -#ifdef CONFIGURE_TEST_NEEDS_STUB_DRIVER -#include -#endif - -#ifndef CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE - -#ifdef CONFIGURE_INIT -rtems_driver_address_table Device_drivers[] = { -#ifdef CONFIGURE_TEST_NEEDS_CONSOLE_DRIVER - CONSOLE_DRIVER_TABLE_ENTRY, -#endif -#ifdef CONFIGURE_TEST_NEEDS_CLOCK_DRIVER - CLOCK_DRIVER_TABLE_ENTRY, -#endif -#ifdef CONFIGURE_TEST_NEEDS_STUB_DRIVER - STUB_DRIVER_TABLE_ENTRY, -#endif - NULL_DRIVER_TABLE_ENTRY -}; -#endif - -#endif /* CONFIGURE_HAS_OWN_DEVICE_DRIVER_TABLE */ - -/* - * Default the number of devices per device driver. This value may be - * overridden by the user. - */ - -#ifndef CONFIGURE_HAS_OWN_NUMBER_OF_DEVICES - -#ifndef CONFIGURE_MAXIMUM_DEVICES -#define CONFIGURE_MAXIMUM_DEVICES 20 -#endif - -#endif /* CONFIGURE_HAS_OWN_NUMBER_OF_DEVICES */ - -/* - * Default Configuration Table. This table contains the most values set in - * the RTEMS Test Suite. Each value may be overridden within each test to - * customize the environment. - */ - -#ifdef CONFIGURE_MPTEST -#ifndef CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE - -#ifndef CONFIGURE_MP_NODE_NUMBER -#define CONFIGURE_MP_NODE_NUMBER NODE_NUMBER -#endif - -#ifndef CONFIGURE_MP_MAXIMUM_NODES -#define CONFIGURE_MP_MAXIMUM_NODES 2 -#endif - -#ifndef CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS -#define CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS 32 -#endif - -#ifndef CONFIGURE_MP_MAXIMUM_PROXIES -#define CONFIGURE_MP_MAXIMUM_PROXIES 32 -#endif - -#ifndef CONFIGURE_MP_MPCI_TABLE_POINTER -#include -#define CONFIGURE_MP_MPCI_TABLE_POINTER &MPCI_table -#endif - -#ifdef CONFIGURE_INIT -rtems_multiprocessing_table Multiprocessing_configuration = { - CONFIGURE_MP_NODE_NUMBER, /* local node number */ - CONFIGURE_MP_MAXIMUM_NODES, /* maximum # nodes in system */ - CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS, /* maximum # global objects */ - CONFIGURE_MP_MAXIMUM_PROXIES, /* maximum # proxies */ - CONFIGURE_MP_MPCI_TABLE_POINTER /* pointer to MPCI config table */ -}; -#endif - -#define CONFIGURE_MULTIPROCESSING_TABLE &Multiprocessing_configuration - -#endif /* CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE */ - -#else - -#define CONFIGURE_MULTIPROCESSING_TABLE NULL - -#endif /* CONFIGURE_MPTEST */ - -/* - * Default Configuration Table. This table contains the most values set in - * the RTEMS Test Suite. Each value may be overridden within each test to - * customize the environment. - */ - -#ifndef CONFIGURE_HAS_OWN_CONFIGURATION_TABLE - -#ifndef CONFIGURE_EXECUTIVE_RAM_WORK_AREA -#define CONFIGURE_EXECUTIVE_RAM_WORK_AREA NULL -#endif - -#ifndef CONFIGURE_MAXIMUM_TASKS -#define CONFIGURE_MAXIMUM_TASKS 10 -#endif - -#ifndef CONFIGURE_MAXIMUM_TIMERS -#define CONFIGURE_MAXIMUM_TIMERS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_SEMAPHORES -#define CONFIGURE_MAXIMUM_SEMAPHORES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_MESSAGE_QUEUES -#define CONFIGURE_MAXIMUM_MESSAGE_QUEUES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_PARTITIONS -#define CONFIGURE_MAXIMUM_PARTITIONS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_REGIONS -#define CONFIGURE_MAXIMUM_REGIONS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_PORTS -#define CONFIGURE_MAXIMUM_PORTS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_PERIODS -#define CONFIGURE_MAXIMUM_PERIODS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_USER_EXTENSIONS -#define CONFIGURE_MAXIMUM_USER_EXTENSIONS 0 -#endif - -#ifndef CONFIGURE_MICROSECONDS_PER_TICK -#define CONFIGURE_MICROSECONDS_PER_TICK RTEMS_MILLISECONDS_TO_MICROSECONDS(10) -#endif - -#ifndef CONFIGURE_TICKS_PER_TIMESLICE -#define CONFIGURE_TICKS_PER_TIMESLICE 50 -#endif - -/* - * Initial Extension Set - */ - -#ifdef CONFIGURE_INIT -#ifdef STACK_CHECKER_ON -#include -#endif - -rtems_extensions_table Configuration_Initial_Extensions[] = { -#ifdef CONFIGURE_INITIAL_EXTENSIONS - CONFIGURE_INITIAL_EXTENSIONS, -#endif -#ifdef STACK_CHECKER_ON - STACK_CHECKER_EXTENSION, -#endif - { NULL, NULL, NULL, NULL, NULL, NULL, NULL } -}; - -#define CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS \ - ((sizeof(Configuration_Initial_Extensions) / \ - sizeof(rtems_extensions_table)) - 1) - -#endif - -/* - * POSIX API Configuration Parameters - */ - -#ifdef RTEMS_POSIX_API - -#include -#include -#include -#include -#include -#include - -#ifndef CONFIGURE_MAXIMUM_POSIX_THREADS -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_MUTEXES -#define CONFIGURE_MAXIMUM_POSIX_MUTEXES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES -#define CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_KEYS -#define CONFIGURE_MAXIMUM_POSIX_KEYS 0 -#endif - -#ifndef CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS -#define CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS 0 -#endif - -#ifdef CONFIGURE_POSIX_INIT_THREAD_TABLE - -#ifdef CONFIGURE_POSIX_HAS_OWN_INIT_THREAD_TABLE - -/* - * The user is defining their own table information and setting the - * appropriate variables. - */ - -#else - -#ifndef CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT -#define CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT POSIX_Init -#endif - -#ifdef CONFIGURE_INIT -posix_initialization_threads_table POSIX_Initialization_threads[] = { - { CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT } -}; -#endif - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME POSIX_Initialization_threads - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE \ - sizeof(CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME) / \ - sizeof(posix_initialization_threads_table) - -#endif /* CONFIGURE_POSIX_HAS_OWN_INIT_TASK_TABLE */ - -#else /* CONFIGURE_POSIX_INIT_THREAD_TABLE */ - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME NULL -#define CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE 0 - -#endif - -#define CONFIGURE_MEMORY_PER_TASK_FOR_POSIX_API \ - ( \ - sizeof (POSIX_API_Control) + \ - (sizeof (void *) * (CONFIGURE_GNAT_KEYS + CONFIGURE_MAXIMUM_POSIX_KEYS)) \ - ) - -#define CONFIGURE_MEMORY_FOR_POSIX_MUTEXES(_mutexes) \ - ((_mutexes) * \ - ( sizeof(POSIX_Mutex_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_POSIX_CONDITION_VARIABLES(_condition_variables) \ - ((_condition_variables) * \ - ( sizeof(POSIX_Condition_variables_Control) + \ - CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_POSIX_KEYS(_keys) \ - ((_keys) * \ - ( sizeof(POSIX_Keys_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS(_queued_signals) \ - ((_queued_signals) * \ - ( sizeof(POSIX_signals_Siginfo_node) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - - - -#define CONFIGURE_MEMORY_FOR_POSIX \ - ( \ - CONFIGURE_MEMORY_FOR_POSIX_MUTEXES( CONFIGURE_MAXIMUM_POSIX_MUTEXES ) + \ - CONFIGURE_MEMORY_FOR_POSIX_CONDITION_VARIABLES( \ - CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES ) + \ - CONFIGURE_MEMORY_FOR_POSIX_KEYS( CONFIGURE_MAXIMUM_POSIX_KEYS ) + \ - CONFIGURE_MEMORY_FOR_POSIX_QUEUED_SIGNALS( \ - CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS ) \ - ) - - -#else - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 0 -#define CONFIGURE_MEMORY_PER_TASK_FOR_POSIX_API 0 -#define CONFIGURE_MEMORY_FOR_POSIX 0 - -#endif /* RTEMS_POSIX_API */ - -/* - * Calculate the RAM size based on the maximum number of objects configured. - * The model is to estimate the memory required for each configured item, - * sum the memory requirements and insure that there is at least 32K greater - * than that for things not directly addressed such as: - * - * + stacks greater than minimum size - * + FP contexts - * + API areas (should be optional) - * + messages - * + object name and local pointer table overhead - * + per node memory requirements - * + executive fixed requirements (including at least internal threads - * and the Ready chains) - * - * NOTE: Eventually this should take into account some of the above. - * Basically, this is a "back of the envelope" estimate for - * memory requirements. It could be more accurate. - */ - -#ifndef CONFIGURE_EXECUTIVE_RAM_SIZE - -#define CONFIGURE_OBJECT_TABLE_STUFF \ - ( sizeof(Objects_Control *) + sizeof(rtems_name *) + sizeof(rtems_name) ) - -#define CONFIGURE_MEMORY_FOR_TASKS(_tasks) \ - (((_tasks) + 1 ) * \ - ((sizeof(Thread_Control) + CONTEXT_FP_SIZE + \ - STACK_MINIMUM_SIZE + sizeof( RTEMS_API_Control ) + \ - CONFIGURE_MEMORY_PER_TASK_FOR_POSIX_API + \ - CONFIGURE_OBJECT_TABLE_STUFF)) \ - ) - -#define CONFIGURE_MEMORY_FOR_TIMERS(_timers) \ - ((_timers) * ( sizeof(Timer_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_SEMAPHORES(_semaphores) \ - ((_semaphores) * \ - ( sizeof(Semaphore_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(_queues) \ - ( (_queues) * \ - ( sizeof(Message_queue_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_PARTITIONS(_partitions) \ - ( (_partitions) * \ - ( sizeof(Partition_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_REGIONS(_regions) \ - ( (_regions) * \ - ( sizeof(Region_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_PORTS(_ports) \ - ( (_ports) * \ - ( sizeof(Dual_ported_memory_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_PERIODS(_periods) \ - ( (_periods) * \ - ( sizeof(Rate_monotonic_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_USER_EXTENSIONS(_extensions) \ - ( (_extensions) * \ - ( sizeof(Extension_Control) + CONFIGURE_OBJECT_TABLE_STUFF ) ) - -#define CONFIGURE_MEMORY_FOR_DEVICES(_devices) \ - (((_devices) + 1) * ( sizeof(rtems_driver_name_t) ) ) - -#ifdef CONFIGURE_MPTEST - -#ifndef CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE - -#define CONFIGURE_MEMORY_FOR_PROXIES(_proxies) \ - ( ((_proxies) + 1) * ( sizeof(Thread_Proxy_control) ) ) - -#define CONFIGURE_MEMORY_FOR_GLOBAL_OBJECTS(_global_objects) \ - ((_global_objects) * ( sizeof(Objects_MP_Control) ) ) - -#define CONFIGURE_MEMORY_FOR_MP \ - ( CONFIGURE_MEMORY_FOR_PROXIES(CONFIGURE_MP_MAXIMUM_PROXIES) + \ - CONFIGURE_MEMORY_FOR_GLOBAL_OBJECTS(CONFIGURE_MP_MAXIMUM_GLOBAL_OBJECTS) + \ - CONFIGURE_MEMORY_FOR_TASKS(1) \ - ) - -#endif /* CONFIGURE_HAS_OWN_MULTIPROCESING_TABLE */ - -#else - -#define CONFIGURE_MEMORY_FOR_MP 0 - -#endif - -#ifndef CONFIGURE_MEMORY_OVERHEAD -#define CONFIGURE_MEMORY_OVERHEAD 0 -#endif - -#ifndef CONFIGURE_EXTRA_TASK_STACKS -#define CONFIGURE_EXTRA_TASK_STACKS 0 -#endif - -#define CONFIGURE_MEMORY_FOR_SYSTEM_OVEREHAD \ - ( CONFIGURE_MEMORY_FOR_TASKS(1) + /* IDLE */ \ - (256 * 12) + /* Ready chains */ \ - 256 + /* name/ptr table overhead */ \ - CONFIGURE_INTERRUPT_STACK_MEMORY /* interrupt stack */ \ - ) - -#define CONFIGURE_EXECUTIVE_RAM_SIZE \ -(( CONFIGURE_MEMORY_FOR_POSIX + \ - CONFIGURE_MEMORY_FOR_TASKS(CONFIGURE_MAXIMUM_TASKS + \ - CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS ) + \ - CONFIGURE_MEMORY_FOR_TIMERS(CONFIGURE_MAXIMUM_TIMERS) + \ - CONFIGURE_MEMORY_FOR_SEMAPHORES(CONFIGURE_MAXIMUM_SEMAPHORES + \ - CONFIGURE_LIBIO_SEMAPHORES) + \ - CONFIGURE_MEMORY_FOR_MESSAGE_QUEUES(CONFIGURE_MAXIMUM_MESSAGE_QUEUES) + \ - CONFIGURE_MEMORY_FOR_PARTITIONS(CONFIGURE_MAXIMUM_PARTITIONS) + \ - CONFIGURE_MEMORY_FOR_REGIONS( \ - CONFIGURE_MAXIMUM_REGIONS + CONFIGURE_MALLOC_REGION ) + \ - CONFIGURE_MEMORY_FOR_PORTS(CONFIGURE_MAXIMUM_PORTS) + \ - CONFIGURE_MEMORY_FOR_PERIODS(CONFIGURE_MAXIMUM_PERIODS) + \ - CONFIGURE_MEMORY_FOR_USER_EXTENSIONS( \ - CONFIGURE_MAXIMUM_USER_EXTENSIONS + CONFIGURE_NEWLIB_EXTENSION + \ - CONFIGURE_STACK_CHECKER_EXTENSION ) + \ - CONFIGURE_MEMORY_FOR_DEVICES(CONFIGURE_MAXIMUM_DEVICES) + \ - CONFIGURE_MEMORY_FOR_MP + \ - CONFIGURE_MEMORY_FOR_SYSTEM_OVEREHAD + \ - (((CONFIGURE_MEMORY_OVERHEAD)+1) * 1024) + \ - (CONFIGURE_EXTRA_TASK_STACKS) + (CONFIGURE_ADA_TASKS_STACK) \ -) & 0xfffffc00) -#endif - -#ifdef CONFIGURE_GNAT_RTEMS -#define CONFIGURE_GNAT_MUTEXES 10 -#define CONFIGURE_GNAT_KEYS 1 - -/* 20 are required to run all tests in the ACVC */ -#ifndef CONFIGURE_MAXIMUM_ADA_TASKS -#define CONFIGURE_MAXIMUM_ADA_TASKS 20 -#endif - -/* This is the number of non-Ada tasks which invoked Ada code. */ -#ifndef CONFIGURE_MAXIMUM_FAKE_ADA_TASKS -#define CONFIGURE_MAXIMUM_FAKE_ADA_TASKS 0 -#endif - -/* Ada tasks are allocated twice the minimum stack space */ -#define CONFIGURE_ADA_TASKS_STACK \ - (CONFIGURE_MAXIMUM_ADA_TASKS * (RTEMS_MINIMUM_STACK_SIZE + (6 * 1024))) - -#else -#define CONFIGURE_GNAT_MUTEXES 0 -#define CONFIGURE_GNAT_KEYS 0 -#define CONFIGURE_MAXIMUM_ADA_TASKS 0 -#define CONFIGURE_MAXIMUM_FAKE_ADA_TASKS 0 -#define CONFIGURE_ADA_TASKS_STACK 0 -#endif - - -#ifdef CONFIGURE_INIT - -rtems_api_configuration_table Configuration_RTEMS_API = { - CONFIGURE_MAXIMUM_TASKS, - CONFIGURE_MAXIMUM_TIMERS, - CONFIGURE_MAXIMUM_SEMAPHORES + CONFIGURE_LIBIO_SEMAPHORES, - CONFIGURE_MAXIMUM_MESSAGE_QUEUES, - CONFIGURE_MAXIMUM_PARTITIONS, - CONFIGURE_MAXIMUM_REGIONS + CONFIGURE_MALLOC_REGION, - CONFIGURE_MAXIMUM_PORTS, - CONFIGURE_MAXIMUM_PERIODS, - CONFIGURE_INIT_TASK_TABLE_SIZE, - CONFIGURE_INIT_TASK_TABLE -}; - -#ifdef RTEMS_POSIX_API -posix_api_configuration_table Configuration_POSIX_API = { - CONFIGURE_MAXIMUM_POSIX_THREADS + CONFIGURE_MAXIMUM_ADA_TASKS, - CONFIGURE_MAXIMUM_POSIX_MUTEXES + CONFIGURE_GNAT_MUTEXES + - CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS, - CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES + - CONFIGURE_MAXIMUM_ADA_TASKS + CONFIGURE_MAXIMUM_FAKE_ADA_TASKS, - CONFIGURE_MAXIMUM_POSIX_KEYS + CONFIGURE_GNAT_KEYS, - CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS, - CONFIGURE_POSIX_INIT_THREAD_TABLE_SIZE, - CONFIGURE_POSIX_INIT_THREAD_TABLE_NAME -}; -#endif - -rtems_configuration_table Configuration = { - CONFIGURE_EXECUTIVE_RAM_WORK_AREA, - CONFIGURE_EXECUTIVE_RAM_SIZE, - CONFIGURE_MAXIMUM_USER_EXTENSIONS + CONFIGURE_NEWLIB_EXTENSION + - CONFIGURE_STACK_CHECKER_EXTENSION, - CONFIGURE_MICROSECONDS_PER_TICK, - CONFIGURE_TICKS_PER_TIMESLICE, - CONFIGURE_MAXIMUM_DEVICES, - sizeof (Device_drivers)/ - sizeof(rtems_driver_address_table), /* number of device drivers */ - Device_drivers, /* pointer to driver table */ - CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS, /* number of initial extensions */ - Configuration_Initial_Extensions, /* pointer to initial extensions */ - CONFIGURE_MULTIPROCESSING_TABLE, /* pointer to MP config table */ - &Configuration_RTEMS_API, /* pointer to RTEMS API config */ -#ifdef RTEMS_POSIX_API - &Configuration_POSIX_API /* pointer to POSIX API config */ -#else - NULL /* pointer to POSIX API config */ -#endif -}; -#endif - -#endif /* CONFIGURE_HAS_OWN_CONFIGURATION_TABLE */ - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/headers/config.h b/c/src/exec/sapi/headers/config.h deleted file mode 100644 index 5a01286059..0000000000 --- a/c/src/exec/sapi/headers/config.h +++ /dev/null @@ -1,110 +0,0 @@ -/* config.h - * - * This include file contains the table of user defined configuration - * parameters. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __RTEMS_CONFIGURATION_h -#define __RTEMS_CONFIGURATION_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * This is kind of kludgy but it allows targets to totally ignore the - * POSIX API safely. - */ - -#ifdef RTEMS_POSIX_API -#include -#else - -typedef void *posix_api_configuration_table; -#endif - -#include - -/* XXX should cover these -#include -#include -#include -*/ - -#include -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif - -/* - * The following records define the Multiprocessor Configuration - * Table. This table defines the multiprocessor system - * characteristics which must be known by RTEMS in a multiprocessor - * system. - */ - -typedef struct { - unsigned32 node; /* local node number */ - unsigned32 maximum_nodes; /* maximum # nodes in system */ - unsigned32 maximum_global_objects; /* maximum # global objects */ - unsigned32 maximum_proxies; /* maximum # proxies */ -#if defined(RTEMS_MULTIPROCESSING) - MPCI_Control *User_mpci_table; /* pointer to MPCI table */ -#else - void *User_mpci_table; /* pointer to MPCI table */ -#endif -} rtems_multiprocessing_table; - -/* - * The following records define the Configuration Table. The - * information contained in this table is required in all - * RTEMS systems, whether single or multiprocessor. This - * table primarily defines the following: - * - * + location and size of the RTEMS Workspace - * + microseconds per clock tick - * + clock ticks per task timeslice - * + required number of each object type for each API configured - */ - -typedef struct { - void *work_space_start; - unsigned32 work_space_size; - unsigned32 maximum_extensions; - unsigned32 microseconds_per_tick; - unsigned32 ticks_per_timeslice; - unsigned32 maximum_devices; - unsigned32 number_of_device_drivers; - rtems_driver_address_table *Device_driver_table; - unsigned32 number_of_initial_extensions; - rtems_extensions_table *User_extension_table; - rtems_multiprocessing_table *User_multiprocessing_table; - rtems_api_configuration_table *RTEMS_api_configuration; - posix_api_configuration_table *POSIX_api_configuration; -} rtems_configuration_table; - -/* - * The following are provided strictly for the convenience of - * the user. They are not used in RTEMS itself. - */ - -SAPI_EXTERN rtems_configuration_table *_Configuration_Table; -SAPI_EXTERN rtems_multiprocessing_table *_Configuration_MP_table; - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/headers/directives.h b/c/src/exec/sapi/headers/directives.h deleted file mode 100644 index 785ab0760e..0000000000 --- a/c/src/exec/sapi/headers/directives.h +++ /dev/null @@ -1,120 +0,0 @@ -/* directives.h - * - * The following definitions are the directive numbers used - * in the assembly interface. - * - * COPYRIGHT (c) 1989-1997 - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __RTEMS_DIRECTIVES_h -#define __RTEMS_DIRECTIVES_h - -#ifdef __cplusplus -extern "C" { -#endif - -#define RTEMS_INITIALIZE_EXECUTIVE 0 -#define RTEMS_INITIALIZE_EXECUTIVE_EARLY 1 -#define RTEMS_INITIALIZE_EXECUTIVE_LATE 2 -#define RTEMS_SHUTDOWN_EXECUTIVE 3 -#define RTEMS_TASKS_CREATE 4 -#define RTEMS_TASKS_NAME_TO_ID 5 -#define RTEMS_TASKS_START 6 -#define RTEMS_TASKS_RESTART 7 -#define RTEMS_TASKS_DELETE 8 -#define RTEMS_TASKS_SUSPEND 9 -#define RTEMS_TASKS_RESUME 10 -#define RTEMS_TASKS_SET_PRIORITY 11 -#define RTEMS_TASKS_MODE 12 -#define RTEMS_TASKS_GET_NOTE 13 -#define RTEMS_TASKS_SET_NOTE 14 -#define RTEMS_TASKS_WAKE_AFTER 15 -#define RTEMS_TASKS_WAKE_WHEN 16 -#define RTEMS_INTERRUPT_CATCH 17 -#define RTEMS_CLOCK_SET 18 -#define RTEMS_CLOCK_GET 19 -#define RTEMS_CLOCK_TICK 20 -#define RTEMS_EXTENSION_CREATE 21 -#define RTEMS_EXTENSION_NAME_TO_ID 22 -#define RTEMS_EXTENSION_DELETE 23 -#define RTEMS_TIMER_CREATE 24 -#define RTEMS_TIMER_NAME_TO_ID 25 -#define RTEMS_TIMER_CANCEL 26 -#define RTEMS_TIMER_DELETE 27 -#define RTEMS_TIMER_FIRE_AFTER 28 -#define RTEMS_TIMER_FIRE_WHEN 29 -#define RTEMS_TIMER_RESET 30 -#define RTEMS_SEMAPHORE_CREATE 31 -#define RTEMS_SEMAPHORE_NAME_TO_ID 32 -#define RTEMS_SEMAPHORE_DELETE 33 -#define RTEMS_SEMAPHORE_OBTAIN 34 -#define RTEMS_SEMAPHORE_RELEASE 35 -#define RTEMS_MESSAGE_QUEUE_CREATE 36 -#define RTEMS_MESSAGE_QUEUE_NAME_TO_ID 37 -#define RTEMS_MESSAGE_QUEUE_DELETE 38 -#define RTEMS_MESSAGE_QUEUE_SEND 39 -#define RTEMS_MESSAGE_QUEUE_URGENT 40 -#define RTEMS_MESSAGE_QUEUE_BROADCAST 41 -#define RTEMS_MESSAGE_QUEUE_RECEIVE 42 -#define RTEMS_MESSAGE_QUEUE_FLUSH 43 -#define RTEMS_EVENT_SEND 44 -#define RTEMS_EVENT_RECEIVE 45 -#define RTEMS_SIGNAL_CATCH 46 -#define RTEMS_SIGNAL_SEND 47 -#define RTEMS_PARTITION_CREATE 48 -#define RTEMS_PARTITION_NAME_TO_ID 49 -#define RTEMS_PARTITION_DELETE 50 -#define RTEMS_PARTITION_GET_BUFFER 51 -#define RTEMS_PARTITION_RETURN_BUFFER 52 -#define RTEMS_REGION_CREATE 53 -#define RTEMS_REGION_EXTEND 54 -#define RTEMS_REGION_NAME_TO_ID 55 -#define RTEMS_REGION_DELETE 56 -#define RTEMS_REGION_GET_SEGMENT_SIZE 57 -#define RTEMS_REGION_GET_SEGMENT 58 -#define RTEMS_REGION_RETURN_SEGMENT 59 -#define RTEMS_DUAL_PORTED_MEMORY_CREATE 60 -#define RTEMS_DUAL_PORTED_MEMORY_NAME_TO_ID 61 -#define RTEMS_DUAL_PORTED_MEMORY_DELETE 62 -#define RTEMS_DUAL_PORTED_MEMORY_EXTERNAL_TO_INTERNAL 63 -#define RTEMS_DUAL_PORTED_MEMORY_INTERNAL_TO_EXTERNAL 64 -#define RTEMS_IO_INITIALIZE 65 -#define RTEMS_IO_REGISTER_NAME 66 -#define RTEMS_IO_LOOKUP_NAME 67 -#define RTEMS_IO_OPEN 68 -#define RTEMS_IO_CLOSE 69 -#define RTEMS_IO_READ 70 -#define RTEMS_IO_WRITE 71 -#define RTEMS_IO_CONTROL 72 -#define RTEMS_FATAL_ERROR_OCCURRED 73 -#define RTEMS_RATE_MONOTONIC_CREATE 74 -#define RTEMS_RATE_MONOTONIC_NAME_TO_ID 75 -#define RTEMS_RATE_MONOTONIC_DELETE 76 -#define RTEMS_RATE_MONOTONIC_CANCEL 77 -#define RTEMS_RATE_MONOTONIC_PERIOD 78 -#define RTEMS_MULTIPROCESSING_ANNOUNCE 79 -#define RTEMS_DEBUG_ENABLE 80 -#define RTEMS_DEBUG_DISABLE 81 - -#define RTEMS_NUMBER_OF_ENTRY_POINTS 82 - -/* - * The jump table of entry points into RTEMS directives. - */ - -extern const void *_Entry_points[ RTEMS_NUMBER_OF_ENTRY_POINTS ]; - -#ifdef __cplusplus -} -#endif - -#endif -/* end of directives.h */ diff --git a/c/src/exec/sapi/headers/extension.h b/c/src/exec/sapi/headers/extension.h deleted file mode 100644 index 9b6b21c70e..0000000000 --- a/c/src/exec/sapi/headers/extension.h +++ /dev/null @@ -1,138 +0,0 @@ -/* extension.h - * - * This include file contains all the constants, structures, and - * prototypes associated with the User Extension Manager. This manager - * provides a mechanism for manipulating sets of user-defined extensions. - * - * Directives provided are: - * - * + create user extension set - * + get ID of user extension set - * + delete user extension set - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __RTEMS_EXTENSION_MANAGER_h -#define __RTEMS_EXTENSION_MANAGER_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include /* XXX */ -#include /* XXX */ - -/* - * Extension related types - */ - -typedef User_extensions_routine rtems_extension; -typedef User_extensions_thread_create_extension rtems_task_create_extension; -typedef User_extensions_thread_delete_extension rtems_task_delete_extension; -typedef User_extensions_thread_start_extension rtems_task_start_extension; -typedef User_extensions_thread_restart_extension rtems_task_restart_extension; -typedef User_extensions_thread_switch_extension rtems_task_switch_extension; -typedef User_extensions_thread_post_switch_extension - rtems_task_post_switch_extension; -typedef User_extensions_thread_begin_extension rtems_task_begin_extension; -typedef User_extensions_thread_exitted_extension rtems_task_exitted_extension; -typedef User_extensions_fatal_extension rtems_fatal_extension; - -typedef User_extensions_Table rtems_extensions_table; - -/* - * The following defines the information control block used to manage - * this class of objects. - */ - -SAPI_EXTERN Objects_Information _Extension_Information; - -/* - * The following records define the control block used to manage - * each extension. - */ - -typedef struct { - Objects_Control Object; - User_extensions_Control Extension; -} Extension_Control; - -/* - * _Extension_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _Extension_Manager_initialization( - unsigned32 maximum_extensions -); - -/* - * rtems_extension_create - * - * DESCRIPTION: - * - * This routine implements the rtems_extension_create directive. The - * extension will have the name name. The entry points of the - * routines which constitute this extension set are in EXTENSION_TABLE. - * It returns the id of the created extension in ID. - */ - -rtems_status_code rtems_extension_create( - rtems_name name, - rtems_extensions_table *extension_table, - Objects_Id *id -); - -/* - * rtems_extension_ident - * - * DESCRIPTION: - * - * This routine implements the rtems_extension_ident directive. - * This directive returns the extension ID associated with name. - * If more than one extension is named name, then the extension - * to which the ID belongs is arbitrary. - */ - -rtems_status_code rtems_extension_ident( - rtems_name name, - Objects_Id *id -); - -/* - * rtems_extension_delete - * - * DESCRIPTION: - * - * This routine implements the rtems_extension_delete directive. The - * extension indicated by ID is deleted. - */ - -rtems_status_code rtems_extension_delete( - Objects_Id id -); - -#ifndef __RTEMS_APPLICATION__ -#include -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/headers/fatal.h b/c/src/exec/sapi/headers/fatal.h deleted file mode 100644 index 7f0a7b443a..0000000000 --- a/c/src/exec/sapi/headers/fatal.h +++ /dev/null @@ -1,49 +0,0 @@ -/* fatal.h - * - * This include file contains constants and prototypes related - * to the Fatal Error Manager. This manager processes all fatal or - * irrecoverable errors. - * - * This manager provides directives to: - * - * + announce a fatal error has occurred - * - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __RTEMS_FATAL_h -#define __RTEMS_FATAL_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * rtems_fatal_error_occurred - * - * DESCRIPTION: - * - * This is the routine which implements the rtems_fatal_error_occurred - * directive. It is invoked when the application or RTEMS - * determines that a fatal error has occurred. - */ - -void volatile rtems_fatal_error_occurred( - unsigned32 the_error -); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/headers/init.h b/c/src/exec/sapi/headers/init.h deleted file mode 100644 index a4f24d8010..0000000000 --- a/c/src/exec/sapi/headers/init.h +++ /dev/null @@ -1,110 +0,0 @@ -/* init.h - * - * This include file contains all the constants and structures associated - * with the Initialization Manager. This manager is responsible for - * initializing RTEMS, creating and starting all configured initialization - * tasks, invoking the initialization routine for each user-supplied device - * driver, and initializing the optional multiprocessor layer. - * - * This manager provides directives to: - * - * + initialize the RTEMS executive - * + shutdown the RTEMS executive - * - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __RTEMS_INIT_h -#define __RTEMS_INIT_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include - -/* - * The following defines the default Multiprocessing Configuration - * Table. This table is used in a single processor system. - */ - -extern const rtems_multiprocessing_table - _Initialization_Default_multiprocessing_table; - -/* - * rtems_initialize_executive - * - * DESCRIPTION: - * - * This routine implements the rtems_initialize_executive directive. This - * directive is invoked at system startup to initialize the RTEMS - * multitasking environment. - */ - -void rtems_initialize_executive( - rtems_configuration_table *configuration_table, - rtems_cpu_table *cpu_table -); - -/* - * rtems_initialize_executive_early - * - * DESCRIPTION: - * - * This routine implements the early portion of rtems_initialize_executive - * directive up to the pretasking hook. This directive is invoked at system - * startup to initialize the RTEMS multitasking environment. - */ - -rtems_interrupt_level rtems_initialize_executive_early( - rtems_configuration_table *configuration_table, - rtems_cpu_table *cpu_table -); - -/* - * rtems_initialize_executive_late - * - * DESCRIPTION: - * - * This routine implements the early portion of rtems_initialize_executive - * directive up to the pretasking hook. This directive is invoked at system - * startup to initialize the RTEMS multitasking environment. - */ - -void rtems_initialize_executive_late( - rtems_interrupt_level bsp_level -); - -/* - * rtems_shutdown_executive - * - * DESCRIPTION: - * - * This routine implements the rtems_shutdown_executive directive. The - * invocation of this directive results in the RTEMS environment being - * shutdown and multitasking halted. From the application's perspective, - * invocation of this directive results in the rtems_initialize_executive - * directive exitting to the startup code which invoked it. - */ - -void rtems_shutdown_executive( - unsigned32 result -); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/headers/io.h b/c/src/exec/sapi/headers/io.h deleted file mode 100644 index 11b4f812cd..0000000000 --- a/c/src/exec/sapi/headers/io.h +++ /dev/null @@ -1,244 +0,0 @@ -/* io.h - * - * This include file contains all the constants and structures associated - * with the Input/Output Manager. This manager provides a well defined - * mechanism for accessing device drivers and a structured methodology for - * organizing device drivers. - * - * Directives provided are: - * - * + initialize a device driver - * + open a device driver - * + close a device driver - * + read from a device driver - * + write to a device driver - * + special device services - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __RTEMS_IO_h -#define __RTEMS_IO_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* - * - * The following defines the types for: - * - * + major and minor numbers - * + the return type of a device driver entry - * + a pointer to a device driver entry - * + an entry in the the Device Driver Address Table. Each entry in this - * table corresponds to an application provided device driver and - * defines the entry points for that device driver. - */ - -typedef unsigned32 rtems_device_major_number; -typedef unsigned32 rtems_device_minor_number; - -typedef rtems_status_code rtems_device_driver; - -typedef rtems_device_driver ( *rtems_device_driver_entry )( - rtems_device_major_number, - rtems_device_minor_number, - void * - ); - -typedef struct { - rtems_device_driver_entry initialization; /* initialization procedure */ - rtems_device_driver_entry open; /* open request procedure */ - rtems_device_driver_entry close; /* close request procedure */ - rtems_device_driver_entry read; /* read request procedure */ - rtems_device_driver_entry write; /* write request procedure */ - rtems_device_driver_entry control; /* special functions procedure */ -} rtems_driver_address_table; - -/* - * Table for the io device names - */ - -typedef struct { - char *device_name; - unsigned32 device_name_length; - rtems_device_major_number major; - rtems_device_minor_number minor; -} rtems_driver_name_t; - -/* - * This is the table of device names. - */ - -/* - * The following declare the data required to manage the Driver - * Address Table and Device Name Table. - */ - -SAPI_EXTERN unsigned32 _IO_Number_of_drivers; -SAPI_EXTERN rtems_driver_address_table *_IO_Driver_address_table; -SAPI_EXTERN unsigned32 _IO_Number_of_devices; -SAPI_EXTERN rtems_driver_name_t *_IO_Driver_name_table; - -/* - * _IO_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _IO_Manager_initialization( - rtems_driver_address_table *driver_table, - unsigned32 number_of_drivers, - unsigned32 number_of_devices -); - -/* - * rtems_io_register_name - * - * DESCRIPTION: - * - * Associate a name with a driver. - * - */ - -rtems_status_code rtems_io_register_name( - char *device_name, - rtems_device_major_number major, - rtems_device_minor_number minor -); - - -/* - * rtems_io_lookup_name - * - * DESCRIPTION: - * - * Find what driver "owns" this name - */ - -rtems_status_code rtems_io_lookup_name( - const char *name, - rtems_driver_name_t **device_info -); - - -/* - * rtems_io_initialize - * - * DESCRIPTION: - * - * This routine implements the rtems_io_initialize directive. It is invoked - * to initialize a device driver or an individual device. - */ - -rtems_status_code rtems_io_initialize( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * rtems_io_open - * - * DESCRIPTION: - * - * This routine implements the rtems_io_open directive. It is invoked - * to open a device. - */ - -rtems_status_code rtems_io_open( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * rtems_io_close - * - * DESCRIPTION: - * - * This routine implements the rtems_io_close directive. It is invoked - * to close a device. - */ - -rtems_status_code rtems_io_close( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * rtems_io_read - * - * DESCRIPTION: - * - * This routine implements the rtems_io_read directive. It is invoked - * to read from a device. - */ - -rtems_status_code rtems_io_read( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * rtems_io_write - * - * DESCRIPTION: - * - * This routine implements the rtems_io_write directive. It is invoked - * to write to a device. - */ - -rtems_status_code rtems_io_write( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * rtems_io_control - * - * DESCRIPTION: - * - * This routine implements the rtems_io_control directive. It is invoked - * to perform a device specific operation on a device. - */ - -rtems_status_code rtems_io_control( - rtems_device_major_number major, - rtems_device_minor_number minor, - void *argument -); - -/* - * _IO_Initialize_all_drivers - * - * DESCRIPTION: - * - * This routine initializes all of the device drivers configured - * in the Device Driver Address Table. - */ - -void _IO_Initialize_all_drivers( void ); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/headers/mptables.h b/c/src/exec/sapi/headers/mptables.h deleted file mode 100644 index 8fdbdfebd2..0000000000 --- a/c/src/exec/sapi/headers/mptables.h +++ /dev/null @@ -1,29 +0,0 @@ -/* mptables.h - * - * This include file contains the executive's pre-initialized tables - * used in a multiprocessor configuration. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __RTEMS_MPTABLES_h -#define __RTEMS_MPTABLES_h - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/headers/sptables.h b/c/src/exec/sapi/headers/sptables.h deleted file mode 100644 index 03c23fb383..0000000000 --- a/c/src/exec/sapi/headers/sptables.h +++ /dev/null @@ -1,171 +0,0 @@ -/* sptables.h - * - * This include file contains the executive's pre-initialized tables - * used when in a single processor configuration. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __RTEMS_SPTABLES_h -#define __RTEMS_SPTABLES_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif -#include -#include -#include -#include -#include -#include - -/* - * This is the default Multiprocessing Configuration Table. - * It is used in single processor configurations. - */ - -const rtems_multiprocessing_table - _Initialization_Default_multiprocessing_table = { - 1, /* local node number */ - 1, /* maximum number nodes in system */ - 0, /* maximum number global objects */ - 0, /* maximum number proxies */ - NULL, /* pointer to MPCI address table */ -}; - -/* - * This is the version string. - */ - -#define RTEMS_VERSION "rtems-19981203-AFCC" - -const char _RTEMS_version[] = - "RTEMS RELEASE " RTEMS_VERSION - "(" CPU_NAME "/" CPU_MODEL_NAME "/REPLACE_THIS_WITH_THE_BSP)"; - - -/* - * This table is used by the single entry point code. - */ - -const void * _Entry_points[ RTEMS_NUMBER_OF_ENTRY_POINTS ] = { - (void *) rtems_initialize_executive, /* 0 */ - (void *) rtems_initialize_executive_early, /* 1 */ - (void *) rtems_initialize_executive_late, /* 2 */ - (void *) rtems_shutdown_executive, /* 3 */ - (void *) rtems_task_create, /* 4 */ - (void *) rtems_task_ident, /* 5 */ - (void *) rtems_task_start, /* 6 */ - (void *) rtems_task_restart, /* 7 */ - (void *) rtems_task_delete, /* 8 */ - (void *) rtems_task_suspend, /* 9 */ - (void *) rtems_task_resume, /* 10 */ - (void *) rtems_task_set_priority, /* 11 */ - (void *) rtems_task_mode, /* 12 */ - (void *) rtems_task_get_note, /* 13 */ - (void *) rtems_task_set_note, /* 14 */ - (void *) rtems_task_wake_after, /* 15 */ - (void *) rtems_task_wake_when, /* 16 */ - (void *) rtems_interrupt_catch, /* 17 */ - (void *) rtems_clock_set, /* 18 */ - (void *) rtems_clock_get, /* 19 */ - (void *) rtems_clock_tick, /* 20 */ - (void *) rtems_extension_create, /* 21 */ - (void *) rtems_extension_ident, /* 22 */ - (void *) rtems_extension_delete, /* 23 */ - (void *) rtems_timer_create, /* 24 */ - (void *) rtems_timer_ident, /* 25 */ - (void *) rtems_timer_cancel, /* 26 */ - (void *) rtems_timer_delete, /* 27 */ - (void *) rtems_timer_fire_after, /* 28 */ - (void *) rtems_timer_fire_when, /* 29 */ - (void *) rtems_timer_reset, /* 30 */ - (void *) rtems_semaphore_create, /* 31 */ - (void *) rtems_semaphore_ident, /* 32 */ - (void *) rtems_semaphore_delete, /* 33 */ - (void *) rtems_semaphore_obtain, /* 34 */ - (void *) rtems_semaphore_release, /* 35 */ - (void *) rtems_message_queue_create, /* 36 */ - (void *) rtems_message_queue_ident, /* 37 */ - (void *) rtems_message_queue_delete, /* 38 */ - (void *) rtems_message_queue_send, /* 39 */ - (void *) rtems_message_queue_urgent, /* 40 */ - (void *) rtems_message_queue_broadcast, /* 41 */ - (void *) rtems_message_queue_receive, /* 42 */ - (void *) rtems_message_queue_flush, /* 43 */ - (void *) rtems_event_send, /* 44 */ - (void *) rtems_event_receive, /* 45 */ - (void *) rtems_signal_catch, /* 46 */ - (void *) rtems_signal_send, /* 47 */ - (void *) rtems_partition_create, /* 48 */ - (void *) rtems_partition_ident, /* 49 */ - (void *) rtems_partition_delete, /* 50 */ - (void *) rtems_partition_get_buffer, /* 51 */ - (void *) rtems_partition_return_buffer, /* 52 */ - (void *) rtems_region_create, /* 53 */ - (void *) rtems_region_extend, /* 54 */ - (void *) rtems_region_ident, /* 55 */ - (void *) rtems_region_delete, /* 56 */ - (void *) rtems_region_get_segment, /* 57 */ - (void *) rtems_region_get_segment_size, /* 58 */ - (void *) rtems_region_return_segment, /* 59 */ - (void *) rtems_port_create, /* 60 */ - (void *) rtems_port_ident, /* 61 */ - (void *) rtems_port_delete, /* 62 */ - (void *) rtems_port_external_to_internal, /* 63 */ - (void *) rtems_port_internal_to_external, /* 64 */ - (void *) rtems_io_initialize, /* 65 */ - (void *) rtems_io_register_name, /* 66 */ - (void *) rtems_io_lookup_name, /* 67 */ - (void *) rtems_io_open, /* 68 */ - (void *) rtems_io_close, /* 69 */ - (void *) rtems_io_read, /* 70 */ - (void *) rtems_io_write, /* 71 */ - (void *) rtems_io_control, /* 72 */ - (void *) rtems_fatal_error_occurred, /* 73 */ - (void *) rtems_rate_monotonic_create, /* 74 */ - (void *) rtems_rate_monotonic_ident, /* 75 */ - (void *) rtems_rate_monotonic_delete, /* 76 */ - (void *) rtems_rate_monotonic_cancel, /* 77 */ - (void *) rtems_rate_monotonic_period, /* 78 */ -#if defined(RTEMS_MULTIPROCESSING) - (void *) rtems_multiprocessing_announce, /* 79 */ -#else - (void *) NULL, /* 79 */ -#endif - (void *) rtems_debug_enable, /* 80 */ - (void *) rtems_debug_disable /* 81 */ -}; - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/inline/Makefile.in b/c/src/exec/sapi/inline/Makefile.in deleted file mode 100644 index 634df7f643..0000000000 --- a/c/src/exec/sapi/inline/Makefile.in +++ /dev/null @@ -1,30 +0,0 @@ -# -# $Id$ -# - -@SET_MAKE@ -srcdir = @srcdir@ -VPATH = @srcdir@ -RTEMS_ROOT = @top_srcdir@ -PROJECT_ROOT = @PROJECT_ROOT@ - -I_PIECES= extension -I_FILES=$(I_PIECES:%=$(srcdir)/%.inl) - -SRCS=$(I_FILES) - -include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg -include $(RTEMS_ROOT)/make/lib.cfg - -# -# Add your list of files to delete here. The config files -# already know how to delete some stuff, so you may want -# to just run 'make clean' first to see what gets missed. -# 'make clobber' already includes 'make clean' -# - -CLEAN_ADDITIONS += $(LIB) -CLOBBER_ADDITIONS += - -all: $(SRCS) - $(INSTALL) -m 444 ${I_FILES} $(PROJECT_INCLUDE)/rtems diff --git a/c/src/exec/sapi/inline/extension.inl b/c/src/exec/sapi/inline/extension.inl deleted file mode 100644 index 49cd834832..0000000000 --- a/c/src/exec/sapi/inline/extension.inl +++ /dev/null @@ -1,91 +0,0 @@ -/* extension.inl - * - * This file contains the static inline implementation of the inlined routines - * from the Extension Manager. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __EXTENSION_MANAGER_inl -#define __EXTENSION_MANAGER_inl - -/*PAGE - * - * _Extension_Allocate - * - * DESCRIPTION: - * - * This function allocates a extension control block from - * the inactive chain of free extension control blocks. - */ - -RTEMS_INLINE_ROUTINE Extension_Control *_Extension_Allocate( void ) -{ - return (Extension_Control *) _Objects_Allocate( &_Extension_Information ); -} - -/*PAGE - * - * _Extension_Free - * - * DESCRIPTION: - * - * This routine frees a extension control block to the - * inactive chain of free extension control blocks. - */ - -RTEMS_INLINE_ROUTINE void _Extension_Free ( - Extension_Control *the_extension -) -{ - _Objects_Free( &_Extension_Information, &the_extension->Object ); -} - -/*PAGE - * - * _Extension_Get - * - * DESCRIPTION: - * - * This function maps extension IDs to extension control blocks. - * If ID corresponds to a local extension, then it returns - * the extension control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. Otherwise, location is set - * to OBJECTS_ERROR and the returned value is undefined. - */ - -RTEMS_INLINE_ROUTINE Extension_Control *_Extension_Get ( - Objects_Id id, - Objects_Locations *location -) -{ - return (Extension_Control *) - _Objects_Get( &_Extension_Information, id, location ); -} - -/*PAGE - * - * _Extension_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_extension is NULL and FALSE otherwise. - */ - -RTEMS_INLINE_ROUTINE boolean _Extension_Is_null ( - Extension_Control *the_extension -) -{ - return ( the_extension == NULL ); -} - -#endif -/* end of include file */ diff --git a/c/src/exec/sapi/macros/Makefile.in b/c/src/exec/sapi/macros/Makefile.in deleted file mode 100644 index 634df7f643..0000000000 --- a/c/src/exec/sapi/macros/Makefile.in +++ /dev/null @@ -1,30 +0,0 @@ -# -# $Id$ -# - -@SET_MAKE@ -srcdir = @srcdir@ -VPATH = @srcdir@ -RTEMS_ROOT = @top_srcdir@ -PROJECT_ROOT = @PROJECT_ROOT@ - -I_PIECES= extension -I_FILES=$(I_PIECES:%=$(srcdir)/%.inl) - -SRCS=$(I_FILES) - -include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg -include $(RTEMS_ROOT)/make/lib.cfg - -# -# Add your list of files to delete here. The config files -# already know how to delete some stuff, so you may want -# to just run 'make clean' first to see what gets missed. -# 'make clobber' already includes 'make clean' -# - -CLEAN_ADDITIONS += $(LIB) -CLOBBER_ADDITIONS += - -all: $(SRCS) - $(INSTALL) -m 444 ${I_FILES} $(PROJECT_INCLUDE)/rtems diff --git a/c/src/exec/sapi/macros/extension.inl b/c/src/exec/sapi/macros/extension.inl deleted file mode 100644 index 225f6b188d..0000000000 --- a/c/src/exec/sapi/macros/extension.inl +++ /dev/null @@ -1,58 +0,0 @@ -/* extension.inl - * - * This file contains the macro implementation of the inlined routines - * from the Extension Manager. - * - * COPYRIGHT (c) 1989-1998. - * On-Line Applications Research Corporation (OAR). - * Copyright assigned to U.S. Government, 1994. - * - * 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$ - */ - -#ifndef __EXTENSION_inl -#define __EXTENSION_inl - -/*PAGE - * - * _Extension_Allocate - * - */ - -#define _Extension_Allocate() \ - (Extension_Control *) _Objects_Allocate( &_Extension_Information ) - -/*PAGE - * - * _Extension_Free - * - */ - -#define _Extension_Free( _the_extension ) \ - _Objects_Free( &_Extension_Information, &(_the_extension)->Object ) - -/*PAGE - * - * _Extension_Get - * - */ - -#define _Extension_Get( _id, _location ) \ - (Extension_Control *) \ - _Objects_Get( &_Extension_Information, (_id), (_location) ) - -/*PAGE - * - * _Extension_Is_null - * - */ - -#define _Extension_Is_null( _the_extension ) \ - ( (_the_extension) == NULL ) - -#endif -/* end of include file */ -- cgit v1.2.3