diff options
Diffstat (limited to 'c/src/exec/posix/include/rtems/posix/mqueue.h')
-rw-r--r-- | c/src/exec/posix/include/rtems/posix/mqueue.h | 249 |
1 files changed, 0 insertions, 249 deletions
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 <signal.h> - -#include <rtems/score/coremsg.h> -#include <rtems/score/object.h> - -/* - * 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 <rtems/posix/mqueue.inl> -#if defined(RTEMS_MULTIPROCESSING) -#include <rtems/posix/mqueuemp.h> -#endif - -#ifdef __cplusplus -} -#endif - -#endif -/* end of include file */ - |