3 * Copyright (c) 2021 Project CHIP Authors
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 // THIS FILE IS GENERATED BY ZAP
20 // Prevent multiple inclusion
23 // Attribute masks modify how attributes are used by the framework
25 // Attribute that has this mask is NOT read-only
26 #define ATTRIBUTE_MASK_WRITABLE (0x01)
27 // Attribute that has this mask is saved to a token
28 #define ATTRIBUTE_MASK_TOKENIZE (0x02)
29 // Attribute that has this mask has a min/max values
30 #define ATTRIBUTE_MASK_MIN_MAX (0x04)
31 // Manufacturer specific attribute
32 #define ATTRIBUTE_MASK_MANUFACTURER_SPECIFIC (0x08)
33 // Attribute deferred to external storage
34 #define ATTRIBUTE_MASK_EXTERNAL_STORAGE (0x10)
35 // Attribute is singleton
36 #define ATTRIBUTE_MASK_SINGLETON (0x20)
37 // Attribute is a client attribute
38 #define ATTRIBUTE_MASK_CLIENT (0x40)
40 // Cluster masks modify how clusters are used by the framework
42 // Does this cluster have init function?
43 #define CLUSTER_MASK_INIT_FUNCTION (0x01)
44 // Does this cluster have attribute changed function?
45 #define CLUSTER_MASK_ATTRIBUTE_CHANGED_FUNCTION (0x02)
46 // Does this cluster have default response function?
47 #define CLUSTER_MASK_DEFAULT_RESPONSE_FUNCTION (0x04)
48 // Does this cluster have message sent function?
49 #define CLUSTER_MASK_MESSAGE_SENT_FUNCTION (0x08)
50 // Does this cluster have manufacturer specific attribute changed function?
51 #define CLUSTER_MASK_MANUFACTURER_SPECIFIC_ATTRIBUTE_CHANGED_FUNCTION (0x10)
52 // Does this cluster have pre-attribute changed function?
53 #define CLUSTER_MASK_PRE_ATTRIBUTE_CHANGED_FUNCTION (0x20)
54 // Cluster is a server
55 #define CLUSTER_MASK_SERVER (0x40)
56 // Cluster is a client
57 #define CLUSTER_MASK_CLIENT (0x80)
59 // Command masks modify meanings of commands
61 // Is sending of this client command supported
62 #define COMMAND_MASK_OUTGOING_CLIENT (0x01)
63 // Is sending of this server command supported
64 #define COMMAND_MASK_OUTGOING_SERVER (0x02)
65 // Is receiving of this client command supported
66 #define COMMAND_MASK_INCOMING_CLIENT (0x04)
67 // Is receiving of this server command supported
68 #define COMMAND_MASK_INCOMING_SERVER (0x08)
69 // Is this command manufacturer specific?
70 #define COMMAND_MASK_MANUFACTURER_SPECIFIC (0x10)