aroarfw
Data Structures | Macros | Typedefs
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...
 

Macros

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

Typedefs

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

Macro Definition Documentation

◆ rmsg0_getcmd

#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.

◆ rmsg0_getlen

#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.

◆ rmsg0_getpos

#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.

◆ rmsg0_getsid

#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.

◆ rmsg0_header

#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.

◆ rmsg0_init

#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.

◆ rmsg0_len

#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.

◆ rmsg0_setlen

#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.

◆ rmsg0_setpos

#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.

◆ rmsg0_setsid

#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.

◆ RMSG_V0_MAX_HEADER_LEN

#define RMSG_V0_MAX_HEADER_LEN   10

Maximum length of version 0 message header.

Definition at line 33 of file msg.h.

◆ RMSG_V1_MAX_HEADER_LEN

#define RMSG_V1_MAX_HEADER_LEN   11

Maximum length of version 1 message header.

Definition at line 36 of file msg.h.

◆ RMSG_V2_MAX_HEADER_LEN

#define RMSG_V2_MAX_HEADER_LEN   20

Maximum length of version 2 message header.

Definition at line 39 of file msg.h.

◆ rmsg_version

#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

◆ rmsg_v0_t

typedef unsigned char rmsg_v0_t[RMSG_V0_MAX_HEADER_LEN]

RoarAudio Message version 0 type.

Definition at line 42 of file msg.h.

◆ rmsg_v1_t

typedef unsigned char rmsg_v1_t[RMSG_V1_MAX_HEADER_LEN]

RoarAudio Message version 1 type.

Definition at line 45 of file msg.h.

◆ rmsg_v2_t

typedef unsigned char rmsg_v2_t[RMSG_V2_MAX_HEADER_LEN]

RoarAudio Message version 2 type.

Definition at line 48 of file msg.h.