19 #ifndef _RTEMS_POSIX_MQUEUE_INL 20 #define _RTEMS_POSIX_MQUEUE_INL 60 ssize_t _POSIX_Message_queue_Receive_support(
64 unsigned int *msg_prio,
65 const struct timespec *abstime,
78 unsigned int msg_prio,
79 const struct timespec *abstime,
84 _POSIX_Message_queue_Allocate_unprotected(
void )
124 _POSIX_Message_queue_Priority_to_core(
125 unsigned int priority
143 return (
unsigned int) ((priority >= 0) ? priority : -priority);
160 _POSIX_Message_queue_Get_by_name(
162 size_t *name_length_p,
163 Objects_Get_by_name_error *error
void _Objects_Free(Objects_Information *information, Objects_Control *the_object)
Frees an object.
Definition: objectfree.c:25
Data which Ease the Burden of Consistently Setting Errno.
Objects_Control * _Objects_Allocate_unprotected(Objects_Information *information)
Allocates an object without locking the allocator mutex.
Definition: objectallocate.c:33
Objects_Control * _Objects_Get_by_name(const Objects_Information *information, const char *name, size_t *name_length_p, Objects_Get_by_name_error *error)
Gets an object control block identified by its name.
Definition: objectnametoidstring.c:25
Thread queue context for the thread queue methods.
Definition: threadq.h:193
Inlined Routines in the Core Message Handler.
POSIX API Implementation.
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:65
Objects_Control * _Objects_Get(Objects_Id id, ISR_lock_Context *lock_context, const Objects_Information *information)
Maps the specified object identifier to the associated local object control block.
Definition: objectgetlocal.c:28
int CORE_message_queue_Submit_types
The modes in which a message may be submitted to a message queue.
Definition: coremsgimpl.h:66
void _POSIX_Message_queue_Delete(POSIX_Message_queue_Control *the_mq, Thread_queue_Context *queue_context)
Delete a POSIX Message Queue.
Definition: mqueuedeletesupp.c:23
RTEMS_INLINE_ROUTINE void _Thread_queue_Context_initialize(Thread_queue_Context *queue_context)
Initializes a thread queue context.
Definition: threadqimpl.h:108
void _Objects_Namespace_remove_string(const Objects_Information *information, Objects_Control *the_object)
Removes object with a string name from its namespace.
Definition: objectnamespaceremove.c:34
RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Namespace_remove(POSIX_Message_queue_Control *the_mq)
POSIX Message Queue Remove from Namespace.
Definition: mqueueimpl.h:149
Objects_Information _POSIX_Message_queue_Information
The POSIX Message Queue objects information.
Thread_queue_Lock_context Lock_context
The lock context for the thread queue acquire and release operations.
Definition: threadq.h:198
void(* Thread_queue_Enqueue_callout)(Thread_queue_Queue *queue, Thread_Control *the_thread, struct Per_CPU_Control *cpu_self, Thread_queue_Context *queue_context)
Thread queue enqueue callout.
Definition: threadq.h:67
POSIX Message Queues Private Private Support.
RTEMS_INLINE_ROUTINE void _POSIX_Message_queue_Free(POSIX_Message_queue_Control *the_mq)
POSIX Message Queue Free.
Definition: mqueueimpl.h:96
ISR_lock_Context Lock_context
The lock context for the thread queue acquire and release operations.
Definition: threadq.h:125
uint32_t Objects_Id
Definition: object.h:75
int _POSIX_Message_queue_Send_support(mqd_t mqdes, const char *msg_ptr, size_t msg_len, unsigned int msg_prio, const struct timespec *abstime, Thread_queue_Enqueue_callout enqueue_callout)
POSIX Message Queue Send Support.
Definition: mqueuesendsupp.c:37