3 * Copyright (c) 2021 Project CHIP Authors
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 // THIS FILE IS GENERATED BY ZAP
20 // Prevent multiple inclusion
23 #include "basic-types.h"
27 // Struct for BasicCommissioningInfo
28 typedef struct _BasicCommissioningInfo
30 uint32_t FailSafeExpiryLengthMs;
31 } EmberAfBasicCommissioningInfo;
33 // Struct for BlockThreshold
34 typedef struct _BlockThreshold
36 uint8_t blockThreshold;
38 uint32_t blockPeriodStartTime;
39 uint32_t blockPeriodDurationMinutes;
41 uint32_t standingCharge;
42 } EmberAfBlockThreshold;
44 // Struct for BlockThresholdSubPayload
45 typedef struct _BlockThresholdSubPayload
47 uint8_t tierNumberOfBlockThresholds;
48 uint8_t * blockThreshold;
49 } EmberAfBlockThresholdSubPayload;
51 // Struct for ChatParticipant
52 typedef struct _ChatParticipant
56 } EmberAfChatParticipant;
58 // Struct for ChatRoom
59 typedef struct _ChatRoom
65 // Struct for ConfigureReportingRecord
66 typedef struct _ConfigureReportingRecord
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;
77 // Struct for ConfigureReportingStatusRecord
78 typedef struct _ConfigureReportingStatusRecord
82 chip::AttributeId attributeId;
83 } EmberAfConfigureReportingStatusRecord;
85 // Struct for ContentLaunchAdditionalInfo
86 typedef struct _ContentLaunchAdditionalInfo
90 } EmberAfContentLaunchAdditionalInfo;
92 // Struct for ContentLaunchSearch
93 typedef struct _ContentLaunchSearch
96 uint8_t * searchWindowStart;
97 uint8_t * searchWindowEnd;
98 } EmberAfContentLaunchSearch;
100 // Struct for DebtPayload
101 typedef struct _DebtPayload
103 uint32_t collectionTime;
104 uint32_t amountCollected;
106 uint32_t outstandingDebt;
107 } EmberAfDebtPayload;
109 // Struct for DeviceInformationRecord
110 typedef struct _DeviceInformationRecord
112 uint64_t ieeeAddress;
113 chip::EndpointId endpointId;
117 uint8_t groupIdCount;
119 } EmberAfDeviceInformationRecord;
121 // Struct for DeviceType
122 typedef struct _DeviceType
124 chip::DeviceTypeId type;
128 // Struct for DiscoverAttributesInfoRecord
129 typedef struct _DiscoverAttributesInfoRecord
131 chip::AttributeId attributeId;
132 uint8_t attributeType;
133 } EmberAfDiscoverAttributesInfoRecord;
135 // Struct for EndpointInformationRecord
136 typedef struct _EndpointInformationRecord
138 uint16_t networkAddress;
139 chip::EndpointId endpointId;
143 } EmberAfEndpointInformationRecord;
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;
149 // Struct for EventConfigurationPayload
150 typedef struct _EventConfigurationPayload
153 uint8_t eventConfiguration;
154 } EmberAfEventConfigurationPayload;
156 // Struct for EventLogPayload
157 typedef struct _EventLogPayload
163 } EmberAfEventLogPayload;
165 // Struct for ExtendedDiscoverAttributesInfoRecord
166 typedef struct _ExtendedDiscoverAttributesInfoRecord
168 chip::AttributeId attributeId;
169 uint8_t attributeType;
170 uint8_t attributeAccessControl;
171 } EmberAfExtendedDiscoverAttributesInfoRecord;
173 // Struct for GpPairingConfigurationGroupList
174 typedef struct _GpPairingConfigurationGroupList
178 } EmberAfGpPairingConfigurationGroupList;
180 // Struct for GpTranslationTableUpdateTranslation
181 typedef struct _GpTranslationTableUpdateTranslation
184 uint8_t gpdCommandId;
185 chip::EndpointId endpoint;
188 uint8_t zigbeeCommandId;
189 uint8_t * zigbeeCommandPayload;
190 uint8_t * additionalInfoBlock;
191 } EmberAfGpTranslationTableUpdateTranslation;
193 // Struct for GroupInformationRecord
194 typedef struct _GroupInformationRecord
196 chip::GroupId groupId;
198 } EmberAfGroupInformationRecord;
200 // Struct for GroupKeys
201 typedef struct _GroupKeys
204 uint16_t GroupKeyIndex;
205 /* TYPE WARNING: array array defaults to */ uint8_t * GroupKeyRoot;
206 uint64_t GroupKeyEpochStartTime;
207 uint8_t GroupKeySecurityPolicy;
210 // Struct for GroupState
211 typedef struct _GroupState
214 uint16_t VendorGroupId;
215 uint16_t GroupKeySetIndex;
218 // Struct for IasAceZoneStatusResult
219 typedef struct _IasAceZoneStatusResult
223 } EmberAfIasAceZoneStatusResult;
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;
229 // Struct for NeighborInfo
230 typedef struct _NeighborInfo
237 uint8_t numberRssiMeasurements;
238 } EmberAfNeighborInfo;
240 // Struct for NodeInformation
241 typedef struct _NodeInformation
245 chip::EndpointId endpoint;
247 } EmberAfNodeInformation;
249 // Struct for Notification
250 typedef struct _Notification
253 uint8_t statusFeedback;
254 } EmberAfNotification;
256 // Struct for PowerProfileRecord
257 typedef struct _PowerProfileRecord
259 uint8_t powerProfileId;
260 uint8_t energyPhaseId;
261 uint8_t powerProfileRemoteControl;
262 uint8_t powerProfileState;
263 } EmberAfPowerProfileRecord;
265 // Struct for PriceMatrixSubPayload
266 typedef struct _PriceMatrixSubPayload
270 } EmberAfPriceMatrixSubPayload;
272 // Struct for Protocol
273 typedef struct _Protocol
275 uint16_t manufacturerCode;
279 // Struct for ReadAttributeStatusRecord
280 typedef struct _ReadAttributeStatusRecord
282 chip::AttributeId attributeId;
284 uint8_t attributeType;
285 uint8_t * attributeLocation;
286 } EmberAfReadAttributeStatusRecord;
288 // Struct for ReadReportingConfigurationAttributeRecord
289 typedef struct _ReadReportingConfigurationAttributeRecord
292 chip::AttributeId attributeId;
293 } EmberAfReadReportingConfigurationAttributeRecord;
295 // Struct for ReadReportingConfigurationRecord
296 typedef struct _ReadReportingConfigurationRecord
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;
308 // Struct for ReadStructuredAttributeRecord
309 typedef struct _ReadStructuredAttributeRecord
311 chip::AttributeId attributeId;
314 } EmberAfReadStructuredAttributeRecord;
316 // Struct for ReportAttributeRecord
317 typedef struct _ReportAttributeRecord
319 chip::AttributeId attributeId;
320 uint8_t attributeType;
321 uint8_t * attributeLocation;
322 } EmberAfReportAttributeRecord;
324 // Struct for SceneExtensionAttributeInfo
325 typedef struct _SceneExtensionAttributeInfo
327 uint8_t attributeType;
328 uint8_t * attributeLocation;
329 } EmberAfSceneExtensionAttributeInfo;
331 // Struct for SceneExtensionFieldSet
332 typedef struct _SceneExtensionFieldSet
334 chip::ClusterId clusterId;
337 } EmberAfSceneExtensionFieldSet;
339 // Struct for ScheduleEntry
340 typedef struct _ScheduleEntry
343 uint8_t activePriceTierOrFriendlyCreditEnable;
344 } EmberAfScheduleEntry;
346 // Struct for ScheduleEntryAuxilliaryLoadSwitchTimes
347 typedef struct _ScheduleEntryAuxilliaryLoadSwitchTimes
350 uint8_t auxiliaryLoadSwitchState;
351 } EmberAfScheduleEntryAuxilliaryLoadSwitchTimes;
353 // Struct for ScheduleEntryFriendlyCreditSwitchTimes
354 typedef struct _ScheduleEntryFriendlyCreditSwitchTimes
357 uint8_t friendlyCreditEnable;
358 } EmberAfScheduleEntryFriendlyCreditSwitchTimes;
360 // Struct for ScheduleEntryRateSwitchTimes
361 typedef struct _ScheduleEntryRateSwitchTimes
365 } EmberAfScheduleEntryRateSwitchTimes;
367 // Struct for ScheduledPhase
368 typedef struct _ScheduledPhase
370 uint8_t energyPhaseId;
371 uint16_t scheduledTime;
372 } EmberAfScheduledPhase;
374 // Struct for SeasonEntry
375 typedef struct _SeasonEntry
377 uint32_t seasonStartDate;
379 } EmberAfSeasonEntry;
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;
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;
389 // Struct for SnapshotResponsePayload
390 typedef struct _SnapshotResponsePayload
392 uint8_t snapshotScheduleId;
393 uint8_t snapshotScheduleConfirmation;
394 } EmberAfSnapshotResponsePayload;
396 // Struct for SnapshotSchedulePayload
397 typedef struct _SnapshotSchedulePayload
399 uint8_t snapshotScheduleId;
400 uint32_t snapshotStartTime;
401 uint32_t snapshotSchedule;
402 uint8_t snapshotPayloadType;
403 uint32_t snapshotCause;
404 } EmberAfSnapshotSchedulePayload;
406 // Struct for SpecialDay
407 typedef struct _SpecialDay
409 uint32_t specialDayDate;
413 // Struct for ThreadInterfaceScanResult
414 typedef struct _ThreadInterfaceScanResult
416 uint8_t * DiscoveryResponse;
417 } EmberAfThreadInterfaceScanResult;
419 // Struct for TierLabelsPayload
420 typedef struct _TierLabelsPayload
424 } EmberAfTierLabelsPayload;
426 // Struct for TopUpPayload
427 typedef struct _TopUpPayload
432 } EmberAfTopUpPayload;
434 // Struct for TransferredPhase
435 typedef struct _TransferredPhase
437 uint8_t energyPhaseId;
438 uint8_t macroPhaseId;
439 uint16_t expectedDuration;
442 uint16_t maxActivationDelay;
443 } EmberAfTransferredPhase;
445 // Struct for WiFiInterfaceScanResult
446 typedef struct _WiFiInterfaceScanResult
452 uint32_t FrequencyBand;
453 } EmberAfWiFiInterfaceScanResult;
455 // Struct for WriteAttributeRecord
456 typedef struct _WriteAttributeRecord
458 chip::AttributeId attributeId;
459 uint8_t attributeType;
460 uint8_t * attributeLocation;
461 } EmberAfWriteAttributeRecord;
463 // Struct for WriteAttributeStatusRecord
464 typedef struct _WriteAttributeStatusRecord
467 chip::AttributeId attributeId;
468 } EmberAfWriteAttributeStatusRecord;
470 // Struct for WriteStructuredAttributeRecord
471 typedef struct _WriteStructuredAttributeRecord
473 chip::AttributeId attributeId;
476 uint8_t attributeType;
477 uint8_t * attributeLocation;
478 } EmberAfWriteStructuredAttributeRecord;
480 // Struct for WriteStructuredAttributeStatusRecord
481 typedef struct _WriteStructuredAttributeStatusRecord
484 chip::AttributeId attributeId;
487 } EmberAfWriteStructuredAttributeStatusRecord;
489 // Struct for WwahBeaconSurvey
490 typedef struct _WwahBeaconSurvey
492 uint16_t deviceShort;
494 uint8_t classificationMask;
495 } EmberAfWwahBeaconSurvey;
497 // Struct for WwahClusterStatusToUseTC
498 typedef struct _WwahClusterStatusToUseTC
500 chip::ClusterId clusterId;
502 } EmberAfWwahClusterStatusToUseTC;