From 2b3e9d9b244e279ef5693a7cf5dacc7903164af5 Mon Sep 17 00:00:00 2001 From: Ralf Corsepius Date: Mon, 22 Jul 2002 09:46:48 +0000 Subject: Remove, moved to cpukit. --- c/src/exec/posix/include/rtems/posix/.cvsignore | 2 - c/src/exec/posix/include/rtems/posix/cancel.h | 29 --- c/src/exec/posix/include/rtems/posix/cond.h | 169 -------------- c/src/exec/posix/include/rtems/posix/condmp.h | 161 ------------- c/src/exec/posix/include/rtems/posix/config.h | 62 ----- c/src/exec/posix/include/rtems/posix/intr.h | 153 ------------- c/src/exec/posix/include/rtems/posix/key.h | 135 ----------- c/src/exec/posix/include/rtems/posix/mqueue.h | 249 --------------------- c/src/exec/posix/include/rtems/posix/mqueuemp.h | 160 ------------- c/src/exec/posix/include/rtems/posix/mutex.h | 158 ------------- c/src/exec/posix/include/rtems/posix/mutexmp.h | 173 -------------- c/src/exec/posix/include/rtems/posix/posixapi.h | 33 --- c/src/exec/posix/include/rtems/posix/priority.h | 44 ---- c/src/exec/posix/include/rtems/posix/psignal.h | 121 ---------- c/src/exec/posix/include/rtems/posix/pthread.h | 150 ------------- c/src/exec/posix/include/rtems/posix/pthreadmp.h | 160 ------------- c/src/exec/posix/include/rtems/posix/ptimer.h | 91 -------- c/src/exec/posix/include/rtems/posix/semaphore.h | 181 --------------- c/src/exec/posix/include/rtems/posix/semaphoremp.h | 160 ------------- c/src/exec/posix/include/rtems/posix/threadsup.h | 45 ---- c/src/exec/posix/include/rtems/posix/time.h | 50 ----- c/src/exec/posix/include/rtems/posix/timer.h | 71 ------ 22 files changed, 2557 deletions(-) delete mode 100644 c/src/exec/posix/include/rtems/posix/.cvsignore delete mode 100644 c/src/exec/posix/include/rtems/posix/cancel.h delete mode 100644 c/src/exec/posix/include/rtems/posix/cond.h delete mode 100644 c/src/exec/posix/include/rtems/posix/condmp.h delete mode 100644 c/src/exec/posix/include/rtems/posix/config.h delete mode 100644 c/src/exec/posix/include/rtems/posix/intr.h delete mode 100644 c/src/exec/posix/include/rtems/posix/key.h delete mode 100644 c/src/exec/posix/include/rtems/posix/mqueue.h delete mode 100644 c/src/exec/posix/include/rtems/posix/mqueuemp.h delete mode 100644 c/src/exec/posix/include/rtems/posix/mutex.h delete mode 100644 c/src/exec/posix/include/rtems/posix/mutexmp.h delete mode 100644 c/src/exec/posix/include/rtems/posix/posixapi.h delete mode 100644 c/src/exec/posix/include/rtems/posix/priority.h delete mode 100644 c/src/exec/posix/include/rtems/posix/psignal.h delete mode 100644 c/src/exec/posix/include/rtems/posix/pthread.h delete mode 100644 c/src/exec/posix/include/rtems/posix/pthreadmp.h delete mode 100644 c/src/exec/posix/include/rtems/posix/ptimer.h delete mode 100644 c/src/exec/posix/include/rtems/posix/semaphore.h delete mode 100644 c/src/exec/posix/include/rtems/posix/semaphoremp.h delete mode 100644 c/src/exec/posix/include/rtems/posix/threadsup.h delete mode 100644 c/src/exec/posix/include/rtems/posix/time.h delete mode 100644 c/src/exec/posix/include/rtems/posix/timer.h (limited to 'c/src/exec/posix/include/rtems/posix') diff --git a/c/src/exec/posix/include/rtems/posix/.cvsignore b/c/src/exec/posix/include/rtems/posix/.cvsignore deleted file mode 100644 index 282522db03..0000000000 --- a/c/src/exec/posix/include/rtems/posix/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Makefile -Makefile.in diff --git a/c/src/exec/posix/include/rtems/posix/cancel.h b/c/src/exec/posix/include/rtems/posix/cancel.h deleted file mode 100644 index 935912a298..0000000000 --- a/c/src/exec/posix/include/rtems/posix/cancel.h +++ /dev/null @@ -1,29 +0,0 @@ -/* rtems/posix/cancel.h - * - * $Id$ - */ - -#ifndef __RTEMS_POSIX_CANCEL_h -#define __RTEMS_POSIX_CANCEL_h - -typedef struct { - Chain_Node Node; - void (*routine)( void * ); - void *arg; -} POSIX_Cancel_Handler_control; - -/* - * _POSIX_Threads_cancel_run - * - * DESCRIPTION: - * - * This support routine runs through the chain of cancel handlers that - * have been registered and executes them. - */ - -void _POSIX_Threads_cancel_run( - Thread_Control *the_thread -); - -#endif -/* end of include file */ diff --git a/c/src/exec/posix/include/rtems/posix/cond.h b/c/src/exec/posix/include/rtems/posix/cond.h deleted file mode 100644 index 25e0fd96c2..0000000000 --- a/c/src/exec/posix/include/rtems/posix/cond.h +++ /dev/null @@ -1,169 +0,0 @@ -/* rtems/posix/cond.h - * - * This include file contains all the private support information for - * POSIX condition variables. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_CONDITION_VARIABLES_h -#define __RTEMS_POSIX_CONDITION_VARIABLES_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -/* - * Constant to indicate condition variable does not currently have - * a mutex assigned to it. - */ - -#define POSIX_CONDITION_VARIABLES_NO_MUTEX 0 - -/* - * Data Structure used to manage a POSIX condition variable - */ - -typedef struct { - Objects_Control Object; - int process_shared; - pthread_mutex_t Mutex; - Thread_queue_Control Wait_queue; -} POSIX_Condition_variables_Control; - -/* - * The following defines the information control block used to manage - * this class of objects. - */ - -POSIX_EXTERN Objects_Information _POSIX_Condition_variables_Information; - -/* - * The default condition variable attributes structure. - */ - -extern const pthread_condattr_t _POSIX_Condition_variables_Default_attributes; - -/* - * _POSIX_Condition_variables_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _POSIX_Condition_variables_Manager_initialization( - unsigned32 maximum_condition_variables -); - -/* - * _POSIX_Condition_variables_Allocate - * - * DESCRIPTION: - * - * This function allocates a condition variable control block from - * the inactive chain of free condition variable control blocks. - */ - -RTEMS_INLINE_ROUTINE POSIX_Condition_variables_Control * - _POSIX_Condition_variables_Allocate( void ); - -/* - * _POSIX_Condition_variables_Free - * - * DESCRIPTION: - * - * This routine frees a condition variable control block to the - * inactive chain of free condition variable control blocks. - */ - -RTEMS_INLINE_ROUTINE void _POSIX_Condition_variables_Free ( - POSIX_Condition_variables_Control *the_condition_variable -); - -/* - * _POSIX_Condition_variables_Get - * - * DESCRIPTION: - * - * This function maps condition variable IDs to condition variable control - * blocks. If ID corresponds to a local condition variable, then it returns - * the_condition variable control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the condition variable ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_condition variable is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_condition variable is undefined. - */ - -#if 0 -RTEMS_INLINE_ROUTINE POSIX_Condition_variables_Control *_POSIX_Condition_variables_Get ( - Objects_Id *id, - Objects_Locations *location -); -#endif - -/* - * _POSIX_Condition_variables_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_condition variable is NULL - * and FALSE otherwise. - */ - -RTEMS_INLINE_ROUTINE boolean _POSIX_Condition_variables_Is_null ( - POSIX_Condition_variables_Control *the_condition_variable -); - -/* - * _POSIX_Condition_variables_Signal_support - * - * DESCRIPTION: - * - * A support routine which implements guts of the broadcast and single task - * wake up version of the "signal" operation. - */ - -int _POSIX_Condition_variables_Signal_support( - pthread_cond_t *cond, - boolean is_broadcast -); - -/* - * _POSIX_Condition_variables_Wait_support - * - * DESCRIPTION: - * - * A support routine which implements guts of the blocking, non-blocking, and - * timed wait version of condition variable wait routines. - */ - -int _POSIX_Condition_variables_Wait_support( - pthread_cond_t *cond, - pthread_mutex_t *mutex, - Watchdog_Interval timeout, - boolean already_timedout -); - -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ - diff --git a/c/src/exec/posix/include/rtems/posix/condmp.h b/c/src/exec/posix/include/rtems/posix/condmp.h deleted file mode 100644 index dfd10e57a3..0000000000 --- a/c/src/exec/posix/include/rtems/posix/condmp.h +++ /dev/null @@ -1,161 +0,0 @@ -/* condmp.h - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the POSIX Condition Variable Manager. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_CONDITION_VARIABLES_MP_h -#define __RTEMS_POSIX_CONDITION_VARIABLES_MP_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include - -/* - * The following enumerated type defines the list of - * remote condition variable operations. - */ - -typedef enum { - POSIX_CONDITION_VARIABLES_MP_ANNOUNCE_CREATE = 0, - POSIX_CONDITION_VARIABLES_MP_ANNOUNCE_DELETE = 1, - POSIX_CONDITION_VARIABLES_MP_EXTRACT_PROXY = 2, - POSIX_CONDITION_VARIABLES_MP_OBTAIN_REQUEST = 3, - POSIX_CONDITION_VARIABLES_MP_OBTAIN_RESPONSE = 4, - POSIX_CONDITION_VARIABLES_MP_RELEASE_REQUEST = 5, - POSIX_CONDITION_VARIABLES_MP_RELEASE_RESPONSE = 6, -} POSIX_Condition_variables_MP_Remote_operations; - -/* - * The following data structure defines the packet used to perform - * remote condition variable operations. - */ - -typedef struct { - MP_packet_Prefix Prefix; - POSIX_Condition_variables_MP_Remote_operations operation; - Objects_Name name; - boolean wait; /* XXX options */ - Objects_Id proxy_id; -} POSIX_Condition_variables_MP_Packet; - -/* - * _POSIX_Condition_variables_MP_Send_process_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ - -void _POSIX_Condition_variables_MP_Send_process_packet ( - POSIX_Condition_variables_MP_Remote_operations operation, - Objects_Id condition_variables_id, - Objects_Name name, - Objects_Id proxy_id -); - -/* - * _POSIX_Condition_variables_MP_Send_request_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ - -int _POSIX_Condition_variables_MP_Send_request_packet ( - POSIX_Condition_variables_MP_Remote_operations operation, - Objects_Id condition_variables_id, - boolean wait, /* XXX options */ - Watchdog_Interval timeout -); - -/* - * _POSIX_Condition_variables_MP_Send_response_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ - -void _POSIX_Condition_variables_MP_Send_response_packet ( - POSIX_Condition_variables_MP_Remote_operations operation, - Objects_Id condition_variables_id, - Thread_Control *the_thread -); - -/* - * - * _POSIX_Condition_variables_MP_Process_packet - * - * DESCRIPTION: - * - * This routine performs the actions specific to this package for - * the request from another node. - */ - -void _POSIX_Condition_variables_MP_Process_packet ( - MP_packet_Prefix *the_packet_prefix -); - -/* - * _POSIX_Condition_variables_MP_Send_object_was_deleted - * - * DESCRIPTION: - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - */ - -void _POSIX_Condition_variables_MP_Send_object_was_deleted ( - Thread_Control *the_proxy -); - -/* - * _POSIX_Condition_variables_MP_Send_extract_proxy - * - * DESCRIPTION: - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ - -void _POSIX_Condition_variables_MP_Send_extract_proxy ( - Thread_Control *the_thread -); - -/* - * _POSIX_Condition_variables_MP_Get_packet - * - * DESCRIPTION: - * - * This function is used to obtain a condition variable mp packet. - */ - -POSIX_Condition_variables_MP_Packet - *_POSIX_Condition_variables_MP_Get_packet ( void ); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of file */ diff --git a/c/src/exec/posix/include/rtems/posix/config.h b/c/src/exec/posix/include/rtems/posix/config.h deleted file mode 100644 index 6725d12e09..0000000000 --- a/c/src/exec/posix/include/rtems/posix/config.h +++ /dev/null @@ -1,62 +0,0 @@ -/* config.h - * - * This include file contains the table of user defined configuration - * parameters specific for the POSIX API. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_CONFIGURATION_h -#define __RTEMS_POSIX_CONFIGURATION_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * XXX - * - * 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: - * - * + required number of each object type - */ - -/* - * For now, we are only allowing the user to specify the entry point - * and stack size for POSIX initialization threads. - */ - -typedef struct { - void *(*thread_entry)(void *); - int stack_size; -} posix_initialization_threads_table; - -typedef struct { - int maximum_threads; - int maximum_mutexes; - int maximum_condition_variables; - int maximum_keys; - int maximum_timers; - int maximum_queued_signals; - int maximum_message_queues; - int maximum_semaphores; - int number_of_initialization_threads; - posix_initialization_threads_table *User_initialization_threads_table; -} posix_api_configuration_table; - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ diff --git a/c/src/exec/posix/include/rtems/posix/intr.h b/c/src/exec/posix/include/rtems/posix/intr.h deleted file mode 100644 index 0dcadd6722..0000000000 --- a/c/src/exec/posix/include/rtems/posix/intr.h +++ /dev/null @@ -1,153 +0,0 @@ -/* rtems/posix/intr.h - * - * This include file contains all the private support information for - * POSIX Interrupt Manager. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_KEY_h -#define __RTEMS_POSIX_KEY_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -/* - * Data Structure used to manage each POSIX Interrupt Vector - */ - -typedef struct { - int number_installed; - int lock_count; - int deferred_count; - Chain_Control Handlers; -} POSIX_Interrupt_Control; - -/* - * Data Structure used to manage a POSIX Interrupt Handler - */ - -typedef struct { - Objects_Control Object; - int is_active; - intr_t vector; - Thread_Control *server; - int (*handler)( void *area ); - volatile void *user_data_area; -} POSIX_Interrupt_Handler_control; - -/* - * The following defines the information control block used to manage - * this class of objects. - */ - -POSIX_EXTERN Objects_Information _POSIX_Interrupt_Handlers_Information; - -/* - * The following is an array which is used to manage the set of - * interrupt handlers installed on each vector. - */ - -POSIX_EXTERN POSIX_Interrupt_Control - _POSIX_Interrupt_Information[ ISR_NUMBER_OF_VECTORS ]; - -/* - * _POSIX_Interrupt_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _POSIX_Interrupt_Manager_initialization( - unsigned32 maximum_interrupt_handlers -); - -/* - * _POSIX_Interrupt_Allocate - * - * DESCRIPTION: - * - * This function allocates a interrupt handler control block from - * the inactive chain of free interrupt handler control blocks. - */ - -RTEMS_INLINE_ROUTINE POSIX_Interrupt_Handler_control * - _POSIX_Interrupt_Allocate( void ); - -/* - * _POSIX_Interrupt_Free - * - * DESCRIPTION: - * - * This routine frees a interrupt handler control block to the - * inactive chain of free interrupt handler control blocks. - */ - -RTEMS_INLINE_ROUTINE void _POSIX_Interrupt_Free ( - POSIX_Interrupt_Handler_control *the_intr -); - -/* - * _POSIX_Interrupt_Get - * - * DESCRIPTION: - * - * This function maps interrupt handler IDs to interrupt handler control - * blocks. If ID corresponds to a local interrupt handler, then it returns - * the_intr control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the interrupt handler ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_intr is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_intr is undefined. - */ - -RTEMS_INLINE_ROUTINE POSIX_Interrupt_Control *_POSIX_Interrupt_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _POSIX_Interrupt_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_intr is NULL and FALSE otherwise. - */ - -RTEMS_INLINE_ROUTINE boolean _POSIX_Interrupt_Is_null ( - POSIX_Interrupt_Handler_control *the_intr -); - -/* - * _POSIX_Interrupt_Handler - * - * DESCRIPTION: - * - * This function XXX. - */ - -void _POSIX_Interrupt_Handler( - ISR_Vector_number vector -); - -#include - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ - diff --git a/c/src/exec/posix/include/rtems/posix/key.h b/c/src/exec/posix/include/rtems/posix/key.h deleted file mode 100644 index b45539baae..0000000000 --- a/c/src/exec/posix/include/rtems/posix/key.h +++ /dev/null @@ -1,135 +0,0 @@ -/* rtems/posix/key.h - * - * This include file contains all the private support information for - * POSIX key. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_KEY_h -#define __RTEMS_POSIX_KEY_h - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Data Structure used to manage a POSIX key - * - * NOTE: The Values is a table indexed by the index portion of the - * ID of the currently executing thread. - */ - -typedef struct { - Objects_Control Object; - boolean is_active; - void (*destructor)( void * ); - void **Values[ OBJECTS_APIS_LAST + 1 ]; -} POSIX_Keys_Control; - -/* - * The following defines the information control block used to manage - * this class of objects. - */ - -POSIX_EXTERN Objects_Information _POSIX_Keys_Information; - -/* - * _POSIX_Keys_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _POSIX_Key_Manager_initialization( - unsigned32 maximum_keys -); - -/* - * _POSIX_Keys_Run_destructors - * - * DESCRIPTION: - * - * This function executes all the destructors associated with the thread's - * keys. This function will execute until all values have been set to NULL. - * - * NOTE: This is the routine executed when a thread exits to - * run through all the keys and do the destructor action. - */ - -void _POSIX_Keys_Run_destructors( - Thread_Control *thread -); - -/* - * _POSIX_Keys_Allocate - * - * DESCRIPTION: - * - * This function allocates a keys control block from - * the inactive chain of free keys control blocks. - */ - -RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Allocate( void ); - -/* - * _POSIX_Keys_Free - * - * DESCRIPTION: - * - * This routine frees a keys control block to the - * inactive chain of free keys control blocks. - */ - -RTEMS_INLINE_ROUTINE void _POSIX_Keys_Free ( - POSIX_Keys_Control *the_key -); - -/* - * _POSIX_Keys_Get - * - * DESCRIPTION: - * - * This function maps key IDs to key control blocks. - * If ID corresponds to a local keys, then it returns - * the_key control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the keys ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_key is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_key is undefined. - */ - -RTEMS_INLINE_ROUTINE POSIX_Keys_Control *_POSIX_Keys_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _POSIX_Keys_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_key is NULL and FALSE otherwise. - */ - -RTEMS_INLINE_ROUTINE boolean _POSIX_Keys_Is_null ( - POSIX_Keys_Control *the_key -); - -#include - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ - diff --git a/c/src/exec/posix/include/rtems/posix/mqueue.h b/c/src/exec/posix/include/rtems/posix/mqueue.h deleted file mode 100644 index 076ea1d6c2..0000000000 --- a/c/src/exec/posix/include/rtems/posix/mqueue.h +++ /dev/null @@ -1,249 +0,0 @@ -/* rtems/posix/mqueue.h - * - * This include file contains all the private support information for - * POSIX Message Queues. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_MESSAGE_QUEUE_h -#define __RTEMS_POSIX_MESSAGE_QUEUE_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#include -#include - -/* - * Data Structure used to manage a POSIX message queue - */ - -typedef struct { - Objects_Control Object; - int process_shared; - boolean named; - boolean linked; - unsigned32 open_count; - CORE_message_queue_Control Message_queue; - struct sigevent notification; -} POSIX_Message_queue_Control; - -typedef struct { - Objects_Control Object; - POSIX_Message_queue_Control *Queue; - int oflag; -} POSIX_Message_queue_Control_fd; - -/* - * The following defines the information control block used to manage - * this class of objects. The second item is used to manage the set - * of "file descriptors" associated with the message queues. - */ - -POSIX_EXTERN Objects_Information _POSIX_Message_queue_Information; -POSIX_EXTERN Objects_Information _POSIX_Message_queue_Information_fds; - -/* - * _POSIX_Message_queue_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _POSIX_Message_queue_Manager_initialization( - unsigned32 maximum_message_queues -); - -/* - * - * _POSIX_Message_queue_Create_support - * - * DESCRIPTION: - * - * This routine performs the creation of a message queue utilizing the - * core message queue. - */ - -int _POSIX_Message_queue_Create_support( - const char *name, - int pshared, - struct mq_attr *attr, - POSIX_Message_queue_Control **message_queue -); - -/* - * _POSIX_Message_queue_Delete - * - * DESCRIPTION: - * - * This routine supports the mq_unlink and mq_close routines by - * doing most of the work involved with removing a message queue. - */ - -void _POSIX_Message_queue_Delete( - POSIX_Message_queue_Control *the_mq -); - -/* - * _POSIX_Message_queue_Receive_support - * - * DESCRIPTION: - * - * This routine supports the various flavors of receiving a message. - */ - -ssize_t _POSIX_Message_queue_Receive_support( - mqd_t mqdes, - char *msg_ptr, - size_t msg_len, - unsigned int *msg_prio, - Watchdog_Interval timeout -); - -/* - * _POSIX_Message_queue_Send_support - * - * DESCRIPTION: - * - * This routine posts a message to a specified message queue. - */ - -int _POSIX_Message_queue_Send_support( - mqd_t mqdes, - const char *msg_ptr, - unsigned32 msg_len, - unsigned32 msg_prio, - Watchdog_Interval timeout -); - -/* - * _POSIX_Message_queue_Allocate - * - * DESCRIPTION: - * - * This function allocates a message queue control block from - * the inactive chain of free message queue control blocks. - */ - -RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Allocate( void ); - -/* - * _POSIX_Message_queue_Free - * - * DESCRIPTION: - * - * This routine frees a message queue control block to the - * inactive chain of free message queue control blocks. - */ - -RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Free ( - POSIX_Message_queue_Control *the_mq -); - -/* - * _POSIX_Message_queue_Get - * - * DESCRIPTION: - * - * This function maps message queue IDs to message queue control blocks. - * If ID corresponds to a local message queue, then it returns - * the_mq control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the message queue ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_message queue is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_mq is undefined. - */ - -RTEMS_INLINE_ROUTINE POSIX_Message_queue_Control *_POSIX_Message_queue_Get ( - Objects_Id id, - Objects_Locations *location -); - -/* - * _POSIX_Message_queue_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_message_queue is NULL and FALSE otherwise. - */ - -RTEMS_INLINE_ROUTINE boolean _POSIX_Message_queue_Is_null ( - POSIX_Message_queue_Control *the_mq -); - -/* - * _POSIX_Message_queue_Name_to_id - * - * DESCRIPTION: - * - * This routine looks up the specified name for a message queue and returns the - * id of the message queue associated with it. - */ - -int _POSIX_Message_queue_Name_to_id( - const char *name, - Objects_Id *id -); - -/* - * _POSIX_Message_queue_Priority_to_core - * - * DESCRIPTION: - * - * XXX - */ - -RTEMS_INLINE_ROUTINE CORE_message_queue_Submit_types _POSIX_Message_queue_Priority_to_core( - unsigned int priority -); - -/* - * _POSIX_Message_queue_Priority_from_core - * - * DESCRIPTION: - * - * XXX - */ - -RTEMS_INLINE_ROUTINE unsigned int _POSIX_Message_queue_Priority_from_core( - CORE_message_queue_Submit_types priority -); - -/*PAGE - * - * _POSIX_Message_queue_Translate_core_message_queue_return_code - * - * DESCRIPTION: - * - * XXX - */ - -int _POSIX_Message_queue_Translate_core_message_queue_return_code( - unsigned32 the_message_queue_status -); - - -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ - diff --git a/c/src/exec/posix/include/rtems/posix/mqueuemp.h b/c/src/exec/posix/include/rtems/posix/mqueuemp.h deleted file mode 100644 index 19fb58ea29..0000000000 --- a/c/src/exec/posix/include/rtems/posix/mqueuemp.h +++ /dev/null @@ -1,160 +0,0 @@ -/* mqueuemp.h - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the POSIX Message Queue Manager. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_MESSAGE_QUEUE_MP_h -#define __RTEMS_POSIX_MESSAGE_QUEUE_MP_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include - -/* - * The following enumerated type defines the list of - * remote message queue operations. - */ - -typedef enum { - POSIX_MESSAGE_QUEUE_MP_ANNOUNCE_CREATE = 0, - POSIX_MESSAGE_QUEUE_MP_ANNOUNCE_DELETE = 1, - POSIX_MESSAGE_QUEUE_MP_EXTRACT_PROXY = 2, - POSIX_MESSAGE_QUEUE_MP_OBTAIN_REQUEST = 3, - POSIX_MESSAGE_QUEUE_MP_OBTAIN_RESPONSE = 4, - POSIX_MESSAGE_QUEUE_MP_RELEASE_REQUEST = 5, - POSIX_MESSAGE_QUEUE_MP_RELEASE_RESPONSE = 6, -} POSIX_Message_queue_MP_Remote_operations; - -/* - * The following data structure defines the packet used to perform - * remote message queue operations. - */ - -typedef struct { - MP_packet_Prefix Prefix; - POSIX_Message_queue_MP_Remote_operations operation; - Objects_Name name; - boolean wait; /* XXX options */ - Objects_Id proxy_id; -} POSIX_Message_queue_MP_Packet; - -/* - * _POSIX_Message_queue_MP_Send_process_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ - -void _POSIX_Message_queue_MP_Send_process_packet ( - POSIX_Message_queue_MP_Remote_operations operation, - Objects_Id mq_id, - Objects_Name name, - Objects_Id proxy_id -); - -/* - * _POSIX_Message_queue_MP_Send_request_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ - -int _POSIX_Message_queue_MP_Send_request_packet ( - POSIX_Message_queue_MP_Remote_operations operation, - Objects_Id mq_id, - boolean wait, /* XXX options */ - Watchdog_Interval timeout -); - -/* - * _POSIX_Message_queue_MP_Send_response_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ - -void _POSIX_Message_queue_MP_Send_response_packet ( - POSIX_Message_queue_MP_Remote_operations operation, - Objects_Id mq_id, - Thread_Control *the_thread -); - -/* - * - * _POSIX_Message_queue_MP_Process_packet - * - * DESCRIPTION: - * - * This routine performs the actions specific to this package for - * the request from another node. - */ - -void _POSIX_Message_queue_MP_Process_packet ( - MP_packet_Prefix *the_packet_prefix -); - -/* - * _POSIX_Message_queue_MP_Send_object_was_deleted - * - * DESCRIPTION: - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - */ - -void _POSIX_Message_queue_MP_Send_object_was_deleted ( - Thread_Control *the_proxy -); - -/* - * _POSIX_Message_queue_MP_Send_extract_proxy - * - * DESCRIPTION: - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ - -void _POSIX_Message_queue_MP_Send_extract_proxy ( - Thread_Control *the_thread -); - -/* - * _POSIX_Message_queue_MP_Get_packet - * - * DESCRIPTION: - * - * This function is used to obtain a message queue mp packet. - */ - -POSIX_Message_queue_MP_Packet *_POSIX_Message_queue_MP_Get_packet ( void ); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of file */ diff --git a/c/src/exec/posix/include/rtems/posix/mutex.h b/c/src/exec/posix/include/rtems/posix/mutex.h deleted file mode 100644 index 3d716cdc29..0000000000 --- a/c/src/exec/posix/include/rtems/posix/mutex.h +++ /dev/null @@ -1,158 +0,0 @@ -/* rtems/posix/mutex.h - * - * This include file contains all the private support information for - * POSIX mutex's. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_MUTEX_h -#define __RTEMS_POSIX_MUTEX_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -/* - * Data Structure used to manage a POSIX mutex - */ - -typedef struct { - Objects_Control Object; - int process_shared; - CORE_mutex_Control Mutex; -} POSIX_Mutex_Control; - -/* - * The following defines the information control block used to manage - * this class of objects. - */ - -POSIX_EXTERN Objects_Information _POSIX_Mutex_Information; - -/* - * The default mutex attributes structure. - */ - -extern const pthread_mutexattr_t _POSIX_Mutex_Default_attributes; - -/* - * _POSIX_Mutex_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _POSIX_Mutex_Manager_initialization( - unsigned32 maximum_mutexes -); - -/* - * _POSIX_Mutex_Allocate - * - * DESCRIPTION: - * - * This function allocates a mutexes control block from - * the inactive chain of free mutexes control blocks. - */ - -RTEMS_INLINE_ROUTINE POSIX_Mutex_Control *_POSIX_Mutex_Allocate( void ); - -/* - * _POSIX_Mutex_Free - * - * DESCRIPTION: - * - * This routine frees a mutexes control block to the - * inactive chain of free mutexes control blocks. - */ - -RTEMS_INLINE_ROUTINE void _POSIX_Mutex_Free ( - POSIX_Mutex_Control *the_mutex -); - -#if 0 -/* - * _POSIX_Mutex_Get - * - * DESCRIPTION: - * - * This function maps mutexes IDs to mutexes control blocks. - * If ID corresponds to a local mutexes, then it returns - * the_mutex control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the mutexes ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_mutex is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_mutex is undefined. - */ - -RTEMS_INLINE_ROUTINE POSIX_Mutex_Control *_POSIX_Mutex_Get ( - Objects_Id *id, - Objects_Locations *location -); - -/* - * _POSIX_Mutex_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_mutex is NULL and FALSE otherwise. - */ - -RTEMS_INLINE_ROUTINE boolean _POSIX_Mutex_Is_null ( - POSIX_Mutex_Control *the_mutex -); -#endif - -/* - * _POSIX_Mutex_Lock_support - * - * DESCRIPTION: - * - * A support routine which implements guts of the blocking, non-blocking, and - * timed wait version of mutex lock. - */ - -int _POSIX_Mutex_Lock_support( - pthread_mutex_t *mutex, - boolean blocking, - Watchdog_Interval timeout -); - -/* - * _POSIX_Mutex_From_core_mutex_status - * - * DESCRIPTION: - * - * A support routine which converts core mutex status codes into the - * appropriate POSIX status values. - */ - -int _POSIX_Mutex_From_core_mutex_status( - CORE_mutex_Status status -); - - -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ - diff --git a/c/src/exec/posix/include/rtems/posix/mutexmp.h b/c/src/exec/posix/include/rtems/posix/mutexmp.h deleted file mode 100644 index 4d0f074f98..0000000000 --- a/c/src/exec/posix/include/rtems/posix/mutexmp.h +++ /dev/null @@ -1,173 +0,0 @@ -/* mutexmp.h - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the POSIX Mutex Manager. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_MUTEX_MP_h -#define __RTEMS_POSIX_MUTEX_MP_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include - -/* - * The following enumerated type defines the list of - * remote mutex operations. - */ - -typedef enum { - POSIX_MUTEX_MP_ANNOUNCE_CREATE = 0, - POSIX_MUTEX_MP_ANNOUNCE_DELETE = 1, - POSIX_MUTEX_MP_EXTRACT_PROXY = 2, - POSIX_MUTEX_MP_OBTAIN_REQUEST = 3, - POSIX_MUTEX_MP_OBTAIN_RESPONSE = 4, - POSIX_MUTEX_MP_RELEASE_REQUEST = 5, - POSIX_MUTEX_MP_RELEASE_RESPONSE = 6, -} POSIX_Mutex_MP_Remote_operations; - -/* - * The following data structure defines the packet used to perform - * remote mutex operations. - */ - -typedef struct { - MP_packet_Prefix Prefix; - POSIX_Mutex_MP_Remote_operations operation; - Objects_Name name; - boolean wait; /* XXX options */ - Objects_Id proxy_id; -} POSIX_Mutex_MP_Packet; - -/* - * _POSIX_Mutex_MP_Send_process_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ - -void _POSIX_Mutex_MP_Send_process_packet ( - POSIX_Mutex_MP_Remote_operations operation, - Objects_Id mutex_id, - Objects_Name name, - Objects_Id proxy_id -); - -/* - * _POSIX_Mutex_MP_Send_request_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ - -int _POSIX_Mutex_MP_Send_request_packet ( - POSIX_Mutex_MP_Remote_operations operation, - Objects_Id mutex_id, - boolean wait, /* XXX options */ - Watchdog_Interval timeout -); - -/* - * _POSIX_Mutex_MP_Send_response_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ - -void _POSIX_Mutex_MP_Send_response_packet ( - POSIX_Mutex_MP_Remote_operations operation, - Objects_Id mutex_id, - Thread_Control *the_thread -); - -/* - * - * _POSIX_Mutex_MP_Process_packet - * - * DESCRIPTION: - * - * This routine performs the actions specific to this package for - * the request from another node. - */ - -void _POSIX_Mutex_MP_Process_packet ( - MP_packet_Prefix *the_packet_prefix -); - -/* - * _POSIX_Mutex_MP_Send_object_was_deleted - * - * DESCRIPTION: - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - */ - -void _POSIX_Mutex_MP_Send_object_was_deleted ( - Thread_Control *the_proxy -); - -/* - * _POSIX_Mutex_MP_Send_extract_proxy - * - * DESCRIPTION: - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ - -void _POSIX_Mutex_MP_Send_extract_proxy ( - Thread_Control *the_thread -); - -/* - * _POSIX_Threads_mutex_MP_support - * - * DESCRIPTION: - * - * This routine XXX - */ - -void _POSIX_Threads_mutex_MP_support( - Thread_Control *the_thread, - Objects_Id id -); - -/* - * _POSIX_Mutex_MP_Get_packet - * - * DESCRIPTION: - * - * This function is used to obtain a mutex mp packet. - */ - -POSIX_Mutex_MP_Packet *_POSIX_Mutex_MP_Get_packet ( void ); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of file */ diff --git a/c/src/exec/posix/include/rtems/posix/posixapi.h b/c/src/exec/posix/include/rtems/posix/posixapi.h deleted file mode 100644 index 13c416ef90..0000000000 --- a/c/src/exec/posix/include/rtems/posix/posixapi.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * POSIX API Support - * - * NOTE: - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __POSIX_API_h -#define __POSIX_API_h - -#include - -/*PAGE - * - * _POSIX_API_Initialize - * - * XXX - */ - -void _POSIX_API_Initialize( - rtems_configuration_table *configuration_table -); - -#endif -/* end of include file */ diff --git a/c/src/exec/posix/include/rtems/posix/priority.h b/c/src/exec/posix/include/rtems/posix/priority.h deleted file mode 100644 index c0253f3bab..0000000000 --- a/c/src/exec/posix/include/rtems/posix/priority.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - * - * - * $Id$ - */ - -#ifndef __RTEMS_POSIX_PRIORITY_h -#define __RTEMS_POSIX_PRIORITY_h - -#include - -/* - * 1003.1b-1993,2.2.2.80 definition of priority, p. 19 - * - * "Numericallly higher values represent higher priorities." - * - * Thus, RTEMS Core has priorities run in the opposite sense of the POSIX API. - * - * There are only 254 posix priority levels since a task at priority level - * 255 would never run because of the RTEMS idle task. This is necessary - * because GNAT maps the lowest Ada task priority to the lowest thread - * priority. The lowest priority Ada task should get to run, so there is - * a fundamental conflict with having 255 priorities. - */ - -#define POSIX_SCHEDULER_MAXIMUM_PRIORITY (254) - -#define POSIX_SCHEDULER_MINIMUM_PRIORITY (1) - -RTEMS_INLINE_ROUTINE boolean _POSIX_Priority_Is_valid( - int priority -); - -RTEMS_INLINE_ROUTINE Priority_Control _POSIX_Priority_To_core( - int priority -); - -RTEMS_INLINE_ROUTINE int _POSIX_Priority_From_core( - Priority_Control priority -); - -#include - -#endif diff --git a/c/src/exec/posix/include/rtems/posix/psignal.h b/c/src/exec/posix/include/rtems/posix/psignal.h deleted file mode 100644 index c15ca78d34..0000000000 --- a/c/src/exec/posix/include/rtems/posix/psignal.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - * $Id$ - */ - -#ifndef __RTEMS_POSIX_SIGNALS_h -#define __RTEMS_POSIX_SIGNALS_h - -#include - -/* - * Currently 32 signals numbered 1-32 are defined - */ - -#define SIGNAL_EMPTY_MASK 0x00000000 -#define SIGNAL_ALL_MASK 0xffffffff - -#define signo_to_mask( _sig ) (1 << ((_sig) - 1)) - -#define is_valid_signo( _sig ) \ - ((_sig) >= 1 && (_sig) <= 32 ) - -#define _States_Is_interruptible_signal( _states ) \ - ( ((_states) & \ - (STATES_WAITING_FOR_SIGNAL|STATES_INTERRUPTIBLE_BY_SIGNAL)) == \ - (STATES_WAITING_FOR_SIGNAL|STATES_INTERRUPTIBLE_BY_SIGNAL)) - -#define SIGACTION_TERMINATE \ - { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Abnormal_termination_handler} } -#define SIGACTION_IGNORE \ - { 0, SIGNAL_ALL_MASK, {SIG_IGN} } -#define SIGACTION_STOP \ - { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Stop_handler} } -#define SIGACTION_CONTINUE \ - { 0, SIGNAL_ALL_MASK, {_POSIX_signals_Continue_handler} } - -#define SIG_ARRAY_MAX (SIGRTMAX + 1) - -/* - * Variables - */ - -extern sigset_t _POSIX_signals_Pending; - -extern struct sigaction _POSIX_signals_Default_vectors[ SIG_ARRAY_MAX ]; - -extern struct sigaction _POSIX_signals_Vectors[ SIG_ARRAY_MAX ]; - -extern Watchdog_Control _POSIX_signals_Alarm_timer; - -extern Thread_queue_Control _POSIX_signals_Wait_queue; - -extern Chain_Control _POSIX_signals_Inactive_siginfo; - -extern Chain_Control _POSIX_signals_Siginfo[ SIG_ARRAY_MAX ]; - -/* - * POSIX internal siginfo structure - */ - -typedef struct { - Chain_Node Node; - siginfo_t Info; -} POSIX_signals_Siginfo_node; - -/* - * Internal routines - */ - -void _POSIX_signals_Manager_Initialization( - int maximum_queued_signals -); - -void _POSIX_signals_Post_switch_extension( - Thread_Control *the_thread -); - -boolean _POSIX_signals_Unblock_thread( - Thread_Control *the_thread, - int signo, - siginfo_t *info -); - -boolean _POSIX_signals_Check_signal( - POSIX_API_Control *api, - int signo, - boolean is_global -); - -boolean _POSIX_signals_Clear_signals( - POSIX_API_Control *api, - int signo, - siginfo_t *info, - boolean is_global, - boolean check_blocked -); - -int killinfo( - pid_t pid, - int sig, - const union sigval *value -); - -void _POSIX_signals_Set_process_signals( - sigset_t mask -); - -void _POSIX_signals_Clear_process_signals( - sigset_t mask -); - -/* - * Default signal handlers - */ - -#define _POSIX_signals_Stop_handler NULL -#define _POSIX_signals_Continue_handler NULL - -void _POSIX_signals_Abnormal_termination_handler( int signo ); - -#endif -/* end of file */ diff --git a/c/src/exec/posix/include/rtems/posix/pthread.h b/c/src/exec/posix/include/rtems/posix/pthread.h deleted file mode 100644 index 10a1b051e1..0000000000 --- a/c/src/exec/posix/include/rtems/posix/pthread.h +++ /dev/null @@ -1,150 +0,0 @@ -/* rtems/posix/pthread.h - * - * This include file contains all the private support information for - * POSIX threads. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_THREADS_h -#define __RTEMS_POSIX_THREADS_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#define PTHREAD_MINIMUM_STACK_SIZE (STACK_MINIMUM_SIZE * 2) - -/* - * The following defines the information control block used to manage - * this class of objects. - */ - -POSIX_EXTERN Objects_Information _POSIX_Threads_Information; - -/* - * These are used to manage the user initialization threads. - */ - -POSIX_EXTERN posix_initialization_threads_table - *_POSIX_Threads_User_initialization_threads; -POSIX_EXTERN unsigned32 _POSIX_Threads_Number_of_initialization_threads; - -extern const pthread_attr_t _POSIX_Threads_Default_attributes; - -/* - * _POSIX_Threads_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _POSIX_Threads_Manager_initialization( - unsigned32 maximum_pthreads, - unsigned32 number_of_initialization_threads, - posix_initialization_threads_table *user_threads -); - -/* - * _POSIX_Threads_Allocate - * - * DESCRIPTION: - * - * This function allocates a pthread control block from - * the inactive chain of free pthread control blocks. - */ - -RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Threads_Allocate( void ); - -/* - * _POSIX_Threads_Free - * - * DESCRIPTION: - * - * This routine frees a pthread control block to the - * inactive chain of free pthread control blocks. - */ - -RTEMS_INLINE_ROUTINE void _POSIX_Threads_Free( - Thread_Control *the_pthread -); - -/* - * _POSIX_Threads_Get - * - * DESCRIPTION: - * - * This function maps pthread IDs to pthread control blocks. - * If ID corresponds to a local pthread, then it returns - * the_pthread control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the pthread ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_pthread is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_pthread is undefined. - */ - -RTEMS_INLINE_ROUTINE Thread_Control *_POSIX_Threads_Get( - pthread_t id, - Objects_Locations *location -); - -/* - * _POSIX_Threads_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_pthread is NULL and FALSE otherwise. - */ - -RTEMS_INLINE_ROUTINE boolean _POSIX_Threads_Is_null( - Thread_Control *the_pthread -); - -/* - * _POSIX_Threads_Sporadic_budget_callout - * - * DESCRIPTION: - * - * This routine handles the sporadic scheduling algorithm. - */ - -void _POSIX_Threads_Sporadic_budget_callout( - Thread_Control *the_thread -); - -/* - * _POSIX_Threads_Sporadic_budget_TSR - * - * DESCRIPTION: - * - * This routine supports the sporadic scheduling algorithm. - */ - -void _POSIX_Threads_Sporadic_budget_TSR( - Objects_Id id, - void *argument -); - -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ - diff --git a/c/src/exec/posix/include/rtems/posix/pthreadmp.h b/c/src/exec/posix/include/rtems/posix/pthreadmp.h deleted file mode 100644 index 4bd6cc41e8..0000000000 --- a/c/src/exec/posix/include/rtems/posix/pthreadmp.h +++ /dev/null @@ -1,160 +0,0 @@ -/* pthreadmp.h - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the POSIX Threads Manager. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_THREADS_MP_h -#define __RTEMS_POSIX_THREADS_MP_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include - -/* - * The following enumerated type defines the list of - * remote pthread operations. - */ - -typedef enum { - POSIX_THREADS_MP_ANNOUNCE_CREATE = 0, - POSIX_THREADS_MP_ANNOUNCE_DELETE = 1, - POSIX_THREADS_MP_EXTRACT_PROXY = 2, - POSIX_THREADS_MP_OBTAIN_REQUEST = 3, - POSIX_THREADS_MP_OBTAIN_RESPONSE = 4, - POSIX_THREADS_MP_RELEASE_REQUEST = 5, - POSIX_THREADS_MP_RELEASE_RESPONSE = 6 -} POSIX_Threads_MP_Remote_operations; - -/* - * The following data structure defines the packet used to perform - * remote pthread operations. - */ - -typedef struct { - MP_packet_Prefix Prefix; - POSIX_Threads_MP_Remote_operations operation; - Objects_Name name; - boolean wait; - Objects_Id proxy_id; -} POSIX_Threads_MP_Packet; - -/* - * _POSIX_Threads_MP_Send_process_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ - -void _POSIX_Threads_MP_Send_process_packet ( - POSIX_Threads_MP_Remote_operations operation, - Objects_Id pthread_id, - Objects_Name name, - Objects_Id proxy_id -); - -/* - * _POSIX_Threads_MP_Send_request_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ - -int _POSIX_Threads_MP_Send_request_packet ( - POSIX_Threads_MP_Remote_operations operation, - Objects_Id pthread_id, - boolean wait, - Watchdog_Interval timeout -); - -/* - * _POSIX_Threads_MP_Send_response_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ - -void _POSIX_Threads_MP_Send_response_packet ( - POSIX_Threads_MP_Remote_operations operation, - Objects_Id pthread_id, - Thread_Control *the_thread -); - -/* - * - * _POSIX_Threads_MP_Process_packet - * - * DESCRIPTION: - * - * This routine performs the actions specific to this package for - * the request from another node. - */ - -void _POSIX_Threads_MP_Process_packet ( - MP_packet_Prefix *the_packet_prefix -); - -/* - * _POSIX_Threads_MP_Send_object_was_deleted - * - * DESCRIPTION: - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - */ - -void _POSIX_Threads_MP_Send_object_was_deleted ( - Thread_Control *the_proxy -); - -/* - * _POSIX_Threads_MP_Send_extract_proxy - * - * DESCRIPTION: - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ - -void _POSIX_Threads_MP_Send_extract_proxy ( - Thread_Control *the_thread -); - -/* - * _POSIX_Threads_MP_Get_packet - * - * DESCRIPTION: - * - * This function is used to obtain a pthread mp packet. - */ - -POSIX_Threads_MP_Packet *_POSIX_Threads_MP_Get_packet ( void ); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of file */ diff --git a/c/src/exec/posix/include/rtems/posix/ptimer.h b/c/src/exec/posix/include/rtems/posix/ptimer.h deleted file mode 100644 index c19f10c54c..0000000000 --- a/c/src/exec/posix/include/rtems/posix/ptimer.h +++ /dev/null @@ -1,91 +0,0 @@ -/* rtems/posix/ptimer.h - * - * This include file contains all the private support information for - * POSIX timers. - * - * COPYRIGHT (c) 1998. - * Alfonso Escalera Piņa - * - * 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. - * - * ptimer.h,v 1.0 1998/03/31 16:21:16 - */ - -#ifndef __RTEMS_POSIX_TIMERS_h -#define __RTEMS_POSIX_TIMERS_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* - * _POSIX_Timers_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _POSIX_Timer_Manager_initialization ( int max_timers ); - -/* - * 14.2.2 Create a Per-Process Timer, P1003.1b-1993, p. 264 - * - * timer_create - */ - -int timer_create( - clockid_t clock_id, - struct sigevent *evp, - timer_t *timerid -); - -/* - * 14.2.3 Delete a Per_process Timer, P1003.1b-1993, p. 266 - */ - -int timer_delete( - timer_t timerid -); - -/* - * 14.2.4 Per-Process Timers, P1003.1b-1993, p. 267 - * - * timer_settime - */ - -int timer_settime( - timer_t timerid, - int flags, - const struct itimerspec *value, - struct itimerspec *ovalue -); - -/* - * 14.2.4 Per-Process Timers, P1003.1b-1993, p. 267 - * - * timer_gettime - */ - -int timer_gettime( - timer_t timerid, - struct itimerspec *value -); - -/* - * 14.2.4 Per-Process Timers, P1003.1b-1993, p. 267 - * - * timer_getoverrun - * - */ - -int timer_getoverrun( - timer_t timerid -); - -#endif - diff --git a/c/src/exec/posix/include/rtems/posix/semaphore.h b/c/src/exec/posix/include/rtems/posix/semaphore.h deleted file mode 100644 index 0bbca530af..0000000000 --- a/c/src/exec/posix/include/rtems/posix/semaphore.h +++ /dev/null @@ -1,181 +0,0 @@ -/* rtems/posix/semaphore.h - * - * This include file contains all the private support information for - * POSIX Semaphores. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_SEMAPHORE_h -#define __RTEMS_POSIX_SEMAPHORE_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include - -#define SEM_FAILED (sem_t *) -1 - -/* - * Data Structure used to manage a POSIX semaphore - */ - -typedef struct { - Objects_Control Object; - int process_shared; - boolean named; - boolean linked; - unsigned32 open_count; - CORE_semaphore_Control Semaphore; -} POSIX_Semaphore_Control; - -/* - * The following defines the information control block used to manage - * this class of objects. - */ - -POSIX_EXTERN Objects_Information _POSIX_Semaphore_Information; - -/* - * _POSIX_Semaphore_Manager_initialization - * - * DESCRIPTION: - * - * This routine performs the initialization necessary for this manager. - */ - -void _POSIX_Semaphore_Manager_initialization( - unsigned32 maximum_semaphorees -); - -/* - * _POSIX_Semaphore_Allocate - * - * DESCRIPTION: - * - * This function allocates a semaphore control block from - * the inactive chain of free semaphore control blocks. - */ - -RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *_POSIX_Semaphore_Allocate( void ); - -/* - * _POSIX_Semaphore_Free - * - * DESCRIPTION: - * - * This routine frees a semaphore control block to the - * inactive chain of free semaphore control blocks. - */ - -RTEMS_INLINE_ROUTINE void _POSIX_Semaphore_Free ( - POSIX_Semaphore_Control *the_semaphore -); - -/* - * _POSIX_Semaphore_Get - * - * DESCRIPTION: - * - * This function maps semaphore IDs to semaphore control blocks. - * If ID corresponds to a local semaphore, then it returns - * the_semaphore control pointer which maps to ID and location - * is set to OBJECTS_LOCAL. if the semaphore ID is global and - * resides on a remote node, then location is set to OBJECTS_REMOTE, - * and the_semaphore is undefined. Otherwise, location is set - * to OBJECTS_ERROR and the_semaphore is undefined. - */ - -RTEMS_INLINE_ROUTINE POSIX_Semaphore_Control *_POSIX_Semaphore_Get ( - sem_t *id, - Objects_Locations *location -); - -/* - * _POSIX_Semaphore_Is_null - * - * DESCRIPTION: - * - * This function returns TRUE if the_semaphore is NULL and FALSE otherwise. - */ - -RTEMS_INLINE_ROUTINE boolean _POSIX_Semaphore_Is_null ( - POSIX_Semaphore_Control *the_semaphore -); - -/* - * _POSIX_Semaphore_Create_support - * - * DESCRIPTION: - * - * This routine supports the sem_init and sem_open routines. - */ - -int _POSIX_Semaphore_Create_support( - const char *name, - int pshared, - unsigned int value, - POSIX_Semaphore_Control **the_sem -); - -/* - * _POSIX_Semaphore_Delete - * - * DESCRIPTION: - * - * This routine supports the sem_close and sem_unlink routines. - */ - -void _POSIX_Semaphore_Delete( - POSIX_Semaphore_Control *the_semaphore -); - -/* - * _POSIX_Semaphore_Wait_support - * - * DESCRIPTION: - * - * This routine supports the sem_wait, sem_trywait, and sem_timedwait - * services. - */ - -int _POSIX_Semaphore_Wait_support( - sem_t *sem, - boolean blocking, - Watchdog_Interval timeout -); - -/* - * _POSIX_Semaphore_Name_to_id - * - * DESCRIPTION: - * - * This routine performs name to id translation. - */ - -int _POSIX_Semaphore_Name_to_id( - const char *name, - sem_t *id -); - -#include -#if defined(RTEMS_MULTIPROCESSING) -#include -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ - diff --git a/c/src/exec/posix/include/rtems/posix/semaphoremp.h b/c/src/exec/posix/include/rtems/posix/semaphoremp.h deleted file mode 100644 index b56cbb5dac..0000000000 --- a/c/src/exec/posix/include/rtems/posix/semaphoremp.h +++ /dev/null @@ -1,160 +0,0 @@ -/* semaphoremp.h - * - * This include file contains all the constants and structures associated - * with the Multiprocessing Support in the POSIX Semaphore Manager. - * - * COPYRIGHT (c) 1989-1999. - * 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$ - */ - -#ifndef __RTEMS_POSIX_SEMAPHORE_MP_h -#define __RTEMS_POSIX_SEMAPHORE_MP_h - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include -#include - -/* - * The following enumerated type defines the list of - * remote semaphore operations. - */ - -typedef enum { - POSIX_SEMAPHORE_MP_ANNOUNCE_CREATE = 0, - POSIX_SEMAPHORE_MP_ANNOUNCE_DELETE = 1, - POSIX_SEMAPHORE_MP_EXTRACT_PROXY = 2, - POSIX_SEMAPHORE_MP_OBTAIN_REQUEST = 3, - POSIX_SEMAPHORE_MP_OBTAIN_RESPONSE = 4, - POSIX_SEMAPHORE_MP_RELEASE_REQUEST = 5, - POSIX_SEMAPHORE_MP_RELEASE_RESPONSE = 6, -} POSIX_Semaphore_MP_Remote_operations; - -/* - * The following data structure defines the packet used to perform - * remote semaphore operations. - */ - -typedef struct { - MP_packet_Prefix Prefix; - POSIX_Semaphore_MP_Remote_operations operation; - Objects_Name name; - boolean wait; /* XXX options */ - Objects_Id proxy_id; -} POSIX_Semaphore_MP_Packet; - -/* - * _POSIX_Semaphore_MP_Send_process_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * process operation can be performed on another node. - */ - -void _POSIX_Semaphore_MP_Send_process_packet( - POSIX_Semaphore_MP_Remote_operations operation, - Objects_Id semaphore_id, - Objects_Name name, - Objects_Id proxy_id -); - -/* - * _POSIX_Semaphore_MP_Send_request_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * directive operation can be initiated on another node. - */ - -int _POSIX_Semaphore_MP_Send_request_packet( - POSIX_Semaphore_MP_Remote_operations operation, - Objects_Id semaphore_id, - boolean wait, /* XXX options */ - Watchdog_Interval timeout -); - -/* - * _POSIX_Semaphore_MP_Send_response_packet - * - * DESCRIPTION: - * - * This routine performs a remote procedure call so that a - * directive can be performed on another node. - */ - -void _POSIX_Semaphore_MP_Send_response_packet( - POSIX_Semaphore_MP_Remote_operations operation, - Objects_Id semaphore_id, - Thread_Control *the_thread -); - -/* - * - * _POSIX_Semaphore_MP_Process_packet - * - * DESCRIPTION: - * - * This routine performs the actions specific to this package for - * the request from another node. - */ - -void _POSIX_Semaphore_MP_Process_packet( - MP_packet_Prefix *the_packet_prefix -); - -/* - * _POSIX_Semaphore_MP_Send_object_was_deleted - * - * DESCRIPTION: - * - * This routine is invoked indirectly by the thread queue - * when a proxy has been removed from the thread queue and - * the remote node must be informed of this. - */ - -void _POSIX_Semaphore_MP_Send_object_was_deleted( - Thread_Control *the_proxy -); - -/* - * _POSIX_Semaphore_MP_Send_extract_proxy - * - * DESCRIPTION: - * - * This routine is invoked when a task is deleted and it - * has a proxy which must be removed from a thread queue and - * the remote node must be informed of this. - */ - -void _POSIX_Semaphore_MP_Send_extract_proxy( - Thread_Control *the_thread -); - -/* - * _POSIX_Semaphore_MP_Get_packet - * - * DESCRIPTION: - * - * This function is used to obtain a semaphore mp packet. - */ - -POSIX_Semaphore_MP_Packet *_POSIX_Semaphore_MP_Get_packet( void ); - -#ifdef __cplusplus -} -#endif - -#endif -/* end of file */ diff --git a/c/src/exec/posix/include/rtems/posix/threadsup.h b/c/src/exec/posix/include/rtems/posix/threadsup.h deleted file mode 100644 index 2ffc606911..0000000000 --- a/c/src/exec/posix/include/rtems/posix/threadsup.h +++ /dev/null @@ -1,45 +0,0 @@ -/* threadsup.h - * - * $Id$ - */ - -#ifndef __RTEMS_POSIX_THREAD_SUPPORT_h -#define __RTEMS_POSIX_THREAD_SUPPORT_h - -#include -#include -#include - -typedef struct { - pthread_attr_t Attributes; - int detachstate; - Thread_queue_Control Join_List; - int schedpolicy; - struct sched_param schedparam; - int ss_high_priority; - Watchdog_Control Sporadic_timer; - - sigset_t signals_blocked; - sigset_t signals_pending; - -#if 0 - /* - * POSIX Interrupts - */ - unsigned32 interrupts_installed; - CORE_semaphore_Control Interrupt_Semaphore; -#endif - - /* - * POSIX Cancelability - */ - int cancelability_state; - int cancelability_type; - int cancelation_requested; - Chain_Control Cancellation_Handlers; - -} POSIX_API_Control; - -#endif -/* end of include file */ - diff --git a/c/src/exec/posix/include/rtems/posix/time.h b/c/src/exec/posix/include/rtems/posix/time.h deleted file mode 100644 index 0e87db388e..0000000000 --- a/c/src/exec/posix/include/rtems/posix/time.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - * - * - * $Id$ - */ - -#ifndef __RTEMS_POSIX_TIME_h -#define __RTEMS_POSIX_TIME_h - -#include - -/* - * Seconds from January 1, 1970 to January 1, 1988. Used to account for - * differences between POSIX API and RTEMS core. - */ - -#define POSIX_TIME_SECONDS_1970_THROUGH_1988 \ - (((1987 - 1970 + 1) * TOD_SECONDS_PER_NON_LEAP_YEAR) + \ - (4 * TOD_SECONDS_PER_DAY)) - -/*PAGE - * - * _POSIX_Timespec_subtract - */ - -void _POSIX_Timespec_subtract( - const struct timespec *the_start, - const struct timespec *end, - struct timespec *result -); - -/* - * _POSIX_Timespec_to_interval - */ - -Watchdog_Interval _POSIX_Timespec_to_interval( - const struct timespec *time -); - -/*PAGE - * - * _POSIX_Interval_to_timespec - */ - -void _POSIX_Interval_to_timespec( - Watchdog_Interval ticks, - struct timespec *time -); - -#endif diff --git a/c/src/exec/posix/include/rtems/posix/timer.h b/c/src/exec/posix/include/rtems/posix/timer.h deleted file mode 100644 index ba0745b8b3..0000000000 --- a/c/src/exec/posix/include/rtems/posix/timer.h +++ /dev/null @@ -1,71 +0,0 @@ -/* - * $Id$ - */ - -#ifndef __RTEMS_POSIX_TIMERS_h -#define __RTEMS_POSIX_TIMERS_h - -/* ************ - * Constants - * ************/ - -#define STATE_FREE_C 0x01 /* Free position of the table of timers */ -#define STATE_CREATE_NEW_C 0x02 /* Created timer but not running */ -#define STATE_CREATE_RUN_C 0x03 /* Created timer and running */ -#define STATE_CREATE_STOP_C 0x04 /* Created, ran and stopped timer */ -#define MAX_NSEC_C 1000000000 /* Maximum number of nsec allowed */ -#define MIN_NSEC_C 0 /* Minimum number of nsec allowew */ -#define TIMER_RELATIVE_C 0 /* Indicates that the fire time is - * relative to the current one */ -#define SEC_TO_TICKS_C _TOD_Ticks_per_second /* Number of ticks in a second*/ -#define NSEC_PER_SEC_C 1000000000 /* Nanoseconds in a second */ - -#define NO_MORE_TIMERS_C 11 /* There is not available timers */ -#define BAD_TIMER_C 11 /* The timer does not exist in the table */ - -#define SECONDS_PER_YEAR_C ( 360 * 24 * 60 * 60 ) -#define SECONDS_PER_MONTH_C ( 30 * 24 * 60 * 60 ) -#define SECONDS_PER_DAY_C ( 24 * 60 * 60 ) -#define SECONDS_PER_HOUR_C ( 60 * 60 ) -#define SECONDS_PER_MINUTE_C ( 60 ) - - -/* - * Data for a timer - */ - -typedef struct { - Objects_Control Object; - Watchdog_Control Ticker; - - pthread_t thread_id; /* Thread identifier */ - char state; /* State of the timer */ - struct sigevent inf; /* Information associated to the timer */ - timer_t timer_id; /* Created timer identifier */ - struct itimerspec timer_data; /* Timing data of the timer */ - unsigned32 ticks; /* Number of ticks of the initialization */ - unsigned32 overrun; /* Number of expirations of the timer */ - rtems_time_of_day time; /* Time in which the timer was started */ -} POSIX_Timer_Control; - -/* - * Array of Timers - */ - -extern int timer_max; -extern POSIX_Timer_Control *timer_struct; - -/* - * The following defines the information control block used to manage - * this class of objects. - */ - -RTEMS_EXTERN Objects_Information _POSIX_Timer_Information; - -#ifndef __RTEMS_APPLICATION__ -#include -#endif - -#endif -/* end of include file */ - -- cgit v1.2.3