/
describe.pb.h
208 lines (182 loc) · 11.4 KB
/
describe.pb.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
/* Automatically generated nanopb header */
/* Generated by nanopb-0.4.5 */
#ifndef PB_PARTICLE_CLOUD_CLOUD_DESCRIBE_PB_H_INCLUDED
#define PB_PARTICLE_CLOUD_CLOUD_DESCRIBE_PB_H_INCLUDED
#include <pb.h>
#if PB_PROTO_HEADER_VERSION != 40
#error Regenerate this file with the current version of nanopb generator.
#endif
/* Enum definitions */
/* *
Firmware module types. */
typedef enum _particle_cloud_FirmwareModuleType {
particle_cloud_FirmwareModuleType_INVALID_MODULE = 0, /* /< Invalid */
particle_cloud_FirmwareModuleType_RESOURCE_MODULE = 1, /* /< Resource module */
particle_cloud_FirmwareModuleType_BOOTLOADER_MODULE = 2, /* /< Bootloader module */
particle_cloud_FirmwareModuleType_MONO_FIRMWARE_MODULE = 3, /* /< Monolithic firmware module */
particle_cloud_FirmwareModuleType_SYSTEM_PART_MODULE = 4, /* /< System part module */
particle_cloud_FirmwareModuleType_USER_PART_MODULE = 5, /* /< User part module */
particle_cloud_FirmwareModuleType_SETTINGS_MODULE = 6, /* /< Settings module */
particle_cloud_FirmwareModuleType_NCP_FIRMWARE_MODULE = 7, /* /< NCP firmware module */
particle_cloud_FirmwareModuleType_RADIO_STACK_MODULE = 8, /* /< Radio stack module */
particle_cloud_FirmwareModuleType_ASSET_MODULE = 9 /* /< Asset module */
} particle_cloud_FirmwareModuleType;
/* *
Firmware module store. */
typedef enum _particle_cloud_FirmwareModuleStore {
particle_cloud_FirmwareModuleStore_MAIN_MODULE_STORE = 0, /* /< Main store */
particle_cloud_FirmwareModuleStore_FACTORY_MODULE_STORE = 1, /* /< Factory store */
particle_cloud_FirmwareModuleStore_BACKUP_MODULE_STORE = 2, /* /< Backup store */
particle_cloud_FirmwareModuleStore_SCRATCHPAD_MODULE_STORE = 3 /* /< Scratchpad store */
} particle_cloud_FirmwareModuleStore;
/* *
Firmware module validation flags. */
typedef enum _particle_cloud_FirmwareModuleValidityFlag {
particle_cloud_FirmwareModuleValidityFlag_MODULE_NO_VALID_FLAGS = 0, /* The first enum value must be zero in proto3 */
particle_cloud_FirmwareModuleValidityFlag_MODULE_INTEGRITY_VALID_FLAG = 2, /* /< Module integrity */
particle_cloud_FirmwareModuleValidityFlag_MODULE_DEPENDENCIES_VALID_FLAG = 4, /* /< Module dependencies */
particle_cloud_FirmwareModuleValidityFlag_MODULE_RANGE_VALID_FLAG = 8, /* /< Module address and size */
particle_cloud_FirmwareModuleValidityFlag_MODULE_PLATFORM_VALID_FLAG = 16 /* /< Module platform */
} particle_cloud_FirmwareModuleValidityFlag;
/* Struct definitions */
/* *
System describe. */
typedef struct _particle_cloud_SystemDescribe {
pb_callback_t firmware_modules; /* /< Firmware modules */
pb_callback_t imei; /* /< IMEI (cellular platforms only) */
pb_callback_t iccid; /* /< ICCID (cellular platforms only) */
pb_callback_t modem_firmware_version; /* /< Modem firmware version (cellular platforms only) */
pb_callback_t assets; /* /< List of valid assets currently present in device storage */
} particle_cloud_SystemDescribe;
/* *
Firmware module info. */
typedef struct _particle_cloud_FirmwareModule {
particle_cloud_FirmwareModuleType type; /* /< Module type */
uint32_t index; /* /< Module index */
uint32_t version; /* /< Module version */
particle_cloud_FirmwareModuleStore store; /* /< Module store */
uint32_t max_size; /* /< Maximum module size */
uint32_t checked_flags; /* /< Performed validation checks (see FirmwareModuleValidityFlag) */
uint32_t passed_flags; /* /< Passed validation checks (see FirmwareModuleValidityFlag) */
pb_callback_t hash; /* /< SHA-256 hash */
pb_callback_t dependencies; /* /< Module dependencies */
pb_callback_t asset_dependencies; /* /< Asset dependencies */
uint32_t size; /* /< Actual module size */
} particle_cloud_FirmwareModule;
typedef struct _particle_cloud_FirmwareModuleAsset {
pb_callback_t hash; /* /< SHA-256 hash */
pb_callback_t name; /* /< Asset name */
uint32_t size; /* /< Asset size */
uint32_t storage_size; /* /< Asset storage size (taking into account compression and metadata) */
} particle_cloud_FirmwareModuleAsset;
/* *
Firmware module dependency. */
typedef struct _particle_cloud_FirmwareModuleDependency {
particle_cloud_FirmwareModuleType type; /* /< Module type */
uint32_t index; /* /< Module index */
uint32_t version; /* /< Module version */
} particle_cloud_FirmwareModuleDependency;
/* Helper constants for enums */
#define _particle_cloud_FirmwareModuleType_MIN particle_cloud_FirmwareModuleType_INVALID_MODULE
#define _particle_cloud_FirmwareModuleType_MAX particle_cloud_FirmwareModuleType_ASSET_MODULE
#define _particle_cloud_FirmwareModuleType_ARRAYSIZE ((particle_cloud_FirmwareModuleType)(particle_cloud_FirmwareModuleType_ASSET_MODULE+1))
#define _particle_cloud_FirmwareModuleStore_MIN particle_cloud_FirmwareModuleStore_MAIN_MODULE_STORE
#define _particle_cloud_FirmwareModuleStore_MAX particle_cloud_FirmwareModuleStore_SCRATCHPAD_MODULE_STORE
#define _particle_cloud_FirmwareModuleStore_ARRAYSIZE ((particle_cloud_FirmwareModuleStore)(particle_cloud_FirmwareModuleStore_SCRATCHPAD_MODULE_STORE+1))
#define _particle_cloud_FirmwareModuleValidityFlag_MIN particle_cloud_FirmwareModuleValidityFlag_MODULE_NO_VALID_FLAGS
#define _particle_cloud_FirmwareModuleValidityFlag_MAX particle_cloud_FirmwareModuleValidityFlag_MODULE_PLATFORM_VALID_FLAG
#define _particle_cloud_FirmwareModuleValidityFlag_ARRAYSIZE ((particle_cloud_FirmwareModuleValidityFlag)(particle_cloud_FirmwareModuleValidityFlag_MODULE_PLATFORM_VALID_FLAG+1))
#ifdef __cplusplus
extern "C" {
#endif
/* Initializer values for message structs */
#define particle_cloud_FirmwareModuleDependency_init_default {_particle_cloud_FirmwareModuleType_MIN, 0, 0}
#define particle_cloud_FirmwareModuleAsset_init_default {{{NULL}, NULL}, {{NULL}, NULL}, 0, 0}
#define particle_cloud_FirmwareModule_init_default {_particle_cloud_FirmwareModuleType_MIN, 0, 0, _particle_cloud_FirmwareModuleStore_MIN, 0, 0, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0}
#define particle_cloud_SystemDescribe_init_default {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
#define particle_cloud_FirmwareModuleDependency_init_zero {_particle_cloud_FirmwareModuleType_MIN, 0, 0}
#define particle_cloud_FirmwareModuleAsset_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, 0, 0}
#define particle_cloud_FirmwareModule_init_zero {_particle_cloud_FirmwareModuleType_MIN, 0, 0, _particle_cloud_FirmwareModuleStore_MIN, 0, 0, 0, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, 0}
#define particle_cloud_SystemDescribe_init_zero {{{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}, {{NULL}, NULL}}
/* Field tags (for use in manual encoding/decoding) */
#define particle_cloud_SystemDescribe_firmware_modules_tag 1
#define particle_cloud_SystemDescribe_imei_tag 2
#define particle_cloud_SystemDescribe_iccid_tag 3
#define particle_cloud_SystemDescribe_modem_firmware_version_tag 4
#define particle_cloud_SystemDescribe_assets_tag 5
#define particle_cloud_FirmwareModule_type_tag 1
#define particle_cloud_FirmwareModule_index_tag 2
#define particle_cloud_FirmwareModule_version_tag 3
#define particle_cloud_FirmwareModule_store_tag 4
#define particle_cloud_FirmwareModule_max_size_tag 5
#define particle_cloud_FirmwareModule_checked_flags_tag 6
#define particle_cloud_FirmwareModule_passed_flags_tag 7
#define particle_cloud_FirmwareModule_hash_tag 8
#define particle_cloud_FirmwareModule_dependencies_tag 9
#define particle_cloud_FirmwareModule_asset_dependencies_tag 10
#define particle_cloud_FirmwareModule_size_tag 11
#define particle_cloud_FirmwareModuleAsset_hash_tag 1
#define particle_cloud_FirmwareModuleAsset_name_tag 2
#define particle_cloud_FirmwareModuleAsset_size_tag 3
#define particle_cloud_FirmwareModuleAsset_storage_size_tag 4
#define particle_cloud_FirmwareModuleDependency_type_tag 1
#define particle_cloud_FirmwareModuleDependency_index_tag 2
#define particle_cloud_FirmwareModuleDependency_version_tag 3
/* Struct field encoding specification for nanopb */
#define particle_cloud_FirmwareModuleDependency_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UENUM, type, 1) \
X(a, STATIC, SINGULAR, UINT32, index, 2) \
X(a, STATIC, SINGULAR, UINT32, version, 3)
#define particle_cloud_FirmwareModuleDependency_CALLBACK NULL
#define particle_cloud_FirmwareModuleDependency_DEFAULT NULL
#define particle_cloud_FirmwareModuleAsset_FIELDLIST(X, a) \
X(a, CALLBACK, SINGULAR, BYTES, hash, 1) \
X(a, CALLBACK, SINGULAR, STRING, name, 2) \
X(a, STATIC, SINGULAR, UINT32, size, 3) \
X(a, STATIC, SINGULAR, UINT32, storage_size, 4)
#define particle_cloud_FirmwareModuleAsset_CALLBACK pb_default_field_callback
#define particle_cloud_FirmwareModuleAsset_DEFAULT NULL
#define particle_cloud_FirmwareModule_FIELDLIST(X, a) \
X(a, STATIC, SINGULAR, UENUM, type, 1) \
X(a, STATIC, SINGULAR, UINT32, index, 2) \
X(a, STATIC, SINGULAR, UINT32, version, 3) \
X(a, STATIC, SINGULAR, UENUM, store, 4) \
X(a, STATIC, SINGULAR, UINT32, max_size, 5) \
X(a, STATIC, SINGULAR, FIXED32, checked_flags, 6) \
X(a, STATIC, SINGULAR, FIXED32, passed_flags, 7) \
X(a, CALLBACK, OPTIONAL, BYTES, hash, 8) \
X(a, CALLBACK, REPEATED, MESSAGE, dependencies, 9) \
X(a, CALLBACK, REPEATED, MESSAGE, asset_dependencies, 10) \
X(a, STATIC, SINGULAR, UINT32, size, 11)
#define particle_cloud_FirmwareModule_CALLBACK pb_default_field_callback
#define particle_cloud_FirmwareModule_DEFAULT NULL
#define particle_cloud_FirmwareModule_dependencies_MSGTYPE particle_cloud_FirmwareModuleDependency
#define particle_cloud_FirmwareModule_asset_dependencies_MSGTYPE particle_cloud_FirmwareModuleAsset
#define particle_cloud_SystemDescribe_FIELDLIST(X, a) \
X(a, CALLBACK, REPEATED, MESSAGE, firmware_modules, 1) \
X(a, CALLBACK, OPTIONAL, STRING, imei, 2) \
X(a, CALLBACK, OPTIONAL, STRING, iccid, 3) \
X(a, CALLBACK, OPTIONAL, STRING, modem_firmware_version, 4) \
X(a, CALLBACK, REPEATED, MESSAGE, assets, 5)
#define particle_cloud_SystemDescribe_CALLBACK pb_default_field_callback
#define particle_cloud_SystemDescribe_DEFAULT NULL
#define particle_cloud_SystemDescribe_firmware_modules_MSGTYPE particle_cloud_FirmwareModule
#define particle_cloud_SystemDescribe_assets_MSGTYPE particle_cloud_FirmwareModuleAsset
extern const pb_msgdesc_t particle_cloud_FirmwareModuleDependency_msg;
extern const pb_msgdesc_t particle_cloud_FirmwareModuleAsset_msg;
extern const pb_msgdesc_t particle_cloud_FirmwareModule_msg;
extern const pb_msgdesc_t particle_cloud_SystemDescribe_msg;
/* Defines for backwards compatibility with code written before nanopb-0.4.0 */
#define particle_cloud_FirmwareModuleDependency_fields &particle_cloud_FirmwareModuleDependency_msg
#define particle_cloud_FirmwareModuleAsset_fields &particle_cloud_FirmwareModuleAsset_msg
#define particle_cloud_FirmwareModule_fields &particle_cloud_FirmwareModule_msg
#define particle_cloud_SystemDescribe_fields &particle_cloud_SystemDescribe_msg
/* Maximum encoded size of messages (where known) */
/* particle_cloud_FirmwareModuleAsset_size depends on runtime parameters */
/* particle_cloud_FirmwareModule_size depends on runtime parameters */
/* particle_cloud_SystemDescribe_size depends on runtime parameters */
#define particle_cloud_FirmwareModuleDependency_size 14
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif