aroarfw
Data Structures | Defines | Typedefs
include/aroarfw/msg.h File Reference
#include <aroarfw/types.h>
#include <aroarfw/proto.h>
#include <aroarfw/byteorder.h>
Include dependency graph for msg.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  rmsg_t
 RoarAudio Message type, version independed. More...

Defines

#define RMSG_V0_MAX_HEADER_LEN   10
 Maximum length of version 0 message header.
#define RMSG_V1_MAX_HEADER_LEN   11
 Maximum length of version 1 message header.
#define RMSG_V2_MAX_HEADER_LEN   20
 Maximum length of version 2 message header.
#define rmsg0_init(msg, cmd)
 Create a RoarAudio version 0 message.
#define rmsg0_getcmd(msg)   (((unsigned char*)(msg))[1])
 Get the command of a version 0 RoarAudio message.
#define rmsg0_setlen(msg, len)   ((void)RBO_H2NB16(&(((unsigned char*)(msg))[8]), (len)))
 Set the data length of a version 0 RoarAudio message.
#define rmsg0_getlen(msg)   RBO_NB2H16(&(((unsigned char*)(msg))[8]))
 Get the data length of a version 0 RoarAudio message.
#define rmsg0_setsid(msg, sid)   ((void)RBO_H2NB16(&(((unsigned char*)(msg))[2]), (sid)))
 Set the stream ID of a version 0 RoarAudio message.
#define rmsg0_getsid(msg)   RBO_NB2H16(&(((unsigned char*)(msg))[2]))
 Get the stream ID of a version 0 RoarAudio message.
#define rmsg0_setpos(msg, pos)   ((void)RBO_H2NB32(&(((unsigned char*)(msg))[4]), (pos)))
 Set the stream possition of a version 0 RoarAudio message.
#define rmsg0_getpos(msg)   RBO_NB2H16(&(((unsigned char*)(msg))[4]))
 Get the stream possition of a version 0 RoarAudio message.
#define rmsg0_len(msg)   RMSG_V0_MAX_HEADER_LEN
 Get the header length of a version 0 RoarAudio message.
#define rmsg0_header(msg)   (msg)
 Get the header data of a version 0 RoarAudio message.
#define rmsg_version(msg)   (((unsigned char*)msg)[0])
 Get the version of a RoarAudio message.

Typedefs

typedef unsigned char rmsg_v0_t [RMSG_V0_MAX_HEADER_LEN]
 RoarAudio Message version 0 type.
typedef unsigned char rmsg_v1_t [RMSG_V1_MAX_HEADER_LEN]
 RoarAudio Message version 1 type.
typedef unsigned char rmsg_v2_t [RMSG_V2_MAX_HEADER_LEN]
 RoarAudio Message version 2 type.

Define Documentation

#define rmsg0_getcmd (   msg)    (((unsigned char*)(msg))[1])

Get the command of a version 0 RoarAudio message.

Parameters:
msgThe Message object to be used
Returns:
The command

Definition at line 82 of file msg.h.

#define rmsg0_getlen (   msg)    RBO_NB2H16(&(((unsigned char*)(msg))[8]))

Get the data length of a version 0 RoarAudio message.

Parameters:
msgThe Message object to be used
Returns:
The data length

Definition at line 96 of file msg.h.

#define rmsg0_getpos (   msg)    RBO_NB2H16(&(((unsigned char*)(msg))[4]))

Get the stream possition of a version 0 RoarAudio message.

Parameters:
msgThe Message object to be used
Returns:
The stream possition

Definition at line 124 of file msg.h.

#define rmsg0_getsid (   msg)    RBO_NB2H16(&(((unsigned char*)(msg))[2]))

Get the stream ID of a version 0 RoarAudio message.

Parameters:
msgThe Message object to be used
Returns:
The stream ID

Definition at line 110 of file msg.h.

#define rmsg0_header (   msg)    (msg)

Get the header data of a version 0 RoarAudio message.

This function is used to get a pointer to a ready-to-send version of the message header.

Use This function togeter with rmsg0_header().

Parameters:
msgThe Message object to be used
Returns:
The pointer to the header

Definition at line 148 of file msg.h.

#define rmsg0_init (   msg,
  cmd 
)
Value:
((msg)[1]=                \
                             ((msg)[0]=               \
                              (msg)[2]=(msg)[3]=      \
                              (msg)[4]=(msg)[5]=      \
                              (msg)[6]=(msg)[7]=      \
                              (msg)[8]=(msg)[9]= 0) + \
                             (cmd))

Create a RoarAudio version 0 message.

Parameters:
msgThe Message object to create
cmdThe command for the new message

Definition at line 70 of file msg.h.

#define rmsg0_len (   msg)    RMSG_V0_MAX_HEADER_LEN

Get the header length of a version 0 RoarAudio message.

This function is used to get the length of the message header.

Use This function togeter with rmsg0_header().

Parameters:
msgThe Message object to be used
Returns:
The header length

Definition at line 136 of file msg.h.

#define rmsg0_setlen (   msg,
  len 
)    ((void)RBO_H2NB16(&(((unsigned char*)(msg))[8]), (len)))

Set the data length of a version 0 RoarAudio message.

Parameters:
msgThe Message object to be used
lenThe data length

Definition at line 89 of file msg.h.

#define rmsg0_setpos (   msg,
  pos 
)    ((void)RBO_H2NB32(&(((unsigned char*)(msg))[4]), (pos)))

Set the stream possition of a version 0 RoarAudio message.

Parameters:
msgThe Message object to be used
posThe stream possition

Definition at line 117 of file msg.h.

#define rmsg0_setsid (   msg,
  sid 
)    ((void)RBO_H2NB16(&(((unsigned char*)(msg))[2]), (sid)))

Set the stream ID of a version 0 RoarAudio message.

Parameters:
msgThe Message object to be used
sidThe stream ID

Definition at line 103 of file msg.h.

#define RMSG_V0_MAX_HEADER_LEN   10

Maximum length of version 0 message header.

Definition at line 33 of file msg.h.

#define RMSG_V1_MAX_HEADER_LEN   11

Maximum length of version 1 message header.

Definition at line 36 of file msg.h.

#define RMSG_V2_MAX_HEADER_LEN   20

Maximum length of version 2 message header.

Definition at line 39 of file msg.h.

#define rmsg_version (   msg)    (((unsigned char*)msg)[0])

Get the version of a RoarAudio message.

This function returns the version number of the message buffer provided.

Parameters:
msgThe Message object to be used
Returns:
The version number

Definition at line 160 of file msg.h.


Typedef Documentation

typedef unsigned char rmsg_v0_t[RMSG_V0_MAX_HEADER_LEN]

RoarAudio Message version 0 type.

Definition at line 42 of file msg.h.

typedef unsigned char rmsg_v1_t[RMSG_V1_MAX_HEADER_LEN]

RoarAudio Message version 1 type.

Definition at line 45 of file msg.h.

typedef unsigned char rmsg_v2_t[RMSG_V2_MAX_HEADER_LEN]

RoarAudio Message version 2 type.

Definition at line 48 of file msg.h.