Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / examples / tv-app / tv-common / gen / af-structs.h
1 /*
2  *
3  *    Copyright (c) 2021 Project CHIP Authors
4  *
5  *    Licensed under the Apache License, Version 2.0 (the "License");
6  *    you may not use this file except in compliance with the License.
7  *    You may obtain a copy of the License at
8  *
9  *        http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *    Unless required by applicable law or agreed to in writing, software
12  *    distributed under the License is distributed on an "AS IS" BASIS,
13  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *    See the License for the specific language governing permissions and
15  *    limitations under the License.
16  */
17
18 // THIS FILE IS GENERATED BY ZAP
19
20 // Prevent multiple inclusion
21 #pragma once
22
23 #include "basic-types.h"
24 #include "enums.h"
25 #include <stdint.h>
26
27 // Struct for BasicCommissioningInfo
28 typedef struct _BasicCommissioningInfo
29 {
30     uint32_t FailSafeExpiryLengthMs;
31 } EmberAfBasicCommissioningInfo;
32
33 // Struct for BlockThreshold
34 typedef struct _BlockThreshold
35 {
36     uint8_t blockThreshold;
37     uint8_t priceControl;
38     uint32_t blockPeriodStartTime;
39     uint32_t blockPeriodDurationMinutes;
40     uint8_t fuelType;
41     uint32_t standingCharge;
42 } EmberAfBlockThreshold;
43
44 // Struct for BlockThresholdSubPayload
45 typedef struct _BlockThresholdSubPayload
46 {
47     uint8_t tierNumberOfBlockThresholds;
48     uint8_t * blockThreshold;
49 } EmberAfBlockThresholdSubPayload;
50
51 // Struct for ChatParticipant
52 typedef struct _ChatParticipant
53 {
54     uint16_t uid;
55     uint8_t * nickname;
56 } EmberAfChatParticipant;
57
58 // Struct for ChatRoom
59 typedef struct _ChatRoom
60 {
61     uint16_t cid;
62     uint8_t * name;
63 } EmberAfChatRoom;
64
65 // Struct for ConfigureReportingRecord
66 typedef struct _ConfigureReportingRecord
67 {
68     uint8_t direction;
69     chip::AttributeId attributeId;
70     uint8_t attributeType;
71     uint16_t minimumReportingInterval;
72     uint16_t maximumReportingInterval;
73     uint8_t * reportableChangeLocation;
74     uint16_t timeoutPeriod;
75 } EmberAfConfigureReportingRecord;
76
77 // Struct for ConfigureReportingStatusRecord
78 typedef struct _ConfigureReportingStatusRecord
79 {
80     uint8_t status;
81     uint8_t direction;
82     chip::AttributeId attributeId;
83 } EmberAfConfigureReportingStatusRecord;
84
85 // Struct for ContentLaunchAdditionalInfo
86 typedef struct _ContentLaunchAdditionalInfo
87 {
88     uint8_t * Name;
89     uint8_t * Value;
90 } EmberAfContentLaunchAdditionalInfo;
91
92 // Struct for ContentLaunchSearch
93 typedef struct _ContentLaunchSearch
94 {
95     uint8_t EntitiesList;
96     uint8_t * searchWindowStart;
97     uint8_t * searchWindowEnd;
98 } EmberAfContentLaunchSearch;
99
100 // Struct for DebtPayload
101 typedef struct _DebtPayload
102 {
103     uint32_t collectionTime;
104     uint32_t amountCollected;
105     uint8_t debtType;
106     uint32_t outstandingDebt;
107 } EmberAfDebtPayload;
108
109 // Struct for DeviceInformationRecord
110 typedef struct _DeviceInformationRecord
111 {
112     uint64_t ieeeAddress;
113     chip::EndpointId endpointId;
114     uint16_t profileId;
115     uint16_t deviceId;
116     uint8_t version;
117     uint8_t groupIdCount;
118     uint8_t sort;
119 } EmberAfDeviceInformationRecord;
120
121 // Struct for DeviceType
122 typedef struct _DeviceType
123 {
124     chip::DeviceTypeId type;
125     uint16_t revision;
126 } EmberAfDeviceType;
127
128 // Struct for DiscoverAttributesInfoRecord
129 typedef struct _DiscoverAttributesInfoRecord
130 {
131     chip::AttributeId attributeId;
132     uint8_t attributeType;
133 } EmberAfDiscoverAttributesInfoRecord;
134
135 // Struct for EndpointInformationRecord
136 typedef struct _EndpointInformationRecord
137 {
138     uint16_t networkAddress;
139     chip::EndpointId endpointId;
140     uint16_t profileId;
141     uint16_t deviceId;
142     uint8_t version;
143 } EmberAfEndpointInformationRecord;
144
145 // Void typedef for EmberAfEphemeralData which is empty.
146 // this will result in all the references to the data being as uint8_t*
147 typedef uint8_t EmberAfEphemeralData;
148
149 // Struct for EventConfigurationPayload
150 typedef struct _EventConfigurationPayload
151 {
152     uint16_t eventId;
153     uint8_t eventConfiguration;
154 } EmberAfEventConfigurationPayload;
155
156 // Struct for EventLogPayload
157 typedef struct _EventLogPayload
158 {
159     uint8_t logId;
160     uint16_t eventId;
161     uint32_t eventTime;
162     uint8_t * eventData;
163 } EmberAfEventLogPayload;
164
165 // Struct for ExtendedDiscoverAttributesInfoRecord
166 typedef struct _ExtendedDiscoverAttributesInfoRecord
167 {
168     chip::AttributeId attributeId;
169     uint8_t attributeType;
170     uint8_t attributeAccessControl;
171 } EmberAfExtendedDiscoverAttributesInfoRecord;
172
173 // Struct for GpPairingConfigurationGroupList
174 typedef struct _GpPairingConfigurationGroupList
175 {
176     uint16_t SinkGroup;
177     uint16_t Alias;
178 } EmberAfGpPairingConfigurationGroupList;
179
180 // Struct for GpTranslationTableUpdateTranslation
181 typedef struct _GpTranslationTableUpdateTranslation
182 {
183     uint8_t index;
184     uint8_t gpdCommandId;
185     chip::EndpointId endpoint;
186     uint16_t profile;
187     uint16_t cluster;
188     uint8_t zigbeeCommandId;
189     uint8_t * zigbeeCommandPayload;
190     uint8_t * additionalInfoBlock;
191 } EmberAfGpTranslationTableUpdateTranslation;
192
193 // Struct for GroupInformationRecord
194 typedef struct _GroupInformationRecord
195 {
196     chip::GroupId groupId;
197     uint8_t groupType;
198 } EmberAfGroupInformationRecord;
199
200 // Struct for GroupKeys
201 typedef struct _GroupKeys
202 {
203     uint16_t VendorId;
204     uint16_t GroupKeyIndex;
205     /* TYPE WARNING: array array defaults to */ uint8_t * GroupKeyRoot;
206     uint64_t GroupKeyEpochStartTime;
207     uint8_t GroupKeySecurityPolicy;
208 } EmberAfGroupKeys;
209
210 // Struct for GroupState
211 typedef struct _GroupState
212 {
213     uint16_t VendorId;
214     uint16_t VendorGroupId;
215     uint16_t GroupKeySetIndex;
216 } EmberAfGroupState;
217
218 // Struct for IasAceZoneStatusResult
219 typedef struct _IasAceZoneStatusResult
220 {
221     uint8_t zoneId;
222     uint16_t zoneStatus;
223 } EmberAfIasAceZoneStatusResult;
224
225 // Void typedef for EmberAfIdentity which is empty.
226 // this will result in all the references to the data being as uint8_t*
227 typedef uint8_t EmberAfIdentity;
228
229 // Struct for NeighborInfo
230 typedef struct _NeighborInfo
231 {
232     uint64_t neighbor;
233     int16_t x;
234     int16_t y;
235     int16_t z;
236     int8_t rssi;
237     uint8_t numberRssiMeasurements;
238 } EmberAfNeighborInfo;
239
240 // Struct for NodeInformation
241 typedef struct _NodeInformation
242 {
243     uint16_t uid;
244     uint16_t address;
245     chip::EndpointId endpoint;
246     uint8_t * nickname;
247 } EmberAfNodeInformation;
248
249 // Struct for Notification
250 typedef struct _Notification
251 {
252     uint16_t contentId;
253     uint8_t statusFeedback;
254 } EmberAfNotification;
255
256 // Struct for PowerProfileRecord
257 typedef struct _PowerProfileRecord
258 {
259     uint8_t powerProfileId;
260     uint8_t energyPhaseId;
261     uint8_t powerProfileRemoteControl;
262     uint8_t powerProfileState;
263 } EmberAfPowerProfileRecord;
264
265 // Struct for PriceMatrixSubPayload
266 typedef struct _PriceMatrixSubPayload
267 {
268     uint8_t tierBlockId;
269     uint32_t price;
270 } EmberAfPriceMatrixSubPayload;
271
272 // Struct for Protocol
273 typedef struct _Protocol
274 {
275     uint16_t manufacturerCode;
276     uint8_t protocolId;
277 } EmberAfProtocol;
278
279 // Struct for ReadAttributeStatusRecord
280 typedef struct _ReadAttributeStatusRecord
281 {
282     chip::AttributeId attributeId;
283     uint8_t status;
284     uint8_t attributeType;
285     uint8_t * attributeLocation;
286 } EmberAfReadAttributeStatusRecord;
287
288 // Struct for ReadReportingConfigurationAttributeRecord
289 typedef struct _ReadReportingConfigurationAttributeRecord
290 {
291     uint8_t direction;
292     chip::AttributeId attributeId;
293 } EmberAfReadReportingConfigurationAttributeRecord;
294
295 // Struct for ReadReportingConfigurationRecord
296 typedef struct _ReadReportingConfigurationRecord
297 {
298     uint8_t status;
299     uint8_t direction;
300     chip::AttributeId attributeId;
301     uint8_t attributeType;
302     uint16_t minimumReportingInterval;
303     uint16_t maximumReportingInterval;
304     uint8_t * reportableChangeLocation;
305     uint16_t timeoutPeriod;
306 } EmberAfReadReportingConfigurationRecord;
307
308 // Struct for ReadStructuredAttributeRecord
309 typedef struct _ReadStructuredAttributeRecord
310 {
311     chip::AttributeId attributeId;
312     uint8_t indicator;
313     uint16_t indicies;
314 } EmberAfReadStructuredAttributeRecord;
315
316 // Struct for ReportAttributeRecord
317 typedef struct _ReportAttributeRecord
318 {
319     chip::AttributeId attributeId;
320     uint8_t attributeType;
321     uint8_t * attributeLocation;
322 } EmberAfReportAttributeRecord;
323
324 // Struct for SceneExtensionAttributeInfo
325 typedef struct _SceneExtensionAttributeInfo
326 {
327     uint8_t attributeType;
328     uint8_t * attributeLocation;
329 } EmberAfSceneExtensionAttributeInfo;
330
331 // Struct for SceneExtensionFieldSet
332 typedef struct _SceneExtensionFieldSet
333 {
334     chip::ClusterId clusterId;
335     uint8_t length;
336     uint8_t value;
337 } EmberAfSceneExtensionFieldSet;
338
339 // Struct for ScheduleEntry
340 typedef struct _ScheduleEntry
341 {
342     uint16_t startTime;
343     uint8_t activePriceTierOrFriendlyCreditEnable;
344 } EmberAfScheduleEntry;
345
346 // Struct for ScheduleEntryAuxilliaryLoadSwitchTimes
347 typedef struct _ScheduleEntryAuxilliaryLoadSwitchTimes
348 {
349     uint16_t startTime;
350     uint8_t auxiliaryLoadSwitchState;
351 } EmberAfScheduleEntryAuxilliaryLoadSwitchTimes;
352
353 // Struct for ScheduleEntryFriendlyCreditSwitchTimes
354 typedef struct _ScheduleEntryFriendlyCreditSwitchTimes
355 {
356     uint16_t startTime;
357     uint8_t friendlyCreditEnable;
358 } EmberAfScheduleEntryFriendlyCreditSwitchTimes;
359
360 // Struct for ScheduleEntryRateSwitchTimes
361 typedef struct _ScheduleEntryRateSwitchTimes
362 {
363     uint16_t startTime;
364     uint8_t priceTier;
365 } EmberAfScheduleEntryRateSwitchTimes;
366
367 // Struct for ScheduledPhase
368 typedef struct _ScheduledPhase
369 {
370     uint8_t energyPhaseId;
371     uint16_t scheduledTime;
372 } EmberAfScheduledPhase;
373
374 // Struct for SeasonEntry
375 typedef struct _SeasonEntry
376 {
377     uint32_t seasonStartDate;
378     uint8_t weekIdRef;
379 } EmberAfSeasonEntry;
380
381 // Void typedef for EmberAfSignature which is empty.
382 // this will result in all the references to the data being as uint8_t*
383 typedef uint8_t EmberAfSignature;
384
385 // Void typedef for EmberAfSmac which is empty.
386 // this will result in all the references to the data being as uint8_t*
387 typedef uint8_t EmberAfSmac;
388
389 // Struct for SnapshotResponsePayload
390 typedef struct _SnapshotResponsePayload
391 {
392     uint8_t snapshotScheduleId;
393     uint8_t snapshotScheduleConfirmation;
394 } EmberAfSnapshotResponsePayload;
395
396 // Struct for SnapshotSchedulePayload
397 typedef struct _SnapshotSchedulePayload
398 {
399     uint8_t snapshotScheduleId;
400     uint32_t snapshotStartTime;
401     uint32_t snapshotSchedule;
402     uint8_t snapshotPayloadType;
403     uint32_t snapshotCause;
404 } EmberAfSnapshotSchedulePayload;
405
406 // Struct for SpecialDay
407 typedef struct _SpecialDay
408 {
409     uint32_t specialDayDate;
410     uint8_t dayIdRef;
411 } EmberAfSpecialDay;
412
413 // Struct for ThreadInterfaceScanResult
414 typedef struct _ThreadInterfaceScanResult
415 {
416     uint8_t * DiscoveryResponse;
417 } EmberAfThreadInterfaceScanResult;
418
419 // Struct for TierLabelsPayload
420 typedef struct _TierLabelsPayload
421 {
422     uint8_t tierId;
423     uint8_t * tierLabel;
424 } EmberAfTierLabelsPayload;
425
426 // Struct for TopUpPayload
427 typedef struct _TopUpPayload
428 {
429     uint8_t * topUpCode;
430     int32_t topUpAmount;
431     uint32_t topUpTime;
432 } EmberAfTopUpPayload;
433
434 // Struct for TransferredPhase
435 typedef struct _TransferredPhase
436 {
437     uint8_t energyPhaseId;
438     uint8_t macroPhaseId;
439     uint16_t expectedDuration;
440     uint16_t peakPower;
441     uint16_t energy;
442     uint16_t maxActivationDelay;
443 } EmberAfTransferredPhase;
444
445 // Struct for WiFiInterfaceScanResult
446 typedef struct _WiFiInterfaceScanResult
447 {
448     uint8_t Security;
449     uint8_t * SSID;
450     uint8_t * BSSID;
451     uint8_t Channel;
452     uint32_t FrequencyBand;
453 } EmberAfWiFiInterfaceScanResult;
454
455 // Struct for WriteAttributeRecord
456 typedef struct _WriteAttributeRecord
457 {
458     chip::AttributeId attributeId;
459     uint8_t attributeType;
460     uint8_t * attributeLocation;
461 } EmberAfWriteAttributeRecord;
462
463 // Struct for WriteAttributeStatusRecord
464 typedef struct _WriteAttributeStatusRecord
465 {
466     uint8_t status;
467     chip::AttributeId attributeId;
468 } EmberAfWriteAttributeStatusRecord;
469
470 // Struct for WriteStructuredAttributeRecord
471 typedef struct _WriteStructuredAttributeRecord
472 {
473     chip::AttributeId attributeId;
474     uint8_t indicator;
475     uint16_t indicies;
476     uint8_t attributeType;
477     uint8_t * attributeLocation;
478 } EmberAfWriteStructuredAttributeRecord;
479
480 // Struct for WriteStructuredAttributeStatusRecord
481 typedef struct _WriteStructuredAttributeStatusRecord
482 {
483     uint8_t status;
484     chip::AttributeId attributeId;
485     uint8_t indicator;
486     uint16_t indicies;
487 } EmberAfWriteStructuredAttributeStatusRecord;
488
489 // Struct for WwahBeaconSurvey
490 typedef struct _WwahBeaconSurvey
491 {
492     uint16_t deviceShort;
493     uint8_t rssi;
494     uint8_t classificationMask;
495 } EmberAfWwahBeaconSurvey;
496
497 // Struct for WwahClusterStatusToUseTC
498 typedef struct _WwahClusterStatusToUseTC
499 {
500     chip::ClusterId clusterId;
501     uint8_t status;
502 } EmberAfWwahClusterStatusToUseTC;