#define NOT_USED(var) ((var) = (var))
+#define CHECK_PRECONDITION(handle, addr16, ep) \
+ do { \
+ CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE); \
+ RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER); \
+ RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR); \
+ RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS); \
+ RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT); \
+ } while (0)
+
+#define CHECK_RECORDS(records, count) \
+ do { \
+ RETV_IF(NULL == records, ZIGBEE_ERROR_INVALID_PARAMETER); \
+ RETV_IF(0 == count, ZIGBEE_ERROR_INVALID_PARAMETER); \
+ } while (0)
+
/*---------------------------------------------------------------------------------------
* For Event
*--------------------------------------------------------------------------------------*/
unsigned char alarm_code, zb_cluster_id clusterid)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_reset_alarm(addr16, ep, alarm_code, clusterid);
return ret;
unsigned char ep)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_reset_all_alarm(addr16, ep);
return ret;
zb_zcl_alarm_get_alarm_cb cb, void *user_data)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_get_alarm(addr16, ep, cb, user_data);
return ret;
unsigned char ep)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_reset_all_alarm_log(addr16, ep);
return ret;
unsigned char ep)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
+
ret = zbl_reset_factory_default(addr16, ep);
return ret;
}
unsigned short transition_time)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_move_to_hue(addr16, ep, hue, direction, transition_time);
return ret;
unsigned char ep, unsigned char move_mode, unsigned char rate)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_move_hue(addr16, ep, move_mode, rate);
return ret;
unsigned char transition_time)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_step_hue(addr16, ep, step_mode, step_size, transition_time);
return ret;
unsigned short transition_time)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_move_to_saturation(addr16, ep, saturation, transition_time);
return ret;
unsigned char ep, unsigned char move_mode, unsigned char rate)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_move_saturation(addr16, ep, move_mode, rate);
return ret;
unsigned char transition_time)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_step_saturation(addr16, ep, step_mode, step_size, transition_time);
return ret;
unsigned short transition_time)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_move_to_hue_and_saturation(addr16, ep, hue, saturation, transition_time);
return ret;
unsigned short transition_time)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_move_to_color(addr16, ep, color_x, color_y, transition_time);
return ret;
unsigned char ep, unsigned short rate_x, unsigned short rate_y)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_move_color(addr16, ep, rate_x, rate_y);
return ret;
unsigned short transition_time)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_step_color(addr16, ep, step_x, step_y, transition_time);
return ret;
unsigned short transition_time)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_ccontrol_move_to_color_temperature(addr16, ep, color_temperature, transition_time);
return ret;
zb_zcl_global_attr_read_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
RETV_IF(NULL == attribute_ids, ZIGBEE_ERROR_INVALID_PARAMETER);
RETV_IF(0 == attribute_ids_len, ZIGBEE_ERROR_INVALID_PARAMETER);
ret = zbl_read_attr_req(handle, addr16, dst_ep, zcl_fc, clusterid,
#if (0 == ZIGBEE_SUPPORT_ORDERED_SEQUENCE_DATA)
return ZIGBEE_ERROR_NOT_SUPPORTED;
#endif
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
- RETV_IF(NULL == records, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(0 == count, ZIGBEE_ERROR_INVALID_PARAMETER);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_RECORDS(records, count);
return ZIGBEE_ERROR_NONE;
}
zb_zcl_global_attr_write_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
- RETV_IF(NULL == records, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(0 == count, ZIGBEE_ERROR_INVALID_PARAMETER);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_RECORDS(records, count);
+
ret = zbl_write_attr_req(handle, addr16, src_ep, dst_ep, zcl_fc,
clusterid, records, count, cb, user_data);
return ret;
zb_zcl_global_attr_write_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
- RETV_IF(NULL == records, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(0 == count, ZIGBEE_ERROR_INVALID_PARAMETER);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_RECORDS(records, count);
+
ret = zbl_wattr_undivided_req(handle, addr16, src_ep, dst_ep, zcl_fc,
clusterid, records, count, cb, user_data);
return ret;
#if (0 == ZIGBEE_SUPPORT_ORDERED_SEQUENCE_DATA)
return ZIGBEE_ERROR_NOT_SUPPORTED;
#endif
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
- RETV_IF(NULL == records, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(0 == count, ZIGBEE_ERROR_INVALID_PARAMETER);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_RECORDS(records, count);
return ZIGBEE_ERROR_NONE;
}
unsigned short clusterid, zb_zcl_write_attr_record_h *records, int count)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
- RETV_IF(NULL == records, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(0 == count, ZIGBEE_ERROR_INVALID_PARAMETER);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_RECORDS(records, count);
+
ret = zbl_wattr_req_no_cb(handle, addr16, src_ep, dst_ep, zcl_fc,
clusterid, records, count);
return ret;
zb_zcl_global_config_report_write_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
- RETV_IF(NULL == records, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(0 == count, ZIGBEE_ERROR_INVALID_PARAMETER);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_RECORDS(records, count);
+
ret = zbl_write_config_report(handle, addr16, src_ep, dst_ep, zcl_fc,
clusterid, records, count, cb, user_data);
return ret;
int count, zb_zcl_global_config_report_read_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
- RETV_IF(NULL == records, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(0 == count, ZIGBEE_ERROR_INVALID_PARAMETER);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_RECORDS(records, count);
+
ret = zbl_read_config_report(handle, addr16, src_ep, dst_ep, zcl_fc,
clusterid, records, count, cb, user_data);
return ret;
zb_zcl_global_attr_discover_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+
ret = zbl_discover_attr_req(handle, addr16, src_ep, dst_ep, zcl_fc,
clusterid, start_id, max_attribute_ids, cb, user_data);
return ret;
unsigned char max_command_ids, zb_zcl_global_discover_cmds_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+
ret = zbl_discover_cmds_recv(handle, addr16, src_ep, dst_ep, zcl_fc,
clusterid, start_command_id, max_command_ids, cb, user_data);
return ret;
unsigned char max_command_ids, zb_zcl_global_discover_cmds_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+
ret = zbl_discover_cmds_gen(handle, addr16, src_ep, dst_ep, zcl_fc,
clusterid, start_command_id, max_command_ids, cb, user_data);
return ret;
void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == src_ep || 0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, src_ep);
+ RETV_IF(0 == dst_ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+
ret = zbl_discover_attr_ext(handle, addr16, src_ep, dst_ep, zcl_fc,
clusterid, start_id, max_attribute_ids, cb, user_data);
return ret;
zb_zcl_group_add_group_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
RETV_IF(NULL == group_name, ZIGBEE_ERROR_INVALID_PARAMETER);
ret = zbl_add_group(addr16, ep, group_id, group_name, cb, user_data);
return ret;
void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_view_group(addr16, ep, group_id, cb, user_data);
return ret;
}
zb_zcl_group_get_group_membership_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
RETV_IF(NULL == group_list, ZIGBEE_ERROR_INVALID_PARAMETER);
ret = zbl_group_get_group_membership(addr16, ep, group_count, group_list, cb, user_data);
return ret;
void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_remove_group(addr16, ep, group_id, cb, user_data);
return ret;
}
unsigned char ep)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_remove_all_group(addr16, ep);
return ret;
}
unsigned char ep, unsigned short group_id, const char *group_name)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_add_group_if_identifying(addr16, ep, group_id, group_name);
return ret;
}
unsigned short identify_time)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_identify(addr16, ep, identify_time);
return ret;
}
zb_zcl_identify_query_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_identify_query(addr16, ep, cb, user_data);
return ret;
}
unsigned char ep, unsigned char enroll_response_code, unsigned char zone_id)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_zone_enroll_response(addr16, ep, enroll_response_code, zone_id);
return ret;
}
unsigned char ep, unsigned char level, unsigned short transition_time)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_level_control_move_to_level(addr16, ep, level, transition_time);
return ret;
unsigned char ep, unsigned char move_mode, unsigned char rate)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_level_control_move(addr16, ep, move_mode, rate);
return ret;
unsigned char step_mode, unsigned char step_size, unsigned short transition_time)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_level_control_step(addr16, ep, step_mode, step_size, transition_time);
return ret;
API int zb_zcl_levelctrl_stop(zb_zigbee_h handle, zb_nwk_addr addr16, unsigned char ep)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_level_control_stop(addr16, ep);
return ret;
unsigned char ep, unsigned char level, unsigned short transition_time)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_level_control_move_to_level_with_on_off(addr16, ep, level, transition_time);
return ret;
unsigned char ep, unsigned char move_mode, unsigned char rate)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_level_control_move_with_on_off(addr16, ep, move_mode, rate);
return ret;
unsigned short transition_time)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_level_control_step_with_on_off(addr16, ep, step_mode, step_size, transition_time);
return ret;
zb_zcl_on_off_e on_off_type)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_onoff_set(addr16, ep, on_off_type);
return ret;
unsigned char ep, unsigned char start_fast_polling, unsigned short fast_poll_timeout)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_pollcontrol_check_in_response(addr16, ep, start_fast_polling,
fast_poll_timeout);
return ret;
unsigned char ep)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_pollcontrol_fast_poll_stop(addr16, ep);
return ret;
}
zb_zcl_pollctrl_check_in_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_pollcontrol_set_long_poll_interval(addr16, ep, new_long_poll_interval,
cb, user_data);
return ret;
zb_zcl_pollctrl_check_in_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_pollcontrol_set_short_poll_interval(addr16, ep, new_short_poll_interval,
cb, user_data);
return ret;
const char *extension_field_sets, zb_zcl_scene_add_scene_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
RETV_IF(NULL == scene_name, ZIGBEE_ERROR_INVALID_PARAMETER);
RETV_IF(NULL == extension_field_sets, ZIGBEE_ERROR_INVALID_PARAMETER);
ret = zbl_add_scene(addr16, ep, group_id, scene_id, transition_time, scene_name,
void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_view_scene(addr16, ep, group_id, scene_id, cb, user_data);
return ret;
}
zb_zcl_scene_remove_scene_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_remove_scene(addr16, ep, group_id, scene_id, cb, user_data);
return ret;
}
void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_remove_all_scene(addr16, ep, group_id, cb, user_data);
return ret;
}
void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_store_scene(addr16, ep, group_id, scene_id, cb, user_data);
return ret;
}
unsigned char ep, unsigned short group_id, unsigned char scene_id)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_recall_scene(addr16, ep, group_id, scene_id);
return ret;
}
zb_zcl_scene_get_scene_membership_cb cb, void *user_data)
{
int ret;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
+ CHECK_PRECONDITION(handle, addr16, ep);
ret = zbl_get_scene_membership(addr16, ep, group_id, cb, user_data);
return ret;
}
unsigned char ep, unsigned char mode, unsigned char amount)
{
int ret = ZIGBEE_ERROR_NONE;
- CHECK_FEATURE_SUPPORTED(ZIGBEE_FEATURE);
- RETV_IF(NULL == handle, ZIGBEE_ERROR_INVALID_PARAMETER);
- RETV_IF(NULL == zbl_dbus_get_object(), ZIGBEE_ERROR_IO_ERROR);
- RETV_IF(0 == addr16, ZIGBEE_ERROR_INVALID_ADDRESS);
+ CHECK_PRECONDITION(handle, addr16, ep);
RETV_IF(0x02 < mode, ZIGBEE_ERROR_PARAMETER_OUT_OF_RANGE);
- RETV_IF(0 == ep, ZIGBEE_ERROR_INVALID_ENDPOINT);
ret = zbl_thermostat_adjust_setpoint(addr16, ep, mode, amount);
return ret;