R_RTOS  0.1
DistributedRealTimeOperatingSystemfortheARMCortexMArchitecture
R_RTOS_msgQueuing.h File Reference
#include "R_RTOS_inc.h"

Go to the source code of this file.

Data Structures

struct  mqDummyElmnt
 Dummy of a message queue element. More...
 
struct  mqPub
 Publisher element related to a message queue. More...
 
struct  mqTskSub
 Task subscriber element related to a message queue. More...
 
struct  mqSysSub
 System subscriber element related to a message queue. More...
 
struct  mqSub
 Unified subscriber element related to a message queue. More...
 
struct  mqPrtcpnt
 Message queue participant structure for task and system subscribers and publishers. More...
 
struct  msgQ
 Message queue which contains publishers, subscribers, data as well as information about the queue. More...
 

Macros

#define MAX_MSGQ_SIZE   (uint8_t)0x8u
 Maximum size of one single message queue. More...
 
#define MAX_MSGQ_MSK   (uint8_t)(MAX_MSGQ_SIZE-(uint8_t)0x1u)
 Mask used to keep a counter within the range of MAX_MSGQ_SIZE.
 

Typedefs

typedef enum partIDType PartIDType
 partIDType
 
typedef struct mqDummyElmnt MQDummyElmnt
 mqDummyElmnt
 
typedef struct mqDummyElmntPMQDummyElmnt
 Pointer to a mqDummyElmnt.
 
typedef struct mqPub MQPub
 mqPub
 
typedef struct mqPubPMQPub
 Pointer to a mqPub.
 
typedef PMQPub MQPubs
 Pointer to MQPub elements for a publisher list.
 
typedef struct mqTskSub MQTskSub
 mqTskSub
 
typedef struct mqTskSubPMQTskSub
 Pointer to a mqTskSub.
 
typedef struct mqSysSub MQSysSub
 mqSysSub
 
typedef struct mqSysSubPMQSysSub
 Pointer to a mqSysSub.
 
typedef struct mqSub MQSub
 mqSub
 
typedef struct mqSubPMQSub
 Pointer to a mqSub.
 
typedef PMQSub MQSubs
 Pointer to MQSub elements for a subscriber list.
 
typedef enum mqPrtcpntTypeEnum MQPrtcpntType
 mqPrtcpntTypeEnum
 
typedef struct mqPrtcpnt MQPrtcpnt
 mqPrtcpnt
 
typedef struct mqPrtcpntPMQPrtcpnt
 Pointer to amqPrtcpnt.
 
typedef PMQPrtcpnt MQPrtcpnts
 Pointer to MQPrtcpnt elements for a list.
 
typedef struct msgQ MsgQ
 Message queue which contains publishers, subscribers, data as well as information about the queue. More...
 

Enumerations

Functions

RetCode msgQ_initQueue (QID msgQID)
 Initialize the message queue with the given QID. More...
 
RetCode msgQ_delQueue (const QID msgQID)
 Delete the message queue with the given QID. More...
 
RetCode msgQ_regTskPub (PTskTCB const pubTsk, const QID msgQID)
 Register a task to the message queue related to the QID as a publisher. More...
 
RetCode msgQ_regSysPub (const uint8_t participant, const QID msgQID)
 Register a system function to the message queue related to the QID as a publisher. More...
 
RetCode msgQ_regTskSub (PTskTCB const subTsk, const QID msgQID)
 Register a task to the message queue related to the QID as a subscriber. More...
 
RetCode msgQ_regSysSub (const SysFktID subSysFktID, const QID msgQID)
 Register a system function to the message queue related to the QID as a subscriber. More...
 
RetCode msgQ_unSub (const QID msgQID, const uint16_t id)
 Unsubscribe the participant specified by id from the message queue related to the QID. More...
 
RetCode msgQ_pubDataToQ (const QID msgQID, const DataSize size, const DataType type, CData const data)
 Publish constant data of a given size and type to the message queue related to the QID. More...
 
RetCode msgQ_readDataFrmQ (const QID msgQID, const TskID tskID, PMQData *data)
 Read the most recent unread data from the message queue related to QID. More...
 
RetCode msgQ_takeDataFrmQ (const QID msgQID, const TskID tskID, PMQData *data)
 

Detailed Description