13 #ifndef PACKET_ZBEE_ZCL_H 14 #define PACKET_ZBEE_ZCL_H 20 gboolean disable_default_resp;
29 #define ZBEE_ZCL_CMD_READ_ATTR 0x00 30 #define ZBEE_ZCL_CMD_READ_ATTR_RESP 0x01 31 #define ZBEE_ZCL_CMD_WRITE_ATTR 0x02 32 #define ZBEE_ZCL_CMD_WRITE_ATTR_UNDIVIDED 0x03 33 #define ZBEE_ZCL_CMD_WRITE_ATTR_RESP 0x04 34 #define ZBEE_ZCL_CMD_WRITE_ATTR_NO_RESP 0x05 35 #define ZBEE_ZCL_CMD_CONFIG_REPORT 0x06 36 #define ZBEE_ZCL_CMD_CONFIG_REPORT_RESP 0x07 37 #define ZBEE_ZCL_CMD_READ_REPORT_CONFIG 0x08 38 #define ZBEE_ZCL_CMD_READ_REPORT_CONFIG_RESP 0x09 39 #define ZBEE_ZCL_CMD_REPORT_ATTR 0x0a 40 #define ZBEE_ZCL_CMD_DEFAULT_RESP 0x0b 41 #define ZBEE_ZCL_CMD_DISCOVER_ATTR 0x0c 42 #define ZBEE_ZCL_CMD_DISCOVER_ATTR_RESP 0x0d 43 #define ZBEE_ZCL_CMD_READ_ATTR_STRUCT 0x0e 44 #define ZBEE_ZCL_CMD_WRITE_ATTR_STRUCT 0x0f 45 #define ZBEE_ZCL_CMD_WRITE_ATTR_STRUCT_RESP 0x10 46 #define ZBEE_ZCL_CMD_DISCOVER_CMDS_REC 0x11 47 #define ZBEE_ZCL_CMD_DISCOVER_CMDS_REC_RESP 0x12 50 #define ZBEE_ZCL_NO_DATA 0x00 52 #define ZBEE_ZCL_8_BIT_DATA 0x08 53 #define ZBEE_ZCL_16_BIT_DATA 0x09 54 #define ZBEE_ZCL_24_BIT_DATA 0x0a 55 #define ZBEE_ZCL_32_BIT_DATA 0x0b 56 #define ZBEE_ZCL_40_BIT_DATA 0x0c 57 #define ZBEE_ZCL_48_BIT_DATA 0x0d 58 #define ZBEE_ZCL_56_BIT_DATA 0x0e 59 #define ZBEE_ZCL_64_BIT_DATA 0x0f 61 #define ZBEE_ZCL_BOOLEAN 0x10 63 #define ZBEE_ZCL_8_BIT_BITMAP 0x18 64 #define ZBEE_ZCL_16_BIT_BITMAP 0x19 65 #define ZBEE_ZCL_24_BIT_BITMAP 0x1a 66 #define ZBEE_ZCL_32_BIT_BITMAP 0x1b 67 #define ZBEE_ZCL_40_BIT_BITMAP 0x1c 68 #define ZBEE_ZCL_48_BIT_BITMAP 0x1d 69 #define ZBEE_ZCL_56_BIT_BITMAP 0x1e 70 #define ZBEE_ZCL_64_BIT_BITMAP 0x1f 72 #define ZBEE_ZCL_8_BIT_UINT 0x20 73 #define ZBEE_ZCL_16_BIT_UINT 0x21 74 #define ZBEE_ZCL_24_BIT_UINT 0x22 75 #define ZBEE_ZCL_32_BIT_UINT 0x23 76 #define ZBEE_ZCL_40_BIT_UINT 0x24 77 #define ZBEE_ZCL_48_BIT_UINT 0x25 78 #define ZBEE_ZCL_56_BIT_UINT 0x26 79 #define ZBEE_ZCL_64_BIT_UINT 0x27 81 #define ZBEE_ZCL_8_BIT_INT 0x28 82 #define ZBEE_ZCL_16_BIT_INT 0x29 83 #define ZBEE_ZCL_24_BIT_INT 0x2a 84 #define ZBEE_ZCL_32_BIT_INT 0x2b 85 #define ZBEE_ZCL_40_BIT_INT 0x2c 86 #define ZBEE_ZCL_48_BIT_INT 0x2d 87 #define ZBEE_ZCL_56_BIT_INT 0x2e 88 #define ZBEE_ZCL_64_BIT_INT 0x2f 90 #define ZBEE_ZCL_8_BIT_ENUM 0x30 91 #define ZBEE_ZCL_16_BIT_ENUM 0x31 93 #define ZBEE_ZCL_SEMI_FLOAT 0x38 94 #define ZBEE_ZCL_SINGLE_FLOAT 0x39 95 #define ZBEE_ZCL_DOUBLE_FLOAT 0x3a 97 #define ZBEE_ZCL_OCTET_STRING 0x41 98 #define ZBEE_ZCL_CHAR_STRING 0x42 99 #define ZBEE_ZCL_LONG_OCTET_STRING 0x43 100 #define ZBEE_ZCL_LONG_CHAR_STRING 0x44 102 #define ZBEE_ZCL_ARRAY 0x48 103 #define ZBEE_ZCL_STRUCT 0x4c 105 #define ZBEE_ZCL_SET 0x50 106 #define ZBEE_ZCL_BAG 0x51 108 #define ZBEE_ZCL_TIME 0xe0 109 #define ZBEE_ZCL_DATE 0xe1 110 #define ZBEE_ZCL_UTC 0xe2 112 #define ZBEE_ZCL_CLUSTER_ID 0xe8 113 #define ZBEE_ZCL_ATTR_ID 0xe9 114 #define ZBEE_ZCL_BACNET_OID 0xea 116 #define ZBEE_ZCL_IEEE_ADDR 0xf0 117 #define ZBEE_ZCL_SECURITY_KEY 0xf1 119 #define ZBEE_ZCL_UNKNOWN 0xff 122 #define ZBEE_ZCL_INVALID_STR_LENGTH 0xff 123 #define ZBEE_ZCL_INVALID_LONG_STR_LENGTH 0xffff 124 #define ZBEE_ZCL_NUM_INDIVIDUAL_ETT 2 125 #define ZBEE_ZCL_NUM_ATTR_ETT 64 126 #define ZBEE_ZCL_NUM_ARRAY_ELEM_ETT 16 127 #define ZBEE_ZCL_NUM_TOTAL_ETT (ZBEE_ZCL_NUM_INDIVIDUAL_ETT + ZBEE_ZCL_NUM_ATTR_ETT + ZBEE_ZCL_NUM_ARRAY_ELEM_ETT) 128 #define ZBEE_ZCL_DIR_REPORTED 0 129 #define ZBEE_ZCL_DIR_RECEIVED 1 131 #define ZBEE_ZCL_NSTIME_UTC_OFFSET (((3*365 + 366)*7 + 2*365)*24*3600) 132 #define IS_ANALOG_SUBTYPE(x) ( (x & 0xF0) == 0x20 || (x & 0xF8) == 0x38 || (x & 0xF8) == 0xE0 ) 135 #define ZBEE_ZCL_STAT_SUCCESS 0x00 136 #define ZBEE_ZCL_STAT_FAILURE 0x01 138 #define ZBEE_ZCL_STAT_NOT_AUTHORIZED 0x7e 139 #define ZBEE_ZCL_STAT_RESERVED_FIELD_NOT_ZERO 0x7f 140 #define ZBEE_ZCL_STAT_MALFORMED_CMD 0x80 141 #define ZBEE_ZCL_STAT_UNSUP_CLUSTER_CMD 0x81 142 #define ZBEE_ZCL_STAT_UNSUP_GENERAL_CMD 0x82 143 #define ZBEE_ZCL_STAT_UNSUP_MFR_CLUSTER_CMD 0x83 144 #define ZBEE_ZCL_STAT_UNSUP_MFR_GENERAL_CMD 0x84 145 #define ZBEE_ZCL_STAT_INVALID_FIELD 0x85 146 #define ZBEE_ZCL_STAT_UNSUPPORTED_ATTR 0x86 147 #define ZBEE_ZCL_STAT_INVALID_VALUE 0x87 148 #define ZBEE_ZCL_STAT_READ_ONLY 0x88 149 #define ZBEE_ZCL_STAT_INSUFFICIENT_SPACE 0x89 150 #define ZBEE_ZCL_STAT_DUPLICATE_EXISTS 0x8a 151 #define ZBEE_ZCL_STAT_NOT_FOUND 0x8b 152 #define ZBEE_ZCL_STAT_UNREPORTABLE_ATTR 0x8c 153 #define ZBEE_ZCL_STAT_INVALID_DATA_TYPE 0x8d 154 #define ZBEE_ZCL_STAT_INVALID_SELECTOR 0x8e 155 #define ZBEE_ZCL_STAT_WRITE_ONLY 0x8f 156 #define ZBEE_ZCL_STAT_INCONSISTENT_STARTUP_STATE 0x90 157 #define ZBEE_ZCL_STAT_DEFINED_OUT_OF_BAND 0x91 158 #define ZBEE_ZCL_STAT_INCONSISTENT 0x92 159 #define ZBEE_ZCL_STAT_ACTION_DENIED 0x93 160 #define ZBEE_ZCL_STAT_TIMEOUT 0x94 161 #define ZBEE_ZCL_STAT_OTA_ABORT 0x95 162 #define ZBEE_ZCL_STAT_OTA_INVALID_IMAGE 0x96 163 #define ZBEE_ZCL_STAT_OTA_WAIT_FOR_DATA 0x97 164 #define ZBEE_ZCL_STAT_OTA_NO_IMAGE_AVAILABLE 0x98 165 #define ZBEE_ZCL_STAT_OTA_REQUIRE_MORE_IMAGE 0x99 166 #define ZBEE_ZCL_STAT_OTA_NOTIFICATION_PENDING 0x9a 167 #define ZBEE_ZCL_STAT_HARDWARE_FAILURE 0xc0 168 #define ZBEE_ZCL_STAT_SOFTWARE_FAILURE 0xc1 169 #define ZBEE_ZCL_STAT_CALIBRATION_ERROR 0xc2 170 #define ZBEE_ZCL_STAT_UNSUPPORTED_CLUSTER 0xc3 171 #define ZBEE_ZCL_STAT_LIMIT_REACHED 0xc4 174 #define INT24_SIGN_BITS 0xffff8000 175 #define MONTHS_PER_YEAR 12 176 #define YEAR_OFFSET 1900 179 #define ZCL_CLUSTER_MFR_KEY(cluster_id,mfr_code) (((mfr_code)<<16) | (cluster_id)) 181 typedef void (*zbee_zcl_fn_attr_data)(
proto_tree *tree,
tvbuff_t *tvb, guint *offset, guint16 attr_id, guint data_type, gboolean client_attr);
188 int hf_attr_server_id;
189 int hf_attr_client_id;
194 zbee_zcl_fn_attr_data fn_attr_data;
197 extern const value_string zbee_zcl_short_data_type_names[];
202 extern void dissect_zcl_read_attr (
tvbuff_t *tvb,
packet_info *pinfo,
proto_tree *tree, guint *offset, guint16 cluster_id, guint16 mfr_code, gboolean direction);
203 extern void dissect_zcl_write_attr (
tvbuff_t *tvb,
packet_info *pinfo,
proto_tree *tree, guint *offset, guint16 cluster_id, guint16 mfr_code, gboolean direction);
204 extern void dissect_zcl_report_attr(
tvbuff_t *tvb,
packet_info *pinfo _U_,
proto_tree *tree, guint *offset, guint16 cluster_id, guint16 mfr_code, gboolean direction);
205 extern void dissect_zcl_read_attr_resp (
tvbuff_t *tvb,
packet_info *pinfo,
proto_tree *tree, guint *offset, guint16 cluster_id, guint16 mfr_code, gboolean direction);
211 WS_DLL_PUBLIC
void decode_zcl_time_in_100ms (gchar *s, guint16 value);
212 WS_DLL_PUBLIC
void decode_zcl_time_in_seconds (gchar *s, guint16 value);
213 WS_DLL_PUBLIC
void decode_zcl_time_in_minutes (gchar *s, guint16 value);
214 WS_DLL_PUBLIC
void dissect_zcl_attr_data (
tvbuff_t *tvb,
proto_tree *tree, guint *offset, guint data_type, gboolean client_attr);
216 WS_DLL_PUBLIC
void zbee_zcl_init_cluster(
const char *proto_abbrev,
int proto, gint ett, guint16 cluster_id, guint16 mfr_code,
int hf_attr_server_id,
int hf_attr_client_id,
int hf_cmd_rx_id,
int hf_cmd_tx_id, zbee_zcl_fn_attr_data fn_attr_data);
219 #define ZBEE_ZCL_CSC_IAS_ZONE_C_ERC_NEP 0x02 220 #define ZBEE_ZCL_CSC_IAS_ZONE_C_ERC_NS 0x01 221 #define ZBEE_ZCL_CSC_IAS_ZONE_C_ERC_S 0x00 222 #define ZBEE_ZCL_CSC_IAS_ZONE_C_ERC_TMZ 0x03 223 #define ZBEE_ZCL_CSC_IAS_ZONE_C_ZER 0x00 224 #define ZBEE_ZCL_CSC_IAS_ZONE_S_ZER 0x01 225 #define ZBEE_ZCL_CSC_IAS_ZONE_S_ZSCN 0x00 226 #define ZBEE_ZCL_CSC_POLL_CONTROL_C_CIR 0x00 227 #define ZBEE_ZCL_CSC_POLL_CONTROL_C_FPS 0x01 228 #define ZBEE_ZCL_CSC_POLL_CONTROL_C_SLPI 0x02 229 #define ZBEE_ZCL_CSC_POLL_CONTROL_C_SSPI 0x03 230 #define ZBEE_ZCL_CSC_POLL_CONTROL_S_CI 0x00 231 #define ZBEE_ZCL_CSC_THERMOSTAT_C_CWS 0x03 232 #define ZBEE_ZCL_CSC_THERMOSTAT_C_GWS 0x02 233 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SRL 0x00 234 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS 0x01 235 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_DOW_AV 0x80 236 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_DOW_FR 0x20 237 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_DOW_MO 0x02 238 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_DOW_SA 0x40 239 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_DOW_SU 0x01 240 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_DOW_TH 0x10 241 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_DOW_TU 0x04 242 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_DOW_WE 0x08 243 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_SP_B 0x03 244 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_SP_C 0x02 245 #define ZBEE_ZCL_CSC_THERMOSTAT_C_SWS_SP_H 0x01 246 #define ZBEE_ZCL_CSC_THERMOSTAT_S_GWSR 0x00 Definition: packet-zbee-zcl.h:17
Definition: packet_info.h:44
Definition: packet-zbee-zcl.h:183
Definition: tvbuff-int.h:35
Definition: value_string.h:24