* limitations under the License.
*/
-#ifndef __ZIGBEE_LIB_ZCLGLOBAL_CONTROL_H__
-#define __ZIGBEE_LIB_ZCLGLOBAL_CONTROL_H__
+#ifndef __ZIGBEE_LIB_DRIVER_ZCLGLOBAL_CONTROL_H__
+#define __ZIGBEE_LIB_DRIVER_ZCLGLOBAL_CONTROL_H__
/**< ZigBee 'Zclglobal control' driver operations */
typedef struct {
- gboolean (*read_attributes_req)(ZigBeeDriver *driver);
- gboolean (*write_attributes_req)(ZigBeeDriver *driver);
- gboolean (*write_attributes_undivided_req)(ZigBeeDriver *driver);
- gboolean (*write_attributes_no_resp)(ZigBeeDriver *driver);
- gboolean (*write_attributes_structured)(ZigBeeDriver *driver);
- gboolean (*read_attributes_structured)(ZigBeeDriver *driver);
- gboolean (*configure_reporting_req)(ZigBeeDriver *driver);
- gboolean (*read_configure_reporting)(ZigBeeDriver *driver);
- gboolean (*discover_attributes)(ZigBeeDriver *driver);
- gboolean (*discover_attributes_extended)(ZigBeeDriver *driver);
- gboolean (*discover_commands_received)(ZigBeeDriver *driver);
- gboolean (*discover_commands_generated)(ZigBeeDriver *driver);
+ gboolean (*read_attributes_req)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*write_attributes_req)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*write_attributes_undivided_req)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*write_attributes_no_resp)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*write_attributes_structured)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*read_attributes_structured)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*configure_reporting_req)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*read_configure_reporting)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*discover_attributes)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*discover_attributes_extended)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*discover_commands_received)(ZigBeeDriver *driver, guint request_id);
+ gboolean (*discover_commands_generated)(ZigBeeDriver *driver, guint request_id);
} ZblibDriverZclglobalControlOps_t;
+/**< ZigBee 'Zclglobal control' ops IDs */
+typedef enum {
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_READ_ATTRIBUTES_REQ = 1, /**< Read attributes req */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_WRITE_ATTRIBUTES_REQ, /**< Write attributes req */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_WRITE_ATTRIBUTES_UNDIVIDED_REQ, /**< Write attributes undivided req */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_WRITE_ATTRIBUTES_NO_RESP, /**< Write attributes no resp */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_WRITE_ATTRIBUTES_STRUCTURED, /**< Write attributes structured */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_READ_ATTRIBUTES_STRUCTURED, /**< Read attributes structured */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_CONFIGURE_REPORTING_REQ, /**< Configure reporting req */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_READ_CONFIGURE_REPORTING, /**< Read configure reporting */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_DISCOVER_ATTRIBUTES, /**< Discover attributes */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_DISCOVER_ATTRIBUTES_EXTENDED, /**< Discover attributes extended */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_DISCOVER_COMMANDS_RECEIVED, /**< Discover commands received */
+ ZBLIB_ZCLGLOBAL_CONTROL_OPS_DISCOVER_COMMANDS_GENERATED, /**< Discover commands generated */
+} ZblibZclglobalControlOps_e;
+
/* ZigBee 'Zclglobal control' driver APIs */
ZigBeeDriver *zblib_driver_zclglobal_control_new(ZigBeePlugin *plugin,
const gchar *driver_name,
ZblibDriverZclglobalControlOps_t *ops);
void zblib_driver_zclglobal_control_free(ZigBeeDriver *driver);
-#endif /* __ZIGBEE_LIB_ZCLGLOBAL_CONTROL_H__ */
+#endif /* __ZIGBEE_LIB_DRIVER_ZCLGLOBAL_CONTROL_H__ */