4#ifndef supla_proto_suplet_H_
5#define supla_proto_suplet_H_
10#define SUPLA_DEVICE_FLAG_SUPLET_SUPPORTED 0x40000
13#define SUPLA_CALCFG_CMD_SUPLET_GET_CAPABILITIES 9500
14#define SUPLA_CALCFG_CMD_SUPLET_GET_INSTANCE_LIST 9520
15#define SUPLA_CALCFG_CMD_SUPLET_GET_INSTANCE_DATA 9540
16#define SUPLA_CALCFG_CMD_SUPLET_DEFINITION_BEGIN 9550
17#define SUPLA_CALCFG_CMD_SUPLET_DEFINITION_REMOVE 9585
18#define SUPLA_CALCFG_CMD_SUPLET_GET_DEFINITION_LIST 9586
19#define SUPLA_CALCFG_CMD_SUPLET_GET_DEFINITION_CONFIG 9587
20#define SUPLA_CALCFG_CMD_SUPLET_INSTANCE_BEGIN 9590
21#define SUPLA_CALCFG_CMD_SUPLET_TRANSFER_CHUNK 9600
22#define SUPLA_CALCFG_CMD_SUPLET_TRANSFER_COMMIT 9610
23#define SUPLA_CALCFG_CMD_SUPLET_INSTANCE_REMOVE 9620
26#define SUPLA_CALCFG_SUPLET_RESULT_OK 0
27#define SUPLA_CALCFG_SUPLET_RESULT_INVALID_REQUEST 1
28#define SUPLA_CALCFG_SUPLET_RESULT_UNSUPPORTED_DEFINITION 2
29#define SUPLA_CALCFG_SUPLET_RESULT_DEFINITION_NOT_FOUND 3
30#define SUPLA_CALCFG_SUPLET_RESULT_DEFINITION_TRANSFER_FAILED 4
31#define SUPLA_CALCFG_SUPLET_RESULT_INSTANCE_LIMIT_EXCEEDED 6
32#define SUPLA_CALCFG_SUPLET_RESULT_CHANNEL_LIMIT_EXCEEDED 7
33#define SUPLA_CALCFG_SUPLET_RESULT_RAM_LIMIT_EXCEEDED 8
34#define SUPLA_CALCFG_SUPLET_RESULT_CONFIG_TOO_LARGE 9
35#define SUPLA_CALCFG_SUPLET_RESULT_INVALID_CONFIG 10
36#define SUPLA_CALCFG_SUPLET_RESULT_STORAGE_ERROR 11
37#define SUPLA_CALCFG_SUPLET_RESULT_BUSY 12
38#define SUPLA_CALCFG_SUPLET_RESULT_CREATE_ONLY_PARAM_CHANGED 13
39#define SUPLA_CALCFG_SUPLET_RESULT_TOPOLOGY_CHANGE_NOT_ALLOWED 14
40#define SUPLA_CALCFG_SUPLET_RESULT_DEFINITION_CANNOT_BE_CHANGED 15
41#define SUPLA_CALCFG_SUPLET_RESULT_INVALID_DEFINITION 16
42#define SUPLA_CALCFG_SUPLET_RESULT_INSTANCE_NOT_FOUND 17
43#define SUPLA_CALCFG_SUPLET_RESULT_VERSION_MISMATCH 18
46#define SUPLA_CALCFG_SUPLET_PHASE_NONE 0
47#define SUPLA_CALCFG_SUPLET_PHASE_VALIDATE 1
48#define SUPLA_CALCFG_SUPLET_PHASE_TRANSFER_TEMPLATE 2
49#define SUPLA_CALCFG_SUPLET_PHASE_PARSE_TEMPLATE 3
50#define SUPLA_CALCFG_SUPLET_PHASE_VALIDATE_CONFIG 4
51#define SUPLA_CALCFG_SUPLET_PHASE_ALLOCATE_CHANNELS 5
52#define SUPLA_CALCFG_SUPLET_PHASE_SAVE_INSTANCE 6
53#define SUPLA_CALCFG_SUPLET_PHASE_RUNTIME_REFRESH 7
55#define SUPLA_CALCFG_SUPLET_CAPABILITY_MAX_ITEMS 4
56#define SUPLA_CALCFG_SUPLET_INSTANCE_LIST_MAX_ITEMS 6
57#define SUPLA_CALCFG_SUPLET_DEFINITION_LIST_MAX_ITEMS 8
58#define SUPLA_CALCFG_SUPLET_DATA_CHUNK_MAXSIZE 112
59#define SUPLA_CALCFG_SUPLET_TRANSFER_CHUNK_MAXSIZE 112
61#define SUPLA_CALCFG_SUPLET_DEFINITION_SOURCE_BUILTIN 1
62#define SUPLA_CALCFG_SUPLET_DEFINITION_SOURCE_CACHED 2
64#define SUPLA_CALCFG_SUPLET_TRANSFER_PART_DEFINITION 0
65#define SUPLA_CALCFG_SUPLET_TRANSFER_PART_CONFIG 1
66#define SUPLA_CALCFG_SUPLET_TRANSFER_PART_ARTIFACT 2
67#define SUPLA_CALCFG_SUPLET_INSTANCE_FLAG_KEEP_ARTIFACT 0x01
72 unsigned char Version;
73 unsigned char DetailCode;
76 unsigned char InstanceId;
77 unsigned char Reserved1;
78 unsigned char Reserved2;
79 unsigned char Reserved3;
80 unsigned _supla_int_t DefinitionId;
81 unsigned _supla_int16_t DefinitionVersion;
82 unsigned _supla_int16_t Required;
83 unsigned _supla_int16_t Available;
92 unsigned char Category;
94 unsigned char MinSchemaVersion;
95 unsigned char MaxSchemaVersion;
96 unsigned char HandlerVersion;
97 unsigned char MaxInstances;
98 unsigned char SupportsDownloadedDefinition;
99 unsigned char Reserved;
100 unsigned _supla_int_t DefinitionId;
101 unsigned _supla_int16_t MinDefinitionVersion;
102 unsigned _supla_int16_t MaxDefinitionVersion;
103 unsigned _supla_int_t MaxArtifactSize;
107 unsigned char Offset;
110 unsigned char Reserved;
112 Items[SUPLA_CALCFG_SUPLET_CAPABILITY_MAX_ITEMS];
116 unsigned _supla_int_t DefinitionId;
117 unsigned _supla_int16_t DefinitionVersion;
118 unsigned _supla_int16_t Size;
119 unsigned char Source;
120 unsigned char Reserved1;
121 unsigned char Reserved2;
122 unsigned char Reserved3;
126 unsigned char Offset;
129 unsigned char Reserved;
131 Items[SUPLA_CALCFG_SUPLET_DEFINITION_LIST_MAX_ITEMS];
135 unsigned _supla_int_t DefinitionId;
136 unsigned _supla_int16_t DefinitionVersion;
137 unsigned _supla_int16_t Offset;
138 unsigned char MaxSize;
139 unsigned char Reserved;
143 unsigned _supla_int_t DefinitionId;
144 unsigned _supla_int16_t DefinitionVersion;
145 unsigned _supla_int16_t Offset;
146 unsigned _supla_int16_t TotalSize;
147 unsigned char Source;
149 char Data[SUPLA_CALCFG_SUPLET_DATA_CHUNK_MAXSIZE];
153 unsigned char InstanceId;
154 unsigned char SubDeviceId;
155 unsigned char ChannelCount;
156 unsigned char Reserved;
157 unsigned _supla_int_t DefinitionId;
158 unsigned _supla_int16_t DefinitionVersion;
159 unsigned _supla_int16_t ConfigSize;
160 unsigned _supla_int_t Revision;
161 unsigned _supla_int_t ArtifactSize;
165 unsigned char Offset;
168 unsigned char Reserved;
170 Items[SUPLA_CALCFG_SUPLET_INSTANCE_LIST_MAX_ITEMS];
174 unsigned char InstanceId;
175 unsigned char Reserved1;
176 unsigned char Reserved2;
177 unsigned char Reserved3;
181 unsigned char InstanceId;
183 unsigned char Reserved1;
184 unsigned char Reserved2;
185 unsigned _supla_int_t Offset;
186 unsigned char MaxSize;
187 unsigned char Reserved3;
188 unsigned char Reserved4;
189 unsigned char Reserved5;
193 unsigned char InstanceId;
195 unsigned char Reserved1;
196 unsigned char Reserved2;
197 unsigned _supla_int_t Offset;
198 unsigned _supla_int_t TotalSize;
200 char Data[SUPLA_CALCFG_SUPLET_DATA_CHUNK_MAXSIZE];
204 unsigned _supla_int_t DefinitionId;
205 unsigned _supla_int16_t DefinitionVersion;
206 unsigned _supla_int16_t Size;
210 unsigned _supla_int_t DefinitionId;
211 unsigned _supla_int16_t DefinitionVersion;
212 unsigned _supla_int16_t Reserved;
216 unsigned char InstanceId;
218 unsigned char Reserved1;
219 unsigned char Reserved2;
220 unsigned _supla_int_t DefinitionId;
221 unsigned _supla_int16_t DefinitionVersion;
222 unsigned _supla_int16_t ConfigSize;
223 unsigned _supla_int_t Revision;
224 unsigned _supla_int_t ArtifactSize;
230 unsigned char Reserved1;
231 unsigned char Reserved2;
232 unsigned _supla_int_t Offset;
233 char Data[SUPLA_CALCFG_SUPLET_TRANSFER_CHUNK_MAXSIZE];
246static_assert((
unsigned int)10 ==
248static_assert((
unsigned int)124 ==
261 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
263 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
265 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
267 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
269 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
271 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
273 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
275 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
277 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
279 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
281 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
283 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
285 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
287 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
289 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
291 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
293 (
unsigned int)SUPLA_CALCFG_DATA_MAXSIZE);
Definition proto_suplet.h:91
Definition proto_suplet.h:106
Definition proto_suplet.h:203
Definition proto_suplet.h:142
Definition proto_suplet.h:134
Definition proto_suplet.h:115
Definition proto_suplet.h:125
Definition proto_suplet.h:209
Definition proto_suplet.h:215
Definition proto_suplet.h:192
Definition proto_suplet.h:180
Definition proto_suplet.h:152
Definition proto_suplet.h:164
Definition proto_suplet.h:173
Definition proto_suplet.h:86
Definition proto_suplet.h:71
Definition proto_suplet.h:227