The POSIX API Configuration Table is used to configure the managers which constitute the POSIX API for a particular application. For example, the user can configure the maximum number of threads for this application. The POSIX API Configuration Table is defined in the following Ada record:
type POSIX_Thread_Entry is access procedure (
Argument : in RTEMS.Address
);
type POSIX_Initialization_Threads_Table_Entry is
record
Thread_Entry : RTEMS.POSIX_Thread_Entry;
end record;
type POSIX_Initialization_Threads_Table is array
( RTEMS.Unsigned32 range <> ) of
RTEMS.POSIX_Initialization_Threads_Table_Entry;
type POSIX_Initialization_Threads_Table_Pointer is access all
POSIX_Initialization_Threads_Table;
type POSIX_API_Configuration_Table_Entry is
record
Maximum_Threads : Interfaces.C.Int;
Maximum_Mutexes : Interfaces.C.Int;
Maximum_Condition_Variables : Interfaces.C.Int;
Maximum_Keys : Interfaces.C.Int;
Maximum_Timers : Interfaces.C.Int;
Maximum_Queued_Signals : Interfaces.C.Int;
Number_Of_Initialization_Tasks : Interfaces.C.Int;
User_Initialization_Tasks_Table :
RTEMS.POSIX_Initialization_Threads_Table_Pointer;
end record;
type POSIX_API_Configuration_Table is array
( RTEMS.Unsigned32 range <> ) of
RTEMS.POSIX_API_Configuration_Table_Entry;
type POSIX_API_Configuration_Table_Pointer is access all
RTEMS.POSIX_API_Configuration_Table;
rtems/confdefs.h mechanism for configuring
an RTEMS application, the value for this field corresponds
to the setting of the macro CONFIGURE_MAXIMUM_POSIX_THREADS.
If not defined by the application, then the
CONFIGURE_MAXIMUM_POSIX_THREADS macro defaults to 10.
rtems/confdefs.h mechanism for configuring
an RTEMS application, the value for this field corresponds
to the setting of the macro CONFIGURE_MAXIMUM_POSIX_MUTEXES.
If not defined by the application, then the
CONFIGURE_MAXIMUM_POSIX_MUTEXES macro defaults to 0.
rtems/confdefs.h mechanism for configuring
an RTEMS application, the value for this field corresponds
to the setting of the macro CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES.
If not defined by the application, then the
CONFIGURE_MAXIMUM_POSIX_CONDITION_VARIABLES macro defaults to 0.
rtems/confdefs.h mechanism for configuring
an RTEMS application, the value for this field corresponds
to the setting of the macro CONFIGURE_MAXIMUM_POSIX_KEYS.
If not defined by the application, then the
CONFIGURE_MAXIMUM_POSIX_KEYS macro defaults to 0.
rtems/confdefs.h mechanism for configuring
an RTEMS application, the value for this field corresponds
to the setting of the macro CONFIGURE_MAXIMUM_POSIX_TIMERS.
If not defined by the application, then the
CONFIGURE_MAXIMUM_POSIX_TIMERS macro defaults to 0.
rtems/confdefs.h mechanism for configuring
an RTEMS application, the value for this field corresponds
to the setting of the macro CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS.
If not defined by the application, then the
CONFIGURE_MAXIMUM_POSIX_QUEUED_SIGNALS macro defaults to 0.
rtems/confdefs.h mechanism for configuring
an RTEMS application, the user must define the
CONFIGURE_POSIX_INIT_THREAD_TABLE to indicate that there
is one or more POSIX initialization thread. If the application
only has one POSIX initialization thread, then the automatically
generated POSIX Initialization Thread Table will be sufficient. The following
macros correspond to the single initialization task:
CONFIGURE_POSIX_INIT_THREAD_ENTRY_POINT - is the entry
point of the thread. If this macro is not defined by the application,
then this defaults to the C routine POSIX_Init.
CONFIGURE_POSIX_INIT_TASK_STACK_SIZE - is the stack size
of the single initialization thread. If this macro is not defined
by the application, then this defaults to
(RTEMS_MINIMUM_STACK_SIZE * 2).
posix_initialization_threads_table record.
When using the rtems/confdefs.h mechanism for configuring
an RTEMS application, the value for this field corresponds
to the address of the POSIX_Initialization_threads structure.
Copyright © 1988-2004 OAR Corporation