replace some implementation dependent types in protocol message specifications
Signed-off-by: Erik Boasson <eb@ilities.com>
This commit is contained in:
parent
a25f683bcf
commit
791a0efe7e
1 changed files with 23 additions and 23 deletions
|
@ -29,19 +29,19 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
unsigned char id[4];
|
uint8_t id[4];
|
||||||
} nn_protocolid_t;
|
} nn_protocolid_t;
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int high;
|
int32_t high;
|
||||||
unsigned low;
|
uint32_t low;
|
||||||
} nn_sequence_number_t;
|
} nn_sequence_number_t;
|
||||||
#define NN_SEQUENCE_NUMBER_UNKNOWN_HIGH -1
|
#define NN_SEQUENCE_NUMBER_UNKNOWN_HIGH -1
|
||||||
#define NN_SEQUENCE_NUMBER_UNKNOWN_LOW 0
|
#define NN_SEQUENCE_NUMBER_UNKNOWN_LOW 0
|
||||||
#define NN_SEQUENCE_NUMBER_UNKNOWN ((seqno_t) (((uint64_t)NN_SEQUENCE_NUMBER_UNKNOWN_HIGH << 32) | NN_SEQUENCE_NUMBER_UNKNOWN_LOW))
|
#define NN_SEQUENCE_NUMBER_UNKNOWN ((seqno_t) (((uint64_t)NN_SEQUENCE_NUMBER_UNKNOWN_HIGH << 32) | NN_SEQUENCE_NUMBER_UNKNOWN_LOW))
|
||||||
typedef struct nn_sequence_number_set {
|
typedef struct nn_sequence_number_set {
|
||||||
nn_sequence_number_t bitmap_base;
|
nn_sequence_number_t bitmap_base;
|
||||||
unsigned numbits;
|
uint32_t numbits;
|
||||||
unsigned bits[1];
|
uint32_t bits[1];
|
||||||
} nn_sequence_number_set_t; /* Why strict C90? zero-length/flexible array members are far nicer */
|
} nn_sequence_number_set_t; /* Why strict C90? zero-length/flexible array members are far nicer */
|
||||||
/* SequenceNumberSet size is base (2 words) + numbits (1 word) +
|
/* SequenceNumberSet size is base (2 words) + numbits (1 word) +
|
||||||
bitmap ((numbits+31)/32 words), and this at 4 bytes/word */
|
bitmap ((numbits+31)/32 words), and this at 4 bytes/word */
|
||||||
|
@ -50,30 +50,30 @@ typedef struct nn_sequence_number_set {
|
||||||
typedef unsigned nn_fragment_number_t;
|
typedef unsigned nn_fragment_number_t;
|
||||||
typedef struct nn_fragment_number_set {
|
typedef struct nn_fragment_number_set {
|
||||||
nn_fragment_number_t bitmap_base;
|
nn_fragment_number_t bitmap_base;
|
||||||
unsigned numbits;
|
uint32_t numbits;
|
||||||
unsigned bits[1];
|
uint32_t bits[1];
|
||||||
} nn_fragment_number_set_t;
|
} nn_fragment_number_set_t;
|
||||||
/* FragmentNumberSet size is base (2 words) + numbits (1 word) +
|
/* FragmentNumberSet size is base (2 words) + numbits (1 word) +
|
||||||
bitmap ((numbits+31)/32 words), and this at 4 bytes/word */
|
bitmap ((numbits+31)/32 words), and this at 4 bytes/word */
|
||||||
#define NN_FRAGMENT_NUMBER_SET_BITS_SIZE(numbits) ((unsigned) (4 * (((numbits) + 31) / 32)))
|
#define NN_FRAGMENT_NUMBER_SET_BITS_SIZE(numbits) ((unsigned) (4 * (((numbits) + 31) / 32)))
|
||||||
#define NN_FRAGMENT_NUMBER_SET_SIZE(numbits) (offsetof (nn_fragment_number_set_t, bits) + NN_FRAGMENT_NUMBER_SET_BITS_SIZE (numbits))
|
#define NN_FRAGMENT_NUMBER_SET_SIZE(numbits) (offsetof (nn_fragment_number_set_t, bits) + NN_FRAGMENT_NUMBER_SET_BITS_SIZE (numbits))
|
||||||
typedef int nn_count_t;
|
typedef int32_t nn_count_t;
|
||||||
#define DDSI_COUNT_MIN (-2147483647 - 1)
|
#define DDSI_COUNT_MIN (-2147483647 - 1)
|
||||||
#define DDSI_COUNT_MAX (2147483647)
|
#define DDSI_COUNT_MAX (2147483647)
|
||||||
/* address field in locator maintained in network byte order, the rest
|
/* address field in locator maintained in network byte order, the rest
|
||||||
in host (yes: that's a FIXME) */
|
in host (yes: that's a FIXME) */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
int32_t kind;
|
int32_t kind;
|
||||||
unsigned port;
|
uint32_t port;
|
||||||
unsigned char address[16];
|
unsigned char address[16];
|
||||||
} nn_locator_t;
|
} nn_locator_t;
|
||||||
|
|
||||||
typedef struct nn_udpv4mcgen_address {
|
typedef struct nn_udpv4mcgen_address {
|
||||||
/* base IPv4 MC address is ipv4, host bits are bits base .. base+count-1, this machine is bit idx */
|
/* base IPv4 MC address is ipv4, host bits are bits base .. base+count-1, this machine is bit idx */
|
||||||
struct in_addr ipv4;
|
struct in_addr ipv4;
|
||||||
unsigned char base;
|
uint8_t base;
|
||||||
unsigned char count;
|
uint8_t count;
|
||||||
unsigned char idx; /* must be last: then sorting will put them consecutively */
|
uint8_t idx; /* must be last: then sorting will put them consecutively */
|
||||||
} nn_udpv4mcgen_address_t;
|
} nn_udpv4mcgen_address_t;
|
||||||
|
|
||||||
|
|
||||||
|
@ -162,9 +162,9 @@ typedef struct Header {
|
||||||
#define RTPS_MESSAGE_HEADER_SIZE (sizeof (Header_t))
|
#define RTPS_MESSAGE_HEADER_SIZE (sizeof (Header_t))
|
||||||
|
|
||||||
typedef struct SubmessageHeader {
|
typedef struct SubmessageHeader {
|
||||||
unsigned char submessageId;
|
uint8_t submessageId;
|
||||||
unsigned char flags;
|
uint8_t flags;
|
||||||
unsigned short octetsToNextHeader;
|
uint16_t octetsToNextHeader;
|
||||||
} SubmessageHeader_t;
|
} SubmessageHeader_t;
|
||||||
#define RTPS_SUBMESSAGE_HEADER_SIZE (sizeof (SubmessageHeader_t))
|
#define RTPS_SUBMESSAGE_HEADER_SIZE (sizeof (SubmessageHeader_t))
|
||||||
#define SMFLAG_ENDIANNESS 0x01u
|
#define SMFLAG_ENDIANNESS 0x01u
|
||||||
|
@ -223,14 +223,14 @@ typedef struct InfoSRC {
|
||||||
typedef unsigned short nn_parameterid_t; /* spec says short */
|
typedef unsigned short nn_parameterid_t; /* spec says short */
|
||||||
typedef struct nn_parameter {
|
typedef struct nn_parameter {
|
||||||
nn_parameterid_t parameterid;
|
nn_parameterid_t parameterid;
|
||||||
unsigned short length; /* spec says short */
|
uint16_t length; /* spec says signed short */
|
||||||
/* char value[]; O! how I long for C99 */
|
/* char value[]; O! how I long for C99 */
|
||||||
} nn_parameter_t;
|
} nn_parameter_t;
|
||||||
|
|
||||||
typedef struct Data_DataFrag_common {
|
typedef struct Data_DataFrag_common {
|
||||||
SubmessageHeader_t smhdr;
|
SubmessageHeader_t smhdr;
|
||||||
unsigned short extraFlags;
|
uint16_t extraFlags;
|
||||||
unsigned short octetsToInlineQos;
|
uint16_t octetsToInlineQos;
|
||||||
nn_entityid_t readerId;
|
nn_entityid_t readerId;
|
||||||
nn_entityid_t writerId;
|
nn_entityid_t writerId;
|
||||||
nn_sequence_number_t writerSN;
|
nn_sequence_number_t writerSN;
|
||||||
|
@ -246,9 +246,9 @@ typedef struct Data {
|
||||||
typedef struct DataFrag {
|
typedef struct DataFrag {
|
||||||
Data_DataFrag_common_t x;
|
Data_DataFrag_common_t x;
|
||||||
nn_fragment_number_t fragmentStartingNum;
|
nn_fragment_number_t fragmentStartingNum;
|
||||||
unsigned short fragmentsInSubmessage;
|
uint16_t fragmentsInSubmessage;
|
||||||
unsigned short fragmentSize;
|
uint16_t fragmentSize;
|
||||||
unsigned sampleSize;
|
uint32_t sampleSize;
|
||||||
} DataFrag_t;
|
} DataFrag_t;
|
||||||
#define DATAFRAG_FLAG_INLINE_QOS 0x02u
|
#define DATAFRAG_FLAG_INLINE_QOS 0x02u
|
||||||
#define DATAFRAG_FLAG_KEYFLAG 0x04u
|
#define DATAFRAG_FLAG_KEYFLAG 0x04u
|
||||||
|
@ -339,8 +339,8 @@ typedef union Submessage {
|
||||||
|
|
||||||
typedef struct ParticipantMessageData {
|
typedef struct ParticipantMessageData {
|
||||||
nn_guid_prefix_t participantGuidPrefix;
|
nn_guid_prefix_t participantGuidPrefix;
|
||||||
unsigned kind; /* really 4 octets */
|
uint32_t kind; /* really 4 octets */
|
||||||
unsigned length;
|
uint32_t length;
|
||||||
char value[1 /* length */];
|
char value[1 /* length */];
|
||||||
} ParticipantMessageData_t;
|
} ParticipantMessageData_t;
|
||||||
#define PARTICIPANT_MESSAGE_DATA_KIND_UNKNOWN 0x0u
|
#define PARTICIPANT_MESSAGE_DATA_KIND_UNKNOWN 0x0u
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue