blob: 4d5539c9cb4bd42fcd4e46f7d12cfff8b0554d08 [file] [log] [blame]
/*
*
* Copyright (c) 2022 Project CHIP Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// THIS FILE IS GENERATED BY ZAP
// Prevent multiple inclusion
#pragma once
#include <lib/core/CHIPConfig.h>
// Default values for the attributes longer than a pointer,
// in a form of a binary blob
// Separate block is generated for big-endian and little-endian cases.
#if BIGENDIAN_CPU
#define GENERATED_DEFAULTS \
{ \
\
/* Endpoint: 0, Cluster: General Commissioning (server), big-endian */ \
\
/* 0 - Breadcrumb, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server), big-endian */ \
\
/* 8 - NetworkName, */ \
0x00, 0x00, \
\
/* 10 - ExtendedPanId, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 18 - OverrunCount, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 26 - ActiveTimestamp, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 34 - PendingTimestamp, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 42 - ChannelMask, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
}
#else // !BIGENDIAN_CPU
#define GENERATED_DEFAULTS \
{ \
\
/* Endpoint: 0, Cluster: General Commissioning (server), little-endian */ \
\
/* 0 - Breadcrumb, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server), little-endian */ \
\
/* 8 - NetworkName, */ \
0x00, 0x00, \
\
/* 10 - ExtendedPanId, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 18 - OverrunCount, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 26 - ActiveTimestamp, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 34 - PendingTimestamp, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
\
/* 42 - ChannelMask, */ \
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \
}
#endif // BIGENDIAN_CPU
#define GENERATED_DEFAULTS_COUNT (7)
#define ZAP_TYPE(type) ZCL_##type##_ATTRIBUTE_TYPE
#define ZAP_LONG_DEFAULTS_INDEX(index) \
{ \
&generatedDefaults[index] \
}
#define ZAP_MIN_MAX_DEFAULTS_INDEX(index) \
{ \
&minMaxDefaults[index] \
}
#define ZAP_EMPTY_DEFAULT() \
{ \
(uint32_t) 0 \
}
#define ZAP_SIMPLE_DEFAULT(x) \
{ \
(uint32_t) x \
}
// This is an array of EmberAfAttributeMinMaxValue structures.
#define GENERATED_MIN_MAX_DEFAULT_COUNT 1
#define GENERATED_MIN_MAX_DEFAULTS \
{ \
\
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
{ \
(uint16_t) 0x0, (uint16_t) 0x0, (uint16_t) 0x1 \
} /* HourFormat */ \
}
#define ZAP_ATTRIBUTE_MASK(mask) ATTRIBUTE_MASK_##mask
// This is an array of EmberAfAttributeMetadata structures.
#define GENERATED_ATTRIBUTE_COUNT 200
#define GENERATED_ATTRIBUTES \
{ \
\
/* Endpoint: 0, Cluster: Descriptor (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \
{ 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \
{ 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \
{ 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Binding (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Binding */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Access Control (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* ACL */ \
{ 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Extension */ \
{ 0x00000002, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* SubjectsPerAccessControlEntry */ \
{ 0x00000003, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* TargetsPerAccessControlEntry */ \
{ 0x00000004, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* AccessControlEntriesPerFabric */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Basic (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* DataModelRevision */ \
{ 0x00000001, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* VendorName */ \
{ 0x00000002, ZAP_TYPE(VENDOR_ID), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* VendorID */ \
{ 0x00000003, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* ProductName */ \
{ 0x00000004, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* ProductID */ \
{ 0x00000005, ZAP_TYPE(CHAR_STRING), 33, \
ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* NodeLabel */ \
{ 0x00000006, ZAP_TYPE(CHAR_STRING), 0, \
ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Location */ \
{ 0x00000007, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* HardwareVersion */ \
{ 0x00000008, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* HardwareVersionString */ \
{ 0x00000009, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* SoftwareVersion */ \
{ 0x0000000A, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* SoftwareVersionString */ \
{ 0x0000000B, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* ManufacturingDate */ \
{ 0x0000000C, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* PartNumber */ \
{ 0x0000000D, ZAP_TYPE(LONG_CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* ProductURL */ \
{ 0x0000000E, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* ProductLabel */ \
{ 0x0000000F, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* SerialNumber */ \
{ 0x00000010, ZAP_TYPE(BOOLEAN), 1, \
ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(SINGLETON) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_SIMPLE_DEFAULT(0) }, /* LocalConfigDisabled */ \
{ 0x00000011, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* Reachable */ \
{ 0x00000012, ZAP_TYPE(CHAR_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(SINGLETON), \
ZAP_EMPTY_DEFAULT() }, /* UniqueID */ \
{ 0x00000013, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CapabilityMinima */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(SINGLETON), ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* DefaultOtaProviders */ \
{ 0x00000001, ZAP_TYPE(BOOLEAN), 1, 0, ZAP_SIMPLE_DEFAULT(1) }, /* UpdatePossible */ \
{ 0x00000002, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0) }, /* UpdateState */ \
{ 0x00000003, ZAP_TYPE(INT8U), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0) }, /* UpdateStateProgress */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
{ 0x00000000, ZAP_TYPE(CHAR_STRING), 36, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* ActiveLocale */ \
{ 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SupportedLocales */ \
\
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
{ 0x00000000, ZAP_TYPE(ENUM8), 1, \
ZAP_ATTRIBUTE_MASK(MIN_MAX) | ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_MIN_MAX_DEFAULTS_INDEX(0) }, /* HourFormat */ \
{ 0x00000001, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(TOKENIZE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* ActiveCalendarType */ \
{ 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* SupportedCalendarTypes */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
{ 0x00000000, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_LONG_DEFAULTS_INDEX(0) }, /* Breadcrumb */ \
{ 0x00000001, ZAP_TYPE(STRUCT), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* BasicCommissioningInfo */ \
{ 0x00000002, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RegulatoryConfig */ \
{ 0x00000003, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* LocationCapability */ \
{ 0x00000004, ZAP_TYPE(BOOLEAN), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* SupportsConcurrentConnection */ \
{ 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(6) }, /* FeatureMap */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
{ 0x00000000, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* MaxNetworks */ \
{ 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* Networks */ \
{ 0x00000002, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* ScanMaxTimeSeconds */ \
{ 0x00000003, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* ConnectMaxTimeSeconds */ \
{ 0x00000004, ZAP_TYPE(BOOLEAN), 1, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_EMPTY_DEFAULT() }, /* InterfaceEnabled */ \
{ 0x00000005, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastNetworkingStatus */ \
{ 0x00000006, ZAP_TYPE(OCTET_STRING), 33, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastNetworkID */ \
{ 0x00000007, ZAP_TYPE(INT32S), 4, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* LastConnectErrorValue */ \
{ 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(2) }, /* FeatureMap */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NetworkInterfaces */ \
{ 0x00000001, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RebootCount */ \
{ 0x00000002, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* UpTime */ \
{ 0x00000003, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* TotalOperationalHours */ \
{ 0x00000004, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* BootReasons */ \
{ 0x00000005, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* ActiveHardwareFaults */ \
{ 0x00000006, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ActiveRadioFaults */ \
{ 0x00000007, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* ActiveNetworkFaults */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ThreadMetrics */ \
{ 0x00000001, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CurrentHeapFree */ \
{ 0x00000002, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CurrentHeapUsed */ \
{ 0x00000003, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* CurrentHeapHighWatermark */ \
{ 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(1) }, /* FeatureMap */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* channel */ \
{ 0x00000001, ZAP_TYPE(ENUM8), 1, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* RoutingRole */ \
{ 0x00000002, ZAP_TYPE(CHAR_STRING), 17, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_LONG_DEFAULTS_INDEX(8) }, /* NetworkName */ \
{ 0x00000003, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* PanId */ \
{ 0x00000004, ZAP_TYPE(INT64U), 8, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_LONG_DEFAULTS_INDEX(10) }, /* ExtendedPanId */ \
{ 0x00000005, ZAP_TYPE(OCTET_STRING), 18, ZAP_ATTRIBUTE_MASK(NULLABLE), ZAP_EMPTY_DEFAULT() }, /* MeshLocalPrefix */ \
{ 0x00000006, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(18) }, /* OverrunCount */ \
{ 0x00000007, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NeighborTableList */ \
{ 0x00000008, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* RouteTableList */ \
{ 0x00000009, ZAP_TYPE(INT32U), 4, 0, ZAP_EMPTY_DEFAULT() }, /* PartitionId */ \
{ 0x0000000A, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* weighting */ \
{ 0x0000000B, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* DataVersion */ \
{ 0x0000000C, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* StableDataVersion */ \
{ 0x0000000D, ZAP_TYPE(INT8U), 1, 0, ZAP_EMPTY_DEFAULT() }, /* LeaderRouterId */ \
{ 0x0000000E, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* DetachedRoleCount */ \
{ 0x0000000F, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ChildRoleCount */ \
{ 0x00000010, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RouterRoleCount */ \
{ 0x00000011, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* LeaderRoleCount */ \
{ 0x00000012, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* AttachAttemptCount */ \
{ 0x00000013, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* PartitionIdChangeCount */ \
{ 0x00000014, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* BetterPartitionAttachAttemptCount */ \
{ 0x00000015, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* ParentChangeCount */ \
{ 0x00000016, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxTotalCount */ \
{ 0x00000017, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxUnicastCount */ \
{ 0x00000018, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxBroadcastCount */ \
{ 0x00000019, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxAckRequestedCount */ \
{ 0x0000001A, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxAckedCount */ \
{ 0x0000001B, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxNoAckRequestedCount */ \
{ 0x0000001C, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxDataCount */ \
{ 0x0000001D, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxDataPollCount */ \
{ 0x0000001E, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxBeaconCount */ \
{ 0x0000001F, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxBeaconRequestCount */ \
{ 0x00000020, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxOtherCount */ \
{ 0x00000021, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxRetryCount */ \
{ 0x00000022, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxDirectMaxRetryExpiryCount */ \
{ 0x00000023, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxIndirectMaxRetryExpiryCount */ \
{ 0x00000024, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxErrCcaCount */ \
{ 0x00000025, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxErrAbortCount */ \
{ 0x00000026, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* TxErrBusyChannelCount */ \
{ 0x00000027, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxTotalCount */ \
{ 0x00000028, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxUnicastCount */ \
{ 0x00000029, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxBroadcastCount */ \
{ 0x0000002A, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxDataCount */ \
{ 0x0000002B, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxDataPollCount */ \
{ 0x0000002C, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxBeaconCount */ \
{ 0x0000002D, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxBeaconRequestCount */ \
{ 0x0000002E, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxOtherCount */ \
{ 0x0000002F, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxAddressFilteredCount */ \
{ 0x00000030, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxDestAddrFilteredCount */ \
{ 0x00000031, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxDuplicatedCount */ \
{ 0x00000032, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxErrNoFrameCount */ \
{ 0x00000033, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxErrUnknownNeighborCount */ \
{ 0x00000034, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxErrInvalidSrcAddrCount */ \
{ 0x00000035, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxErrSecCount */ \
{ 0x00000036, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxErrFcsCount */ \
{ 0x00000037, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* RxErrOtherCount */ \
{ 0x00000038, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(26) }, /* ActiveTimestamp */ \
{ 0x00000039, ZAP_TYPE(INT64U), 8, 0, ZAP_LONG_DEFAULTS_INDEX(34) }, /* PendingTimestamp */ \
{ 0x0000003A, ZAP_TYPE(INT32U), 4, 0, ZAP_SIMPLE_DEFAULT(0x0000) }, /* delay */ \
{ 0x0000003B, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SecurityPolicy */ \
{ 0x0000003C, ZAP_TYPE(OCTET_STRING), 5, 0, ZAP_LONG_DEFAULTS_INDEX(42) }, /* ChannelMask */ \
{ 0x0000003D, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* OperationalDatasetComponents */ \
{ 0x0000003E, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* ActiveNetworkFaultsList */ \
{ 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(0x000F) }, /* FeatureMap */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
{ 0x00000000, ZAP_TYPE(OCTET_STRING), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \
ZAP_EMPTY_DEFAULT() }, /* bssid */ \
{ 0x00000001, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \
ZAP_EMPTY_DEFAULT() }, /* SecurityType */ \
{ 0x00000002, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \
ZAP_EMPTY_DEFAULT() }, /* WiFiVersion */ \
{ 0x00000003, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \
ZAP_EMPTY_DEFAULT() }, /* ChannelNumber */ \
{ 0x00000004, ZAP_TYPE(INT8S), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \
ZAP_EMPTY_DEFAULT() }, /* Rssi */ \
{ 0x00000005, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* BeaconLostCount */ \
{ 0x00000006, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* BeaconRxCount */ \
{ 0x00000007, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* PacketMulticastRxCount */ \
{ 0x00000008, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* PacketMulticastTxCount */ \
{ 0x00000009, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* PacketUnicastRxCount */ \
{ 0x0000000A, ZAP_TYPE(INT32U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* PacketUnicastTxCount */ \
{ 0x0000000B, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CurrentMaxRate */ \
{ 0x0000000C, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* OverrunCount */ \
{ 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(3) }, /* FeatureMap */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
{ 0x00000000, ZAP_TYPE(ENUM8), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \
ZAP_EMPTY_DEFAULT() }, /* PHYRate */ \
{ 0x00000001, ZAP_TYPE(BOOLEAN), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \
ZAP_EMPTY_DEFAULT() }, /* FullDuplex */ \
{ 0x00000002, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PacketRxCount */ \
{ 0x00000003, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* PacketTxCount */ \
{ 0x00000004, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TxErrCount */ \
{ 0x00000005, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* CollisionCount */ \
{ 0x00000006, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* OverrunCount */ \
{ 0x00000007, ZAP_TYPE(BOOLEAN), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(NULLABLE), \
ZAP_EMPTY_DEFAULT() }, /* CarrierDetect */ \
{ 0x00000008, ZAP_TYPE(INT64U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* TimeSinceReset */ \
{ 0x0000FFFC, ZAP_TYPE(BITMAP32), 4, 0, ZAP_SIMPLE_DEFAULT(3) }, /* FeatureMap */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
{ 0x00000000, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* WindowStatus */ \
{ 0x00000001, ZAP_TYPE(FABRIC_IDX), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* AdminFabricIndex */ \
{ 0x00000002, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* AdminVendorId */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* NOCs */ \
{ 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* Fabrics */ \
{ 0x00000002, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* SupportedFabrics */ \
{ 0x00000003, ZAP_TYPE(INT8U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* CommissionedFabrics */ \
{ 0x00000004, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* TrustedRootCertificates */ \
{ 0x00000005, ZAP_TYPE(FABRIC_IDX), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* CurrentFabricIndex */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Group Key Management (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* GroupKeyMap */ \
{ 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* GroupTable */ \
{ 0x00000002, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* MaxGroupsPerFabric */ \
{ 0x00000003, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), \
ZAP_EMPTY_DEFAULT() }, /* MaxGroupKeysPerFabric */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* label list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 0, Cluster: User Label (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* label list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Identify (server) */ \
{ 0x00000000, ZAP_TYPE(INT16U), 2, ZAP_ATTRIBUTE_MASK(WRITABLE), ZAP_SIMPLE_DEFAULT(0x0000) }, /* identify time */ \
{ 0x00000001, ZAP_TYPE(ENUM8), 1, 0, ZAP_SIMPLE_DEFAULT(0x0) }, /* identify type */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Groups (server) */ \
{ 0x00000000, ZAP_TYPE(BITMAP8), 1, 0, ZAP_EMPTY_DEFAULT() }, /* name support */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(4) }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Descriptor (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* device list */ \
{ 0x00000001, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* server list */ \
{ 0x00000002, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* client list */ \
{ 0x00000003, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* parts list */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE), ZAP_EMPTY_DEFAULT() }, /* ClusterRevision */ \
\
/* Endpoint: 1, Cluster: Binding (server) */ \
{ 0x00000000, ZAP_TYPE(ARRAY), 0, ZAP_ATTRIBUTE_MASK(EXTERNAL_STORAGE) | ZAP_ATTRIBUTE_MASK(WRITABLE), \
ZAP_EMPTY_DEFAULT() }, /* Binding */ \
{ 0x0000FFFD, ZAP_TYPE(INT16U), 2, 0, ZAP_SIMPLE_DEFAULT(1) }, /* ClusterRevision */ \
}
// This is an array of EmberAfCluster structures.
#define ZAP_ATTRIBUTE_INDEX(index) (&generatedAttributes[index])
#define ZAP_GENERATED_COMMANDS_INDEX(index) ((chip::CommandId *) (&generatedCommands[index]))
// Cluster function static arrays
#define GENERATED_FUNCTION_ARRAYS \
const EmberAfGenericClusterFunction chipFuncArrayBasicServer[] = { \
(EmberAfGenericClusterFunction) emberAfBasicClusterServerInitCallback, \
}; \
const EmberAfGenericClusterFunction chipFuncArrayLocalizationConfigurationServer[] = { \
(EmberAfGenericClusterFunction) emberAfLocalizationConfigurationClusterServerInitCallback, \
(EmberAfGenericClusterFunction) MatterLocalizationConfigurationClusterServerPreAttributeChangedCallback, \
}; \
const EmberAfGenericClusterFunction chipFuncArrayTimeFormatLocalizationServer[] = { \
(EmberAfGenericClusterFunction) emberAfTimeFormatLocalizationClusterServerInitCallback, \
(EmberAfGenericClusterFunction) MatterTimeFormatLocalizationClusterServerPreAttributeChangedCallback, \
}; \
const EmberAfGenericClusterFunction chipFuncArrayIdentifyServer[] = { \
(EmberAfGenericClusterFunction) emberAfIdentifyClusterServerInitCallback, \
(EmberAfGenericClusterFunction) MatterIdentifyClusterServerAttributeChangedCallback, \
}; \
const EmberAfGenericClusterFunction chipFuncArrayGroupsServer[] = { \
(EmberAfGenericClusterFunction) emberAfGroupsClusterServerInitCallback, \
};
// clang-format off
#define GENERATED_COMMANDS { \
/* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */\
/* AcceptedCommandList (index=0) */ \
0x00000000 /* AnnounceOtaProvider */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: General Commissioning (server) */\
/* AcceptedCommandList (index=2) */ \
0x00000000 /* ArmFailSafe */, \
0x00000002 /* SetRegulatoryConfig */, \
0x00000004 /* CommissioningComplete */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=6)*/ \
0x00000001 /* ArmFailSafeResponse */, \
0x00000003 /* SetRegulatoryConfigResponse */, \
0x00000005 /* CommissioningCompleteResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Network Commissioning (server) */\
/* AcceptedCommandList (index=10) */ \
0x00000000 /* ScanNetworks */, \
0x00000002 /* AddOrUpdateWiFiNetwork */, \
0x00000003 /* AddOrUpdateThreadNetwork */, \
0x00000004 /* RemoveNetwork */, \
0x00000006 /* ConnectNetwork */, \
0x00000008 /* ReorderNetwork */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=17)*/ \
0x00000001 /* ScanNetworksResponse */, \
0x00000005 /* NetworkConfigResponse */, \
0x00000007 /* ConnectNetworkResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */\
/* AcceptedCommandList (index=21) */ \
0x00000000 /* RetrieveLogsRequest */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=23)*/ \
0x00000001 /* RetrieveLogsResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */\
/* AcceptedCommandList (index=25) */ \
0x00000000 /* ResetWatermarks */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */\
/* AcceptedCommandList (index=27) */ \
0x00000000 /* ResetCounts */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */\
/* AcceptedCommandList (index=29) */ \
0x00000000 /* ResetCounts */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */\
/* AcceptedCommandList (index=31) */ \
0x00000000 /* ResetCounts */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */\
/* AcceptedCommandList (index=33) */ \
0x00000000 /* OpenCommissioningWindow */, \
0x00000001 /* OpenBasicCommissioningWindow */, \
0x00000002 /* RevokeCommissioning */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Operational Credentials (server) */\
/* AcceptedCommandList (index=37) */ \
0x00000000 /* AttestationRequest */, \
0x00000002 /* CertificateChainRequest */, \
0x00000004 /* CSRRequest */, \
0x00000006 /* AddNOC */, \
0x00000007 /* UpdateNOC */, \
0x00000009 /* UpdateFabricLabel */, \
0x0000000A /* RemoveFabric */, \
0x0000000B /* AddTrustedRootCertificate */, \
0x0000000C /* RemoveTrustedRootCertificate */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=47)*/ \
0x00000001 /* AttestationResponse */, \
0x00000003 /* CertificateChainResponse */, \
0x00000005 /* CSRResponse */, \
0x00000008 /* NOCResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 0, Cluster: Group Key Management (server) */\
/* AcceptedCommandList (index=52) */ \
0x00000000 /* KeySetWrite */, \
0x00000001 /* KeySetRead */, \
0x00000003 /* KeySetRemove */, \
0x00000004 /* KeySetReadAllIndices */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=57)*/ \
0x00000002 /* KeySetReadResponse */, \
0x00000005 /* KeySetReadAllIndicesResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 1, Cluster: Identify (server) */\
/* AcceptedCommandList (index=60) */ \
0x00000000 /* Identify */, \
0x00000001 /* IdentifyQuery */, \
0x00000040 /* TriggerEffect */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=64)*/ \
0x00000000 /* IdentifyQueryResponse */, \
chip::kInvalidCommandId /* end of list */, \
/* Endpoint: 1, Cluster: Groups (server) */\
/* AcceptedCommandList (index=66) */ \
0x00000000 /* AddGroup */, \
0x00000001 /* ViewGroup */, \
0x00000002 /* GetGroupMembership */, \
0x00000003 /* RemoveGroup */, \
0x00000004 /* RemoveAllGroups */, \
0x00000005 /* AddGroupIfIdentifying */, \
chip::kInvalidCommandId /* end of list */, \
/* GeneratedCommandList (index=73)*/ \
0x00000000 /* AddGroupResponse */, \
0x00000001 /* ViewGroupResponse */, \
0x00000002 /* GetGroupMembershipResponse */, \
0x00000003 /* RemoveGroupResponse */, \
chip::kInvalidCommandId /* end of list */, \
}
// clang-format on
#define ZAP_CLUSTER_MASK(mask) CLUSTER_MASK_##mask
#define GENERATED_CLUSTER_COUNT 30
// clang-format off
#define GENERATED_CLUSTERS { \
{ \
/* Endpoint: 0, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
.attributes = ZAP_ATTRIBUTE_INDEX(0), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: Binding (server) */ \
.clusterId = 0x0000001E, \
.attributes = ZAP_ATTRIBUTE_INDEX(5), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: Access Control (server) */ \
.clusterId = 0x0000001F, \
.attributes = ZAP_ATTRIBUTE_INDEX(7), \
.attributeCount = 6, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: Basic (server) */ \
.clusterId = 0x00000028, \
.attributes = ZAP_ATTRIBUTE_INDEX(13), \
.attributeCount = 21, \
.clusterSize = 37, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
.functions = chipFuncArrayBasicServer, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: OTA Software Update Provider (client) */ \
.clusterId = 0x00000029, \
.attributes = ZAP_ATTRIBUTE_INDEX(34), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: OTA Software Update Requestor (server) */ \
.clusterId = 0x0000002A, \
.attributes = ZAP_ATTRIBUTE_INDEX(34), \
.attributeCount = 5, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 0 ) ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: Localization Configuration (server) */ \
.clusterId = 0x0000002B, \
.attributes = ZAP_ATTRIBUTE_INDEX(39), \
.attributeCount = 2, \
.clusterSize = 36, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
.functions = chipFuncArrayLocalizationConfigurationServer, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: Time Format Localization (server) */ \
.clusterId = 0x0000002C, \
.attributes = ZAP_ATTRIBUTE_INDEX(41), \
.attributeCount = 4, \
.clusterSize = 4, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(PRE_ATTRIBUTE_CHANGED_FUNCTION), \
.functions = chipFuncArrayTimeFormatLocalizationServer, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: General Commissioning (server) */ \
.clusterId = 0x00000030, \
.attributes = ZAP_ATTRIBUTE_INDEX(45), \
.attributeCount = 7, \
.clusterSize = 14, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 2 ) ,\
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 6 ) ,\
},\
{ \
/* Endpoint: 0, Cluster: Network Commissioning (server) */ \
.clusterId = 0x00000031, \
.attributes = ZAP_ATTRIBUTE_INDEX(52), \
.attributeCount = 10, \
.clusterSize = 48, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 10 ) ,\
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 17 ) ,\
},\
{ \
/* Endpoint: 0, Cluster: Diagnostic Logs (server) */ \
.clusterId = 0x00000032, \
.attributes = ZAP_ATTRIBUTE_INDEX(62), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 21 ) ,\
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 23 ) ,\
},\
{ \
/* Endpoint: 0, Cluster: General Diagnostics (server) */ \
.clusterId = 0x00000033, \
.attributes = ZAP_ATTRIBUTE_INDEX(62), \
.attributeCount = 9, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: Software Diagnostics (server) */ \
.clusterId = 0x00000034, \
.attributes = ZAP_ATTRIBUTE_INDEX(71), \
.attributeCount = 6, \
.clusterSize = 6, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 25 ) ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: Thread Network Diagnostics (server) */ \
.clusterId = 0x00000035, \
.attributes = ZAP_ATTRIBUTE_INDEX(77), \
.attributeCount = 65, \
.clusterSize = 247, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 27 ) ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: WiFi Network Diagnostics (server) */ \
.clusterId = 0x00000036, \
.attributes = ZAP_ATTRIBUTE_INDEX(142), \
.attributeCount = 15, \
.clusterSize = 6, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 29 ) ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: Ethernet Network Diagnostics (server) */ \
.clusterId = 0x00000037, \
.attributes = ZAP_ATTRIBUTE_INDEX(157), \
.attributeCount = 11, \
.clusterSize = 6, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 31 ) ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: Switch (server) */ \
.clusterId = 0x0000003B, \
.attributes = ZAP_ATTRIBUTE_INDEX(168), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: AdministratorCommissioning (server) */ \
.clusterId = 0x0000003C, \
.attributes = ZAP_ATTRIBUTE_INDEX(168), \
.attributeCount = 4, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 33 ) ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: Operational Credentials (server) */ \
.clusterId = 0x0000003E, \
.attributes = ZAP_ATTRIBUTE_INDEX(172), \
.attributeCount = 7, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 37 ) ,\
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 47 ) ,\
},\
{ \
/* Endpoint: 0, Cluster: Group Key Management (server) */ \
.clusterId = 0x0000003F, \
.attributes = ZAP_ATTRIBUTE_INDEX(179), \
.attributeCount = 5, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 52 ) ,\
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 57 ) ,\
},\
{ \
/* Endpoint: 0, Cluster: Fixed Label (server) */ \
.clusterId = 0x00000040, \
.attributes = ZAP_ATTRIBUTE_INDEX(184), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 0, Cluster: User Label (server) */ \
.clusterId = 0x00000041, \
.attributes = ZAP_ATTRIBUTE_INDEX(186), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 1, Cluster: Identify (client) */ \
.clusterId = 0x00000003, \
.attributes = ZAP_ATTRIBUTE_INDEX(188), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 1, Cluster: Identify (server) */ \
.clusterId = 0x00000003, \
.attributes = ZAP_ATTRIBUTE_INDEX(188), \
.attributeCount = 3, \
.clusterSize = 5, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION) | ZAP_CLUSTER_MASK(ATTRIBUTE_CHANGED_FUNCTION), \
.functions = chipFuncArrayIdentifyServer, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 60 ) ,\
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 64 ) ,\
},\
{ \
/* Endpoint: 1, Cluster: Groups (server) */ \
.clusterId = 0x00000004, \
.attributes = ZAP_ATTRIBUTE_INDEX(191), \
.attributeCount = 2, \
.clusterSize = 3, \
.mask = ZAP_CLUSTER_MASK(SERVER) | ZAP_CLUSTER_MASK(INIT_FUNCTION), \
.functions = chipFuncArrayGroupsServer, \
.acceptedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 66 ) ,\
.generatedCommandList = ZAP_GENERATED_COMMANDS_INDEX( 73 ) ,\
},\
{ \
/* Endpoint: 1, Cluster: Scenes (client) */ \
.clusterId = 0x00000005, \
.attributes = ZAP_ATTRIBUTE_INDEX(193), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 1, Cluster: On/Off (client) */ \
.clusterId = 0x00000006, \
.attributes = ZAP_ATTRIBUTE_INDEX(193), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 1, Cluster: Descriptor (server) */ \
.clusterId = 0x0000001D, \
.attributes = ZAP_ATTRIBUTE_INDEX(193), \
.attributeCount = 5, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 1, Cluster: Binding (server) */ \
.clusterId = 0x0000001E, \
.attributes = ZAP_ATTRIBUTE_INDEX(198), \
.attributeCount = 2, \
.clusterSize = 2, \
.mask = ZAP_CLUSTER_MASK(SERVER), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
{ \
/* Endpoint: 1, Cluster: Color Control (client) */ \
.clusterId = 0x00000300, \
.attributes = ZAP_ATTRIBUTE_INDEX(200), \
.attributeCount = 0, \
.clusterSize = 0, \
.mask = ZAP_CLUSTER_MASK(CLIENT), \
.functions = NULL, \
.acceptedCommandList = nullptr ,\
.generatedCommandList = nullptr ,\
},\
}
// clang-format on
#define ZAP_CLUSTER_INDEX(index) (&generatedClusters[index])
#define ZAP_FIXED_ENDPOINT_DATA_VERSION_COUNT 25
// This is an array of EmberAfEndpointType structures.
#define GENERATED_ENDPOINT_TYPES \
{ \
{ ZAP_CLUSTER_INDEX(0), 22, 425 }, { ZAP_CLUSTER_INDEX(22), 8, 10 }, \
}
// Largest attribute size is needed for various buffers
#define ATTRIBUTE_LARGEST (259)
static_assert(ATTRIBUTE_LARGEST <= CHIP_CONFIG_MAX_ATTRIBUTE_STORE_ELEMENT_SIZE, "ATTRIBUTE_LARGEST larger than expected");
// Total size of singleton attributes
#define ATTRIBUTE_SINGLETONS_SIZE (37)
// Total size of attribute storage
#define ATTRIBUTE_MAX_SIZE (435)
// Number of fixed endpoints
#define FIXED_ENDPOINT_COUNT (2)
// Array of endpoints that are supported, the data inside
// the array is the endpoint number.
#define FIXED_ENDPOINT_ARRAY \
{ \
0x0000, 0x0001 \
}
// Array of profile ids
#define FIXED_PROFILE_IDS \
{ \
0x0103, 0x0103 \
}
// Array of device types
#define FIXED_DEVICE_TYPES \
{ \
{ 0x0016, 1 }, { 0x0103, 1 } \
}
// Array of device type offsets
#define FIXED_DEVICE_TYPE_OFFSETS \
{ \
0, 1 \
}
// Array of device type lengths
#define FIXED_DEVICE_TYPE_LENGTHS \
{ \
1, 1 \
}
// Array of endpoint types supported on each endpoint
#define FIXED_ENDPOINT_TYPES \
{ \
0, 1 \
}
// Array of networks supported on each endpoint
#define FIXED_NETWORKS \
{ \
0, 0 \
}