# CHIP Zigbee Cluster Library (ZCL) Documentation ## What is this? Documentation for the CHIP Zigbee Cluster Library (ZCL) implementation also called the CHIP ZCL Application Framework. This document provides information on how the different parts of the CHIP Application layer implementation of the Zigbee Cluster Library fit together. **_THIS DOCUMENT IS A WORK IN PROGRESS AS THE DESIGN OF THE CHIP APPLICATION FRAMEWORK IS STILL IN FLUX_** ## Directory Structure ### /src/app/util This directory contains various utilities and some of the external API headers for interacting with the data model layer. In particular the various data type definitions and the public APIs to the data model are declared in the headers here. ### /src/app/docs This directory contains all the documentation for the CHIP ZCL Application Framework including the file you are reading right now. ### /src/app/clusters This directory contains all of the cluster implementations included in the CHIP ZCL Application Framework. ### /src/app/zap-templates This directory contains all of the templates and helpers specific to CHIP for the ZAP tool. ## Public APIs ### Attribute changes When a ZCL attribute is updated in the data model, the framework will call the postAttributeChangeCallback, if this callback is implemented by the device it will be informed of the attribute change. The device may react to the attribute change. For instance, if the on/off attribute in the On-Off Cluster changes, the application which implements the postAttributeChangeCallback may reflect this by toggling the actual pin tied to an LED.