Infuse-IoT SDK API 0.0.1
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
common.h
Go to the documentation of this file.
1
9
10#ifndef INFUSE_SDK_INCLUDE_INFUSE_EPACKET_INTERFACE_COMMON_H_
11#define INFUSE_SDK_INCLUDE_INFUSE_EPACKET_INTERFACE_COMMON_H_
12
13#include <stdint.h>
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
25
28 union {
29 struct {
31 uint8_t version;
33 uint8_t type;
35 uint16_t flags;
37 uint8_t key_identifier[3];
40 } __packed;
42 uint8_t raw[11];
44 union {
45 struct {
49 uint32_t gps_time;
51 uint16_t sequence;
53 uint16_t entropy;
54 } __packed;
56 uint8_t raw[12];
59 uint8_t ciphertext_tag[];
60} __packed;
61
64 union {
65 struct {
67 uint8_t type;
69 uint16_t flags;
71 uint8_t key_identifier[3];
74 } __packed;
76 uint8_t raw[10];
78 union {
79 struct {
83 uint32_t gps_time;
85 uint16_t sequence;
87 uint16_t entropy;
88 } __packed;
90 uint8_t raw[12];
93 uint8_t ciphertext_tag[];
94} __packed;
95
99
100#ifdef __cplusplus
101}
102#endif
103
104#endif /* INFUSE_SDK_INCLUDE_INFUSE_EPACKET_INTERFACE_COMMON_H_ */
Unversioned data frame.
Definition common.h:63
union epacket_v0_unversioned_frame_format::@272204106316167027063363310250142276302305161326 associated_data
AEAD associated data.
uint8_t key_identifier[3]
Network or device key identifier.
Definition common.h:71
uint32_t device_id_lower
Infuse device ID (lower 4 bytes)
Definition common.h:81
uint16_t entropy
Random entropy.
Definition common.h:87
uint32_t gps_time
Local GPS time (seconds)
Definition common.h:83
uint8_t ciphertext_tag[]
Ciphertext + tag bytes.
Definition common.h:93
uint8_t type
Payload type.
Definition common.h:67
uint16_t flags
Payload flags.
Definition common.h:69
uint8_t raw[10]
Raw associated data bytes.
Definition common.h:76
uint32_t device_id_upper
Infuse device ID (upper 4 bytes)
Definition common.h:73
union epacket_v0_unversioned_frame_format::@303215267266307153371221101153320020155042206255 nonce
AEAD encryption nonce (IV)
uint16_t sequence
Packet sequence number.
Definition common.h:85
Versioned data frame.
Definition common.h:27
uint8_t raw[11]
Raw associated data bytes.
Definition common.h:42
uint16_t flags
Payload flags.
Definition common.h:35
uint32_t gps_time
Local GPS time (seconds)
Definition common.h:49
uint8_t key_identifier[3]
Network or device key identifier.
Definition common.h:37
uint32_t device_id_upper
Infuse device ID (upper 4 bytes)
Definition common.h:39
uint8_t type
Payload type.
Definition common.h:33
uint8_t version
Frame version.
Definition common.h:31
union epacket_v0_versioned_frame_format::@133066105073167256262160014315265142232335102045 nonce
AEAD encryption nonce (IV)
union epacket_v0_versioned_frame_format::@165022206334351152251361054230316307167157377361 associated_data
AEAD associated data.
uint16_t entropy
Random entropy.
Definition common.h:53
uint8_t ciphertext_tag[]
Ciphertext + tag bytes.
Definition common.h:59
uint16_t sequence
Packet sequence number.
Definition common.h:51
uint32_t device_id_lower
Infuse device ID (lower 4 bytes)
Definition common.h:47