Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / examples / bridge-app / bridge-common / 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         /* 0 - Default for cluster: "Basic", attribute: "VendorName". side: server, big-endian */                                  \
30         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    \
31             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                \
32                                                                                                                                    \
33             /* 32 - Default for cluster: "Basic", attribute: "ProductName". side: server, big-endian */                            \
34             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
35             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
36                                                                                                                                    \
37             /* 64 - Default for cluster: "Basic", attribute: "UserLabel". side: server, big-endian */                              \
38             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
39             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
40                                                                                                                                    \
41             /* 96 - Default for cluster: "Basic", attribute: "Location". side: server, big-endian */                               \
42             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                        \
43                                                                                                                                    \
44             /* 112 - Default for cluster: "Basic", attribute: "HardwareVersionString". side: server, big-endian */                 \
45             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
46             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
47             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
48             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                              \
49                                                                                                                                    \
50             /* 176 - Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, big-endian */                       \
51             0x00, 0x00, 0x00, 0x00,                                                                                                \
52                                                                                                                                    \
53             /* 180 - Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, big-endian */                 \
54             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
55             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
56             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
57             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                              \
58                                                                                                                                    \
59             /* 244 - Default for cluster: "Basic", attribute: "VendorName". side: server, big-endian */                            \
60             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
61             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
62                                                                                                                                    \
63             /* 276 - Default for cluster: "Basic", attribute: "ProductName". side: server, big-endian */                           \
64             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
65             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
66                                                                                                                                    \
67             /* 308 - Default for cluster: "Basic", attribute: "UserLabel". side: server, big-endian */                             \
68             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
69             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
70                                                                                                                                    \
71             /* 340 - Default for cluster: "Basic", attribute: "Location". side: server, big-endian */                              \
72             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                        \
73                                                                                                                                    \
74             /* 356 - Default for cluster: "Basic", attribute: "HardwareVersionString". side: server, big-endian */                 \
75             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
76             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
77             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
78             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                              \
79                                                                                                                                    \
80             /* 420 - Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, big-endian */                       \
81             0x00, 0x00, 0x00, 0x00,                                                                                                \
82                                                                                                                                    \
83             /* 424 - Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, big-endian */                 \
84             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
85             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
86             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
87             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                              \
88     }
89
90 #else // !BIGENDIAN_CPU
91 #define GENERATED_DEFAULTS                                                                                                         \
92     {                                                                                                                              \
93         /* 0 - Default for cluster: "Basic", attribute: "VendorName". side: server, little-endian */                               \
94         0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    \
95             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                \
96                                                                                                                                    \
97             /* 32 - Default for cluster: "Basic", attribute: "ProductName". side: server, little-endian */                         \
98             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
99             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
100                                                                                                                                    \
101             /* 64 - Default for cluster: "Basic", attribute: "UserLabel". side: server, little-endian */                           \
102             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
103             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
104                                                                                                                                    \
105             /* 96 - Default for cluster: "Basic", attribute: "Location". side: server, little-endian */                            \
106             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                        \
107                                                                                                                                    \
108             /* 112 - Default for cluster: "Basic", attribute: "HardwareVersionString". side: server, little-endian */              \
109             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
110             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
111             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
112             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                              \
113                                                                                                                                    \
114             /* 176 - Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, little-endian */                    \
115             0x00, 0x00, 0x00, 0x00,                                                                                                \
116                                                                                                                                    \
117             /* 180 - Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, little-endian */              \
118             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
119             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
120             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
121             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                              \
122                                                                                                                                    \
123             /* 244 - Default for cluster: "Basic", attribute: "VendorName". side: server, little-endian */                         \
124             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
125             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
126                                                                                                                                    \
127             /* 276 - Default for cluster: "Basic", attribute: "ProductName". side: server, little-endian */                        \
128             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
129             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
130                                                                                                                                    \
131             /* 308 - Default for cluster: "Basic", attribute: "UserLabel". side: server, little-endian */                          \
132             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
133             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                          \
134                                                                                                                                    \
135             /* 340 - Default for cluster: "Basic", attribute: "Location". side: server, little-endian */                           \
136             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                        \
137                                                                                                                                    \
138             /* 356 - Default for cluster: "Basic", attribute: "HardwareVersionString". side: server, little-endian */              \
139             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
140             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
141             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
142             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                              \
143                                                                                                                                    \
144             /* 420 - Default for cluster: "Basic", attribute: "SoftwareVersion". side: server, little-endian */                    \
145             0x00, 0x00, 0x00, 0x00,                                                                                                \
146                                                                                                                                    \
147             /* 424 - Default for cluster: "Basic", attribute: "SoftwareVersionString". side: server, little-endian */              \
148             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
149             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
150             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,      \
151             0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                                                              \
152     }
153
154 #endif // BIGENDIAN_CPU
155
156 #define GENERATED_DEFAULTS_COUNT (14)
157
158 #define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
159 #define ZAP_LONG_DEFAULTS_INDEX(index)                                                                                             \
160     {                                                                                                                              \
161         (uint8_t *) (&generatedDefaults[index])                                                                                    \
162     }
163 #define ZAP_MIN_MAX_DEFAULTS_INDEX(index)                                                                                          \
164     {                                                                                                                              \
165         (uint8_t *) (&minMaxDefault[index])                                                                                        \
166     }
167 #define ZAP_EMPTY_DEFAULT()                                                                                                        \
168     {                                                                                                                              \
169         (uint8_t *) 0                                                                                                              \
170     }
171 #define ZAP_SIMPLE_DEFAULT(x)                                                                                                      \
172     {                                                                                                                              \
173         (uint8_t *) x                                                                                                              \
174     }
175
176 // This is an array of EmberAfAttributeMinMaxValue structures.
177 #define GENERATED_MIN_MAX_DEFAULT_COUNT 0
178 #define GENERATED_MIN_MAX_DEFAULTS                                                                                                 \
179     {                                                                                                                              \
180     }
181
182 #define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
183 // This is an array of EmberAfAttributeMetadata structures.
184 #define GENERATED_ATTRIBUTE_COUNT 51
185 #define GENERATED_ATTRIBUTES                                                                                                       \
186     {                                                                                                                              \
187         { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0001) },    /* Network Commissioning (server): cluster revision */  \
188             { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) },     /* On/off (server): cluster revision */                 \
189             { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* On/off (server): on/off */                           \
190             { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) },     /* Level Control (server): cluster revision */          \
191             { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) },   /* Level Control (server): current level */             \
192             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                          \
193               ZAP_SIMPLE_DEFAULT(3) }, /* Basic (server): cluster revision */                                                      \
194             { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                          \
195               ZAP_EMPTY_DEFAULT() }, /* Basic (server): InteractionModelVersion */                                                 \
196             { 0x0001, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                    \
197               ZAP_LONG_DEFAULTS_INDEX(0) },                                                      /* Basic (server): VendorName */  \
198             { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* Basic (server): VendorID */    \
199             { 0x0003, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                    \
200               ZAP_LONG_DEFAULTS_INDEX(32) },                                                     /* Basic (server): ProductName */ \
201             { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* Basic (server): ProductID */   \
202             { 0x0005, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE),                     \
203               ZAP_LONG_DEFAULTS_INDEX(64) }, /* Basic (server): UserLabel */                                                       \
204             { 0x0006, ZAP_TYPE(CHAR_STRING), 16, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE),                     \
205               ZAP_LONG_DEFAULTS_INDEX(96) }, /* Basic (server): Location */                                                        \
206             { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                          \
207               ZAP_SIMPLE_DEFAULT(0x00) }, /* Basic (server): HardwareVersion */                                                    \
208             { 0x0008, ZAP_TYPE(CHAR_STRING), 64, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                    \
209               ZAP_LONG_DEFAULTS_INDEX(112) }, /* Basic (server): HardwareVersionString */                                          \
210             { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                          \
211               ZAP_LONG_DEFAULTS_INDEX(176) }, /* Basic (server): SoftwareVersion */                                                \
212             { 0x000A, ZAP_TYPE(CHAR_STRING), 64, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                    \
213               ZAP_LONG_DEFAULTS_INDEX(180) },                              /* Basic (server): SoftwareVersionString */             \
214             { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) },     /* On/off (server): cluster revision */                 \
215             { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* On/off (server): on/off */                           \
216             { 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                            \
217               ZAP_EMPTY_DEFAULT() },                                       /* On/off (server): start up on off */                  \
218             { 0x4000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* On/off (server): global scene control */             \
219             { 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                           \
220               ZAP_SIMPLE_DEFAULT(0x0000) }, /* On/off (server): on time */                                                         \
221             { 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                           \
222               ZAP_SIMPLE_DEFAULT(0x0000) },                                 /* On/off (server): off wait time */                   \
223             { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) },      /* Level Control (server): cluster revision */         \
224             { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) },    /* Level Control (server): current level */            \
225             { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* Level Control (server): remaining time */           \
226             { 0x000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                          \
227               ZAP_SIMPLE_DEFAULT(0x00) }, /* Level Control (server): options */                                                    \
228             { 0x4000, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                            \
229               ZAP_EMPTY_DEFAULT() }, /* Level Control (server): start up current level */                                          \
230             { 0xFFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                          \
231               ZAP_SIMPLE_DEFAULT(3) }, /* Basic (server): cluster revision */                                                      \
232             { 0x0000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                          \
233               ZAP_EMPTY_DEFAULT() }, /* Basic (server): InteractionModelVersion */                                                 \
234             { 0x0001, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                    \
235               ZAP_LONG_DEFAULTS_INDEX(244) },                                                    /* Basic (server): VendorName */  \
236             { 0x0002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* Basic (server): VendorID */    \
237             { 0x0003, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                    \
238               ZAP_LONG_DEFAULTS_INDEX(276) },                                                    /* Basic (server): ProductName */ \
239             { 0x0004, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_EMPTY_DEFAULT() }, /* Basic (server): ProductID */   \
240             { 0x0005, ZAP_TYPE(CHAR_STRING), 32, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE),                     \
241               ZAP_LONG_DEFAULTS_INDEX(308) }, /* Basic (server): UserLabel */                                                      \
242             { 0x0006, ZAP_TYPE(CHAR_STRING), 16, ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE),                     \
243               ZAP_LONG_DEFAULTS_INDEX(340) }, /* Basic (server): Location */                                                       \
244             { 0x0007, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                          \
245               ZAP_SIMPLE_DEFAULT(0x00) }, /* Basic (server): HardwareVersion */                                                    \
246             { 0x0008, ZAP_TYPE(CHAR_STRING), 64, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                    \
247               ZAP_LONG_DEFAULTS_INDEX(356) }, /* Basic (server): HardwareVersionString */                                          \
248             { 0x0009, ZAP_TYPE(INT32U), 4, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                          \
249               ZAP_LONG_DEFAULTS_INDEX(420) }, /* Basic (server): SoftwareVersion */                                                \
250             { 0x000A, ZAP_TYPE(CHAR_STRING), 64, ZAP_ATTRIBUTE_MASK(SINGLETON),                                                    \
251               ZAP_LONG_DEFAULTS_INDEX(424) },                              /* Basic (server): SoftwareVersionString */             \
252             { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(2) },     /* On/off (server): cluster revision */                 \
253             { 0x0000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) }, /* On/off (server): on/off */                           \
254             { 0x4003, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                            \
255               ZAP_EMPTY_DEFAULT() },                                       /* On/off (server): start up on off */                  \
256             { 0x4000, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(0x01) }, /* On/off (server): global scene control */             \
257             { 0x4001, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                           \
258               ZAP_SIMPLE_DEFAULT(0x0000) }, /* On/off (server): on time */                                                         \
259             { 0x4002, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                           \
260               ZAP_SIMPLE_DEFAULT(0x0000) },                                 /* On/off (server): off wait time */                   \
261             { 0xFFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(3) },      /* Level Control (server): cluster revision */         \
262             { 0x0000, ZAP_TYPE(INT8U), 1, 0, ZAP_SIMPLE_DEFAULT(0x00) },    /* Level Control (server): current level */            \
263             { 0x0001, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* Level Control (server): remaining time */           \
264             { 0x000F, ZAP_TYPE(BITMAP8), 1, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                          \
265               ZAP_SIMPLE_DEFAULT(0x00) }, /* Level Control (server): options */                                                    \
266             { 0x4000, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(WRITABLE),                                                            \
267               ZAP_EMPTY_DEFAULT() }, /* Level Control (server): start up current level */                                          \
268     }
269
270 // This is an array of EmberAfCluster structures.
271 #define ZAP_ATTRIBUTE_INDEX(index) ((EmberAfAttributeMetadata *) (&generatedAttributes[index]))
272
273 // Cluster function static arrays
274 #define GENERATED_FUNCTION_ARRAYS                                                                                                  \
275     const EmberAfGenericClusterFunction chipFuncArrayOnOffServer[] = {                                                             \
276         (EmberAfGenericClusterFunction) emberAfOnOffClusterServerInitCallback,                                                     \
277     };                                                                                                                             \
278     const EmberAfGenericClusterFunction chipFuncArrayLevelControlServer[] = {                                                      \
279         (EmberAfGenericClusterFunction) emberAfLevelControlClusterServerInitCallback,                                              \
280     };
281
282 #define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
283 #define GENERATED_CLUSTER_COUNT 9
284 #define GENERATED_CLUSTERS                                                                                                         \
285     {                                                                                                                              \
286         {                                                                                                                          \
287             0x0031, ZAP_ATTRIBUTE_INDEX(0), 1, 2, ZAP_CLUSTER_MASK(SERVER), NULL                                                   \
288         }, /* Endpoint: 0, Cluster: Network Commissioning (server) */                                                              \
289             { 0x0006,                                                                                                              \
290               ZAP_ATTRIBUTE_INDEX(1),                                                                                              \
291               2,                                                                                                                   \
292               3,                                                                                                                   \
293               ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION),                                                          \
294               chipFuncArrayOnOffServer }, /* Endpoint: 1, Cluster: On/off (server) */                                              \
295             { 0x0008,                                                                                                              \
296               ZAP_ATTRIBUTE_INDEX(3),                                                                                              \
297               2,                                                                                                                   \
298               3,                                                                                                                   \
299               ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION),                                                          \
300               chipFuncArrayLevelControlServer }, /* Endpoint: 1, Cluster: Level Control (server) */                                \
301             {                                                                                                                      \
302                 0x0028, ZAP_ATTRIBUTE_INDEX(5), 12, 254, ZAP_CLUSTER_MASK(SERVER), NULL                                            \
303             }, /* Endpoint: 1, Cluster: Basic (server) */                                                                          \
304             { 0x0006,                                                                                                              \
305               ZAP_ATTRIBUTE_INDEX(17),                                                                                             \
306               6,                                                                                                                   \
307               9,                                                                                                                   \
308               ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION),                                                          \
309               chipFuncArrayOnOffServer }, /* Endpoint: 2, Cluster: On/off (server) */                                              \
310             { 0x0008,                                                                                                              \
311               ZAP_ATTRIBUTE_INDEX(23),                                                                                             \
312               5,                                                                                                                   \
313               7,                                                                                                                   \
314               ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION),                                                          \
315               chipFuncArrayLevelControlServer }, /* Endpoint: 2, Cluster: Level Control (server) */                                \
316             {                                                                                                                      \
317                 0x0028, ZAP_ATTRIBUTE_INDEX(28), 12, 254, ZAP_CLUSTER_MASK(SERVER), NULL                                           \
318             }, /* Endpoint: 2, Cluster: Basic (server) */                                                                          \
319             { 0x0006,                                                                                                              \
320               ZAP_ATTRIBUTE_INDEX(40),                                                                                             \
321               6,                                                                                                                   \
322               9,                                                                                                                   \
323               ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION),                                                          \
324               chipFuncArrayOnOffServer }, /* Endpoint: 3, Cluster: On/off (server) */                                              \
325             { 0x0008,                                                                                                              \
326               ZAP_ATTRIBUTE_INDEX(46),                                                                                             \
327               5,                                                                                                                   \
328               7,                                                                                                                   \
329               ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION),                                                          \
330               chipFuncArrayLevelControlServer }, /* Endpoint: 3, Cluster: Level Control (server) */                                \
331     }
332
333 #define ZAP_CLUSTER_INDEX(index) ((EmberAfCluster *) (&generatedClusters[index]))
334
335 // This is an array of EmberAfEndpointType structures.
336 #define GENERATED_ENDPOINT_TYPES                                                                                                   \
337     {                                                                                                                              \
338         { ZAP_CLUSTER_INDEX(0), 1, 2 }, { ZAP_CLUSTER_INDEX(1), 3, 260 }, { ZAP_CLUSTER_INDEX(4), 3, 270 },                        \
339             { ZAP_CLUSTER_INDEX(7), 2, 16 },                                                                                       \
340     }
341
342 // Largest attribute size is needed for various buffers
343 #define ATTRIBUTE_LARGEST (65)
344
345 // Total size of singleton attributes
346 #define ATTRIBUTE_SINGLETONS_SIZE (508)
347
348 // Total size of attribute storage
349 #define ATTRIBUTE_MAX_SIZE (548)
350
351 // Number of fixed endpoints
352 #define FIXED_ENDPOINT_COUNT (4)
353
354 // Array of endpoints that are supported, the data inside
355 // the array is the endpoint number.
356 #define FIXED_ENDPOINT_ARRAY                                                                                                       \
357     {                                                                                                                              \
358         0x0000, 0x0001, 0x0002, 0x0003                                                                                             \
359     }
360
361 // Array of profile ids
362 #define FIXED_PROFILE_IDS                                                                                                          \
363     {                                                                                                                              \
364         0xABCD, 0x0104, 0x0104, 0x0104                                                                                             \
365     }
366
367 // Array of device ids
368 #define FIXED_DEVICE_IDS                                                                                                           \
369     {                                                                                                                              \
370         0, 0, 0, 0                                                                                                                 \
371     }
372
373 // Array of device versions
374 #define FIXED_DEVICE_VERSIONS                                                                                                      \
375     {                                                                                                                              \
376         1, 1, 1, 1                                                                                                                 \
377     }
378
379 // Array of endpoint types supported on each endpoint
380 #define FIXED_ENDPOINT_TYPES                                                                                                       \
381     {                                                                                                                              \
382         0, 1, 2, 3                                                                                                                 \
383     }
384
385 // Array of networks supported on each endpoint
386 #define FIXED_NETWORKS                                                                                                             \
387     {                                                                                                                              \
388         0, 0, 0, 0                                                                                                                 \
389     }
390
391 // Array of EmberAfCommandMetadata structs.
392 #define ZAP_COMMAND_MASK(mask) COMMAND_MASK_##mask
393 #define EMBER_AF_GENERATED_COMMAND_COUNT (62)
394 #define GENERATED_COMMANDS                                                                                                         \
395     {                                                                                                                              \
396         { 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) },     /* On/off (server): Off */                                        \
397             { 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Off */                                        \
398             { 0x0006, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Off */                                        \
399             { 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): On */                                         \
400             { 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): On */                                         \
401             { 0x0006, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): On */                                         \
402             { 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Toggle */                                     \
403             { 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Toggle */                                     \
404             { 0x0006, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* On/off (server): Toggle */                                     \
405             { 0x0006, 0x40, 0 },                                 /* On/off (server): OffWithEffect */                              \
406             { 0x0006, 0x40, 0 },                                 /* On/off (server): OffWithEffect */                              \
407             { 0x0006, 0x41, 0 },                                 /* On/off (server): OnWithRecallGlobalScene */                    \
408             { 0x0006, 0x41, 0 },                                 /* On/off (server): OnWithRecallGlobalScene */                    \
409             { 0x0006, 0x42, 0 },                                 /* On/off (server): OnWithTimedOff */                             \
410             { 0x0006, 0x42, 0 },                                 /* On/off (server): OnWithTimedOff */                             \
411             { 0x0008, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevel */                         \
412             { 0x0008, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevel */                         \
413             { 0x0008, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevel */                         \
414             { 0x0008, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Move */                                \
415             { 0x0008, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Move */                                \
416             { 0x0008, 0x01, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Move */                                \
417             { 0x0008, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Step */                                \
418             { 0x0008, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Step */                                \
419             { 0x0008, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Step */                                \
420             { 0x0008, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Stop */                                \
421             { 0x0008, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Stop */                                \
422             { 0x0008, 0x03, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): Stop */                                \
423             { 0x0008, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevelWithOnOff */                \
424             { 0x0008, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevelWithOnOff */                \
425             { 0x0008, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveToLevelWithOnOff */                \
426             { 0x0008, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveWithOnOff */                       \
427             { 0x0008, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveWithOnOff */                       \
428             { 0x0008, 0x05, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): MoveWithOnOff */                       \
429             { 0x0008, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StepWithOnOff */                       \
430             { 0x0008, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StepWithOnOff */                       \
431             { 0x0008, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StepWithOnOff */                       \
432             { 0x0008, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StopWithOnOff */                       \
433             { 0x0008, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StopWithOnOff */                       \
434             { 0x0008, 0x07, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Level Control (server): StopWithOnOff */                       \
435             { 0x0028, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): StartUp */                                     \
436             { 0x0028, 0x00, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): StartUp */                                     \
437             { 0x0028, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): ShutDown */                                    \
438             { 0x0028, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): ShutDown */                                    \
439             { 0x0028, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): Leave */                                       \
440             { 0x0028, 0x02, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Basic (server): Leave */                                       \
441             { 0x0031, 0x00, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): ScanNetworks */                \
442             { 0x0031, 0x01, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): ScanNetworksResponse */        \
443             { 0x0031, 0x02, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): AddWiFiNetwork */              \
444             { 0x0031, 0x03, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): AddWiFiNetworkResponse */      \
445             { 0x0031, 0x04, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): UpdateWiFiNetwork */           \
446             { 0x0031, 0x05, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): UpdateWiFiNetworkResponse */   \
447             { 0x0031, 0x06, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): AddThreadNetwork */            \
448             { 0x0031, 0x07, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): AddThreadNetworkResponse */    \
449             { 0x0031, 0x08, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): UpdateThreadNetwork */         \
450             { 0x0031, 0x09, ZAP_COMMAND_MASK(OUTGOING_SERVER) }, /* Network Commissioning (server): UpdateThreadNetworkResponse */ \
451             { 0x0031, 0x0A, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): RemoveNetwork */               \
452             { 0x0031, 0x0B, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): RemoveNetworkResponse */       \
453             { 0x0031, 0x0C, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): EnableNetwork */               \
454             { 0x0031, 0x0D, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): EnableNetworkResponse */       \
455             { 0x0031, 0x0E, ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): DisableNetwork */              \
456             { 0x0031, 0x0F, ZAP_COMMAND_MASK(INCOMING_CLIENT) }, /* Network Commissioning (server): DisableNetworkResponse */      \
457             { 0x0031, 0x10,                                                                                                        \
458               ZAP_COMMAND_MASK(INCOMING_SERVER) }, /* Network Commissioning (server): GetLastNetworkCommissioningResult */         \
459     }
460
461 // Array of EmberAfManufacturerCodeEntry structures for commands.
462 #define GENERATED_COMMAND_MANUFACTURER_CODE_COUNT (0)
463 #define GENERATED_COMMAND_MANUFACTURER_CODES                                                                                       \
464     {                                                                                                                              \
465         {                                                                                                                          \
466             0x00, 0x00                                                                                                             \
467         }                                                                                                                          \
468     }
469
470 // This is an array of EmberAfManufacturerCodeEntry structures for clusters.
471 #define GENERATED_CLUSTER_MANUFACTURER_CODE_COUNT (0)
472 #define GENERATED_CLUSTER_MANUFACTURER_CODES                                                                                       \
473     {                                                                                                                              \
474         {                                                                                                                          \
475             0x00, 0x00                                                                                                             \
476         }                                                                                                                          \
477     }
478
479 // This is an array of EmberAfManufacturerCodeEntry structures for attributes.
480 #define GENERATED_ATTRIBUTE_MANUFACTURER_CODE_COUNT (0)
481 #define GENERATED_ATTRIBUTE_MANUFACTURER_CODES                                                                                     \
482     {                                                                                                                              \
483         {                                                                                                                          \
484             0x00, 0x00                                                                                                             \
485         }                                                                                                                          \
486     }
487
488 // Array of EmberAfPluginReportingEntry structures.
489 #define ZRD(x) EMBER_ZCL_REPORTING_DIRECTION_##x
490 #define ZAP_REPORT_DIRECTION(x) ZRD(x)
491
492 // User options for plugin Reporting
493 #define EMBER_AF_PLUGIN_REPORTING_TABLE_SIZE (2)
494 #define EMBER_AF_PLUGIN_REPORTING_ENABLE_GROUP_BOUND_REPORTS
495
496 #define EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS_TABLE_SIZE (2)
497 #define EMBER_AF_GENERATED_REPORTING_CONFIG_DEFAULTS                                                                               \
498     {                                                                                                                              \
499         {                                                                                                                          \
500             ZAP_REPORT_DIRECTION(REPORTED), 0x0001, 0x0006, 0x0000, ZAP_CLUSTER_MASK(SERVER), 0x0000, { { 0, 65344, 0 } }          \
501         }, /* Reporting for cluster: "On/off", attribute: "on/off". side: server */                                                \
502             {                                                                                                                      \
503                 ZAP_REPORT_DIRECTION(REPORTED), 0x0001, 0x0008, 0x0000, ZAP_CLUSTER_MASK(SERVER), 0x0000, { { 0, 65344, 0 } }      \
504             }, /* Reporting for cluster: "Level Control", attribute: "current level". side: server */                              \
505     }