Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / src / darwin / Framework / CHIP / gen / endpoint_config.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 // Default values for the attributes longer than a pointer,
24 // in a form of a binary blob
25 // Separate block is generated for big-endian and little-endian cases.
26 #if BIGENDIAN_CPU
27 #define GENERATED_DEFAULTS                                                                                                         \
28     {                                                                                                                              \
29     }
30
31 #else // !BIGENDIAN_CPU
32 #define GENERATED_DEFAULTS                                                                                                         \
33     {                                                                                                                              \
34     }
35
36 #endif // BIGENDIAN_CPU
37
38 #define GENERATED_DEFAULTS_COUNT (0)
39
40 #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
41 #define ZAP_LONG_DEFAULTS_INDEX(index)                                                                                             \
42     {                                                                                                                              \
43         (uint8_t *) (&generatedDefaults[index])                                                                                    \
44     }
45 #define ZAP_MIN_MAX_DEFAULTS_INDEX(index)                                                                                          \
46     {                                                                                                                              \
47         (uint8_t *) (&minMaxDefault[index])                                                                                        \
48     }
49 #define ZAP_EMPTY_DEFAULT()                                                                                                        \
50     {                                                                                                                              \
51         (uint8_t *) 0                                                                                                              \
52     }
53 #define ZAP_SIMPLE_DEFAULT(x)                                                                                                      \
54     {                                                                                                                              \
55         (uint8_t *) x                                                                                                              \
56     }
57
58 // This is an array of EmberAfAttributeMinMaxValue structures.
59 #define GENERATED_MIN_MAX_DEFAULT_COUNT 0
60 #define GENERATED_MIN_MAX_DEFAULTS                                                                                                 \
61     {                                                                                                                              \
62     }
63
64 #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
65 // This is an array of EmberAfAttributeMetadata structures.
66 #define GENERATED_ATTRIBUTE_COUNT 14
67 #define GENERATED_ATTRIBUTES                                                                                                       \
68     {                                                                                                                              \
69         { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                                 \
70           ZAP_SIMPLE_DEFAULT(2) }, /* Identify (client): cluster revision */                                                       \
71             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
72               ZAP_SIMPLE_DEFAULT(3) }, /* Groups (client): cluster revision */                                                     \
73             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
74               ZAP_SIMPLE_DEFAULT(3) }, /* Scenes (client): cluster revision */                                                     \
75             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
76               ZAP_SIMPLE_DEFAULT(2) }, /* On/off (client): cluster revision */                                                     \
77             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
78               ZAP_SIMPLE_DEFAULT(3) }, /* Level Control (client): cluster revision */                                              \
79             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT) | ZAP_ATTRIBUTE_MASK(SINGLETON),                             \
80               ZAP_SIMPLE_DEFAULT(3) }, /* Basic (client): cluster revision */                                                      \
81             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
82               ZAP_SIMPLE_DEFAULT(0x0001) }, /* General Commissioning (client): cluster revision */                                 \
83             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
84               ZAP_SIMPLE_DEFAULT(3) }, /* Door Lock (client): cluster revision */                                                  \
85             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
86               ZAP_SIMPLE_DEFAULT(0x0001) }, /* Barrier Control (client): cluster revision */                                       \
87             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
88               ZAP_SIMPLE_DEFAULT(3) }, /* Color Control (client): cluster revision */                                              \
89             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
90               ZAP_SIMPLE_DEFAULT(3) }, /* Temperature Measurement (client): cluster revision */                                    \
91             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
92               ZAP_SIMPLE_DEFAULT(0x0001) }, /* Low Power (client): cluster revision */                                             \
93             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
94               ZAP_SIMPLE_DEFAULT(0x0001) }, /* Application Basic (client): cluster revision */                                     \
95             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(CLIENT),                                                             \
96               ZAP_SIMPLE_DEFAULT(0x0001) }, /* Binding (client): cluster revision */                                               \
97     }
98
99 // This is an array of EmberAfCluster structures.
100 #define ZAP_ATTRIBUTE_INDEX(index) ((EmberAfAttributeMetadata *) (&generatedAttributes[index]))
101
102 // Cluster function static arrays
103 #define GENERATED_FUNCTION_ARRAYS
104
105 #define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
106 #define GENERATED_CLUSTER_COUNT 14
107 #define GENERATED_CLUSTERS                                                                                                         \
108     {                                                                                                                              \
109         { 0x0003, ZAP_ATTRIBUTE_INDEX(0), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Identify (client) */    \
110             { 0x0004, ZAP_ATTRIBUTE_INDEX(1), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Groups (client) */  \
111             { 0x0005, ZAP_ATTRIBUTE_INDEX(2), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Scenes (client) */  \
112             { 0x0006, ZAP_ATTRIBUTE_INDEX(3), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: On/off (client) */  \
113             {                                                                                                                      \
114                 0x0008, ZAP_ATTRIBUTE_INDEX(4), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL                                               \
115             }, /* Endpoint: 1, Cluster: Level Control (client) */                                                                  \
116             { 0x0028, ZAP_ATTRIBUTE_INDEX(5), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL }, /* Endpoint: 1, Cluster: Basic (client) */   \
117             {                                                                                                                      \
118                 0x0030, ZAP_ATTRIBUTE_INDEX(6), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL                                               \
119             }, /* Endpoint: 1, Cluster: General Commissioning (client) */                                                          \
120             {                                                                                                                      \
121                 0x0101, ZAP_ATTRIBUTE_INDEX(7), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL                                               \
122             }, /* Endpoint: 1, Cluster: Door Lock (client) */                                                                      \
123             {                                                                                                                      \
124                 0x0103, ZAP_ATTRIBUTE_INDEX(8), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL                                               \
125             }, /* Endpoint: 1, Cluster: Barrier Control (client) */                                                                \
126             {                                                                                                                      \
127                 0x0300, ZAP_ATTRIBUTE_INDEX(9), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL                                               \
128             }, /* Endpoint: 1, Cluster: Color Control (client) */                                                                  \
129             {                                                                                                                      \
130                 0x0402, ZAP_ATTRIBUTE_INDEX(10), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL                                              \
131             }, /* Endpoint: 1, Cluster: Temperature Measurement (client) */                                                        \
132             {                                                                                                                      \
133                 0x0508, ZAP_ATTRIBUTE_INDEX(11), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL                                              \
134             }, /* Endpoint: 1, Cluster: Low Power (client) */                                                                      \
135             {                                                                                                                      \
136                 0x050D, ZAP_ATTRIBUTE_INDEX(12), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL                                              \
137             }, /* Endpoint: 1, Cluster: Application Basic (client) */                                                              \
138             {                                                                                                                      \
139                 0xF000, ZAP_ATTRIBUTE_INDEX(13), 1, 2, ZAP_CLUSTER_MASK(CLIENT), NULL                                              \
140             }, /* Endpoint: 1, Cluster: Binding (client) */                                                                        \
141     }
142
143 #define ZAP_CLUSTER_INDEX(index) ((EmberAfCluster *) (&generatedClusters[index]))
144
145 // This is an array of EmberAfEndpointType structures.
146 #define GENERATED_ENDPOINT_TYPES                                                                                                   \
147     {                                                                                                                              \
148         { ZAP_CLUSTER_INDEX(0), 14, 28 },                                                                                          \
149     }
150
151 // Largest attribute size is needed for various buffers
152 #define ATTRIBUTE_LARGEST (3)
153
154 // Total size of singleton attributes
155 #define ATTRIBUTE_SINGLETONS_SIZE (2)
156
157 // Total size of attribute storage
158 #define ATTRIBUTE_MAX_SIZE (28)
159
160 // Number of fixed endpoints
161 #define FIXED_ENDPOINT_COUNT (1)
162
163 // Array of endpoints that are supported, the data inside
164 // the array is the endpoint number.
165 #define FIXED_ENDPOINT_ARRAY                                                                                                       \
166     {                                                                                                                              \
167         0x0001                                                                                                                     \
168     }
169
170 // Array of profile ids
171 #define FIXED_PROFILE_IDS                                                                                                          \
172     {                                                                                                                              \
173         0x0103                                                                                                                     \
174     }
175
176 // Array of device ids
177 #define FIXED_DEVICE_IDS                                                                                                           \
178     {                                                                                                                              \
179         0                                                                                                                          \
180     }
181
182 // Array of device versions
183 #define FIXED_DEVICE_VERSIONS                                                                                                      \
184     {                                                                                                                              \
185         1                                                                                                                          \
186     }
187
188 // Array of endpoint types supported on each endpoint
189 #define FIXED_ENDPOINT_TYPES                                                                                                       \
190     {                                                                                                                              \
191         0                                                                                                                          \
192     }
193
194 // Array of networks supported on each endpoint
195 #define FIXED_NETWORKS                                                                                                             \
196     {                                                                                                                              \
197         0                                                                                                                          \
198     }
199
200 // Array of EmberAfCommandMetadata structs.
201 #define ZAP_COMMAND_MASK(mask) COMMAND_MASK_##mask
202 #define EMBER_AF_GENERATED_COMMAND_COUNT (114)
203 #define GENERATED_COMMANDS                                                                                                         \
204     {                                                                                                                              \
205         { 0x0003, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) },     /* Identify (client): Identify */                                 \
206             { 0x0003, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Identify (client): IdentifyQueryResponse */                    \
207             { 0x0003, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Identify (client): IdentifyQuery */                            \
208             { 0x0004, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Groups (client): AddGroup */                                   \
209             { 0x0004, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Groups (client): AddGroupResponse */                           \
210             { 0x0004, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Groups (client): ViewGroup */                                  \
211             { 0x0004, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Groups (client): ViewGroupResponse */                          \
212             { 0x0004, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Groups (client): GetGroupMembership */                         \
213             { 0x0004, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Groups (client): GetGroupMembershipResponse */                 \
214             { 0x0004, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Groups (client): RemoveGroup */                                \
215             { 0x0004, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Groups (client): RemoveGroupResponse */                        \
216             { 0x0004, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Groups (client): RemoveAllGroups */                            \
217             { 0x0004, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Groups (client): AddGroupIfIdentifying */                      \
218             { 0x0005, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Scenes (client): AddScene */                                   \
219             { 0x0005, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Scenes (client): AddSceneResponse */                           \
220             { 0x0005, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Scenes (client): ViewScene */                                  \
221             { 0x0005, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Scenes (client): ViewSceneResponse */                          \
222             { 0x0005, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Scenes (client): RemoveScene */                                \
223             { 0x0005, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Scenes (client): RemoveSceneResponse */                        \
224             { 0x0005, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Scenes (client): RemoveAllScenes */                            \
225             { 0x0005, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Scenes (client): RemoveAllScenesResponse */                    \
226             { 0x0005, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Scenes (client): StoreScene */                                 \
227             { 0x0005, 0x04, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Scenes (client): StoreSceneResponse */                         \
228             { 0x0005, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Scenes (client): RecallScene */                                \
229             { 0x0005, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Scenes (client): GetSceneMembership */                         \
230             { 0x0005, 0x06, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Scenes (client): GetSceneMembershipResponse */                 \
231             { 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (client): Off */                                        \
232             { 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (client): On */                                         \
233             { 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (client): Toggle */                                     \
234             { 0x0008, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (client): MoveToLevel */                         \
235             { 0x0008, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (client): Move */                                \
236             { 0x0008, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (client): Step */                                \
237             { 0x0008, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (client): Stop */                                \
238             { 0x0008, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (client): MoveToLevelWithOnOff */                \
239             { 0x0008, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (client): MoveWithOnOff */                       \
240             { 0x0008, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (client): StepWithOnOff */                       \
241             { 0x0008, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (client): StopWithOnOff */                       \
242             { 0x0028, 0x00, ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Basic (client): MfgSpecificPing */                             \
243             { 0x0028, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (client): StartUp */                                     \
244             { 0x0028, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (client): ShutDown */                                    \
245             { 0x0028, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (client): Leave */                                       \
246             { 0x0030, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* General Commissioning (client): SetFabric */                   \
247             { 0x0030, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* General Commissioning (client): SetFabricResponse */           \
248             { 0x0030, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* General Commissioning (client): ArmFailSafe */                 \
249             { 0x0030, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* General Commissioning (client): ArmFailSafeResponse */         \
250             { 0x0030, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* General Commissioning (client): CommissioningComplete */       \
251             { 0x0030, 0x07,                                                                                                        \
252               ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* General Commissioning (client): CommissioningCompleteResponse */             \
253             { 0x0101, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Door Lock (client): LockDoor */                                \
254             { 0x0101, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Door Lock (client): LockDoorResponse */                        \
255             { 0x0101, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Door Lock (client): UnlockDoor */                              \
256             { 0x0101, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Door Lock (client): UnlockDoorResponse */                      \
257             { 0x0101, 0x03,                                                                                                        \
258               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): UnlockWithTimeout */ \
259             {                                                                                                                      \
260                 0x0101, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
261             }, /* Door Lock (client): UnlockWithTimeoutResponse */                                                                 \
262             { 0x0101, 0x04,                                                                                                        \
263               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): GetLogRecord */      \
264             {                                                                                                                      \
265                 0x0101, 0x04, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
266             }, /* Door Lock (client): GetLogRecordResponse */                                                                      \
267             { 0x0101, 0x05,                                                                                                        \
268               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): SetPin */            \
269             { 0x0101, 0x05,                                                                                                        \
270               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): SetPinResponse */    \
271             { 0x0101, 0x06,                                                                                                        \
272               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): GetPin */            \
273             { 0x0101, 0x06,                                                                                                        \
274               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): GetPinResponse */    \
275             { 0x0101, 0x07,                                                                                                        \
276               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): ClearPin */          \
277             { 0x0101, 0x07,                                                                                                        \
278               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): ClearPinResponse */  \
279             { 0x0101, 0x08,                                                                                                        \
280               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): ClearAllPins */      \
281             {                                                                                                                      \
282                 0x0101, 0x08, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
283             },                   /* Door Lock (client): ClearAllPinsResponse */                                                    \
284             { 0x0101, 0x09, 0 }, /* Door Lock (client): SetUserStatusResponse */                                                   \
285             { 0x0101, 0x0A, 0 }, /* Door Lock (client): GetUserStatusResponse */                                                   \
286             {                                                                                                                      \
287                 0x0101, 0x0B, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
288             }, /* Door Lock (client): SetWeekdaySchedule */                                                                        \
289             {                                                                                                                      \
290                 0x0101, 0x0B, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
291             }, /* Door Lock (client): SetWeekdayScheduleResponse */                                                                \
292             {                                                                                                                      \
293                 0x0101, 0x0C, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
294             }, /* Door Lock (client): GetWeekdaySchedule */                                                                        \
295             {                                                                                                                      \
296                 0x0101, 0x0C, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
297             }, /* Door Lock (client): GetWeekdayScheduleResponse */                                                                \
298             {                                                                                                                      \
299                 0x0101, 0x0D, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
300             }, /* Door Lock (client): ClearWeekdaySchedule */                                                                      \
301             {                                                                                                                      \
302                 0x0101, 0x0D, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
303             }, /* Door Lock (client): ClearWeekdayScheduleResponse */                                                              \
304             {                                                                                                                      \
305                 0x0101, 0x0E, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
306             }, /* Door Lock (client): SetYeardaySchedule */                                                                        \
307             {                                                                                                                      \
308                 0x0101, 0x0E, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
309             }, /* Door Lock (client): SetYeardayScheduleResponse */                                                                \
310             {                                                                                                                      \
311                 0x0101, 0x0F, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
312             }, /* Door Lock (client): GetYeardaySchedule */                                                                        \
313             {                                                                                                                      \
314                 0x0101, 0x0F, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
315             }, /* Door Lock (client): GetYeardayScheduleResponse */                                                                \
316             {                                                                                                                      \
317                 0x0101, 0x10, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
318             }, /* Door Lock (client): ClearYeardaySchedule */                                                                      \
319             {                                                                                                                      \
320                 0x0101, 0x10, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
321             }, /* Door Lock (client): ClearYeardayScheduleResponse */                                                              \
322             {                                                                                                                      \
323                 0x0101, 0x11, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
324             }, /* Door Lock (client): SetHolidaySchedule */                                                                        \
325             {                                                                                                                      \
326                 0x0101, 0x11, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
327             }, /* Door Lock (client): SetHolidayScheduleResponse */                                                                \
328             {                                                                                                                      \
329                 0x0101, 0x12, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
330             }, /* Door Lock (client): GetHolidaySchedule */                                                                        \
331             {                                                                                                                      \
332                 0x0101, 0x12, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
333             }, /* Door Lock (client): GetHolidayScheduleResponse */                                                                \
334             {                                                                                                                      \
335                 0x0101, 0x13, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
336             }, /* Door Lock (client): ClearHolidaySchedule */                                                                      \
337             {                                                                                                                      \
338                 0x0101, 0x13, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
339             }, /* Door Lock (client): ClearHolidayScheduleResponse */                                                              \
340             { 0x0101, 0x14,                                                                                                        \
341               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): SetUserType */       \
342             {                                                                                                                      \
343                 0x0101, 0x14, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
344             }, /* Door Lock (client): SetUserTypeResponse */                                                                       \
345             { 0x0101, 0x15,                                                                                                        \
346               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): GetUserType */       \
347             {                                                                                                                      \
348                 0x0101, 0x15, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
349             }, /* Door Lock (client): GetUserTypeResponse */                                                                       \
350             { 0x0101, 0x16,                                                                                                        \
351               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): SetRfid */           \
352             { 0x0101, 0x16,                                                                                                        \
353               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): SetRfidResponse */   \
354             { 0x0101, 0x17,                                                                                                        \
355               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): GetRfid */           \
356             { 0x0101, 0x17,                                                                                                        \
357               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): GetRfidResponse */   \
358             { 0x0101, 0x18,                                                                                                        \
359               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): ClearRfid */         \
360             { 0x0101, 0x18,                                                                                                        \
361               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): ClearRfidResponse */ \
362             { 0x0101, 0x19,                                                                                                        \
363               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Door Lock (client): ClearAllRfids */     \
364             {                                                                                                                      \
365                 0x0101, 0x19, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
366             },                                                   /* Door Lock (client): ClearAllRfidsResponse */                   \
367             { 0x0103, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Barrier Control (client): BarrierControlGoToPercent */         \
368             { 0x0103, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Barrier Control (client): BarrierControlStop */                \
369             { 0x0300, 0x00,                                                                                                        \
370               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Color Control (client): MoveToHue */     \
371             { 0x0300, 0x01,                                                                                                        \
372               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Color Control (client): MoveHue */       \
373             { 0x0300, 0x02,                                                                                                        \
374               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Color Control (client): StepHue */       \
375             {                                                                                                                      \
376                 0x0300, 0x03, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
377             }, /* Color Control (client): MoveToSaturation */                                                                      \
378             {                                                                                                                      \
379                 0x0300, 0x04, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
380             }, /* Color Control (client): MoveSaturation */                                                                        \
381             {                                                                                                                      \
382                 0x0300, 0x05, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
383             }, /* Color Control (client): StepSaturation */                                                                        \
384             {                                                                                                                      \
385                 0x0300, 0x06, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
386             },                                                   /* Color Control (client): MoveToHueAndSaturation */              \
387             { 0x0300, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Color Control (client): MoveToColor */                         \
388             { 0x0300, 0x08, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Color Control (client): MoveColor */                           \
389             { 0x0300, 0x09, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Color Control (client): StepColor */                           \
390             {                                                                                                                      \
391                 0x0300, 0x0A, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
392             }, /* Color Control (client): MoveToColorTemperature */                                                                \
393             { 0x0300, 0x47,                                                                                                        \
394               ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT) }, /* Color Control (client): StopMoveStep */  \
395             {                                                                                                                      \
396                 0x0300, 0x4B, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
397             }, /* Color Control (client): MoveColorTemperature */                                                                  \
398             {                                                                                                                      \
399                 0x0300, 0x4C, ZAP_COMMAND_MASK(INCOMING_CLIENT) | ZAP_COMMAND_MASK(OUTGOING_CLIENT)                                \
400             },                                                   /* Color Control (client): StepColorTemperature */                \
401             { 0x0508, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Low Power (client): Sleep */                                   \
402             { 0xF000, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Binding (client): Bind */                                      \
403             { 0xF000, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Binding (client): Unbind */                                    \
404     }
405
406 // Array of EmberAfManufacturerCodeEntry structures for commands.
407 #define GENERATED_COMMAND_MANUFACTURER_CODE_COUNT (1)
408 #define GENERATED_COMMAND_MANUFACTURER_CODES                                                                                       \
409     {                                                                                                                              \
410         { 37, 4098 },                                                                                                              \
411     }
412
413 // This is an array of EmberAfManufacturerCodeEntry structures for clusters.
414 #define GENERATED_CLUSTER_MANUFACTURER_CODE_COUNT (0)
415 #define GENERATED_CLUSTER_MANUFACTURER_CODES                                                                                       \
416     {                                                                                                                              \
417         {                                                                                                                          \
418             0x00, 0x00                                                                                                             \
419         }                                                                                                                          \
420     }
421
422 // This is an array of EmberAfManufacturerCodeEntry structures for attributes.
423 #define GENERATED_ATTRIBUTE_MANUFACTURER_CODE_COUNT (0)
424 #define GENERATED_ATTRIBUTE_MANUFACTURER_CODES                                                                                     \
425     {                                                                                                                              \
426         {                                                                                                                          \
427             0x00, 0x00                                                                                                             \
428         }                                                                                                                          \
429     }
430
431 // Array of EmberAfPluginReportingEntry structures.
432 #define ZRD(x) EMBER_ZCL_REPORTING_DIRECTION_##x
433 #define ZAP_REPORT_DIRECTION(x) ZRD(x)
434
435 // User options for plugin Reporting
436 #define EMBER_AF_PLUGIN_REPORTING_TABLE_SIZE (0)
437 #define EMBER_AF_PLUGIN_REPORTING_ENABLE_GROUP_BOUND_REPORTS
438
439 #define EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS_TABLE_SIZE (0)
440 #define EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS                                                                               \
441     {                                                                                                                              \
442     }