3 * Copyright (c) 2020 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.
20 * Copyright (c) 2020 Silicon Labs
22 * Licensed under the Apache License, Version 2.0 (the "License");
23 * you may not use this file except in compliance with the License.
24 * You may obtain a copy of the License at
26 * http://www.apache.org/licenses/LICENSE-2.0
28 * Unless required by applicable law or agreed to in writing, software
29 * distributed under the License is distributed on an "AS IS" BASIS,
30 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31 * See the License for the specific language governing permissions and
32 * limitations under the License.
34 /***************************************************************************/
37 * @brief This file contains the definitions for the
38 *attribute table, its sizes, count, and API.
39 *******************************************************************************
40 ******************************************************************************/
46 #define ZCL_NULL_ATTRIBUTE_TABLE_INDEX 0xFFFF
48 // Remote devices writing attributes of local device
49 EmberAfStatus emberAfWriteAttributeExternal(chip::EndpointId endpoint, chip::ClusterId cluster, chip::AttributeId attributeID,
50 uint8_t mask, uint16_t manufacturerCode, uint8_t * dataPtr,
51 EmberAfAttributeType dataType);
53 void emberAfRetrieveAttributeAndCraftResponse(chip::EndpointId endpoint, chip::ClusterId clusterId, chip::AttributeId attrId,
54 uint8_t mask, uint16_t manufacturerCode, uint16_t readLength);
55 EmberAfStatus emberAfAppendAttributeReportFields(chip::EndpointId endpoint, chip::ClusterId clusterId,
56 chip::AttributeId attributeId, uint8_t mask, uint8_t * buffer, uint8_t bufLen,
58 void emberAfPrintAttributeTable(void);
60 bool emberAfReadSequentialAttributesAddToResponse(chip::EndpointId endpoint, chip::ClusterId clusterId,
61 chip::AttributeId startAttributeId, uint8_t mask, uint16_t manufacturerCode,
62 uint8_t maxAttributeIds, bool includeAccessControl);
64 EmberAfStatus emAfWriteAttribute(chip::EndpointId endpoint, chip::ClusterId cluster, chip::AttributeId attributeID, uint8_t mask,
65 uint16_t manufacturerCode, uint8_t * data, EmberAfAttributeType dataType,
66 bool overrideReadOnlyAndDataType, bool justTest);
68 EmberAfStatus emAfReadAttribute(chip::EndpointId endpoint, chip::ClusterId cluster, chip::AttributeId attributeID, uint8_t mask,
69 uint16_t manufacturerCode, uint8_t * dataPtr, uint16_t readLength, EmberAfAttributeType * dataType);