coremsg.h File Reference

#include <limits.h>
#include <rtems/score/thread.h>
#include <rtems/score/threadq.h>
#include <rtems/score/priority.h>
#include <rtems/score/watchdog.h>
#include <rtems/score/coremsg.inl>

Include dependency graph for coremsg.h:

Go to the source code of this file.

Data Structures

struct  CORE_message_queue_Buffer
 Message Buffer Contents Management Structure. More...
struct  CORE_message_queue_Buffer_control
 Message Structure. More...
struct  CORE_message_queue_Attributes
 Message Queue Attributes Type. More...
struct  CORE_message_queue_Control
 Core Message Queue Control Structure. More...

Defines

#define CORE_MESSAGE_QUEUE_SEND_REQUEST   INT_MAX
 Message Priority for Appending.
#define CORE_MESSAGE_QUEUE_URGENT_REQUEST   INT_MIN
 Message Priority for Prepending.
#define CORE_MESSAGE_QUEUE_STATUS_LAST   CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_WAIT
 Core Message Queue Last Status.

Typedefs

typedef void(* CORE_message_queue_API_mp_support_callout )(Thread_Control *, Objects_Id)
 Message Queue MP Callback Prototype.
typedef int CORE_message_queue_Submit_types
 Message Insertion Operation Types.
typedef void(* CORE_message_queue_Notify_Handler )(void *)
 Message Queue Notification Callback Prototype.

Enumerations

enum  CORE_message_queue_Disciplines { CORE_MESSAGE_QUEUE_DISCIPLINES_FIFO, CORE_MESSAGE_QUEUE_DISCIPLINES_PRIORITY }
 Message Queue Blocking Disciplines. More...
enum  CORE_message_queue_Status {
  CORE_MESSAGE_QUEUE_STATUS_SUCCESSFUL, CORE_MESSAGE_QUEUE_STATUS_INVALID_SIZE, CORE_MESSAGE_QUEUE_STATUS_TOO_MANY, CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED,
  CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_NOWAIT, CORE_MESSAGE_QUEUE_STATUS_WAS_DELETED, CORE_MESSAGE_QUEUE_STATUS_TIMEOUT, CORE_MESSAGE_QUEUE_STATUS_UNSATISFIED_WAIT
}
 Core Message Queue Return Statuses. More...

Functions

boolean _CORE_message_queue_Initialize (CORE_message_queue_Control *the_message_queue, CORE_message_queue_Attributes *the_message_queue_attributes, uint32_t maximum_pending_messages, size_t maximum_message_size)
 Initialize a Message Queue.
void _CORE_message_queue_Close (CORE_message_queue_Control *the_message_queue, Thread_queue_Flush_callout remote_extract_callout, uint32_t status)
 Close a Message Queue.
uint32_t _CORE_message_queue_Flush (CORE_message_queue_Control *the_message_queue)
 Flush Pending Messages.
uint32_t _CORE_message_queue_Flush_support (CORE_message_queue_Control *the_message_queue)
 Flush Messages Support Routine.
void _CORE_message_queue_Flush_waiting_threads (CORE_message_queue_Control *the_message_queue)
 Flush Waiting Threads.
CORE_message_queue_Status _CORE_message_queue_Broadcast (CORE_message_queue_Control *the_message_queue, const void *buffer, size_t size, Objects_Id id, CORE_message_queue_API_mp_support_callout api_message_queue_mp_support, uint32_t *count)
 Broadcast a Message to the Message Queue.
CORE_message_queue_Status _CORE_message_queue_Submit (CORE_message_queue_Control *the_message_queue, const void *buffer, size_t size, Objects_Id id, CORE_message_queue_API_mp_support_callout api_message_queue_mp_support, CORE_message_queue_Submit_types submit_type, boolean wait, Watchdog_Interval timeout)
 Submit a Message to the Message Queue.
void _CORE_message_queue_Seize (CORE_message_queue_Control *the_message_queue, Objects_Id id, void *buffer, size_t *size_p, boolean wait, Watchdog_Interval timeout)
 Size a Message from the Message Queue.
void _CORE_message_queue_Insert_message (CORE_message_queue_Control *the_message_queue, CORE_message_queue_Buffer_control *the_message, CORE_message_queue_Submit_types submit_type)


Detailed Description

This include file contains all the constants and structures associated with the Message queue Handler.

Generated on Sat Aug 30 06:16:41 2008 for RTEMSSuperCore by  doxygen 1.5.6