Fix build issue on 64bit environment
[platform/core/connectivity/zigbee-manager.git] / zigbee-daemon / zigbee-lib / src / zblib_request.c
index 060b9d0..f23f3e5 100644 (file)
@@ -59,7 +59,7 @@ static ZblibDriverType_e __zblib_request_get_driver_type(guint request_type)
 {
        ZblibDriverType_e driver_type;
 
-       driver_type = ((request_type && 0xFF000000) >> 24);
+       driver_type = ((request_type & 0xFF000000) >> 24);
 
        return driver_type;
 }
@@ -68,7 +68,7 @@ static ZblibDriverType_e __zblib_request_get_ops_id(guint request_type)
 {
        guint ops_id;
 
-       ops_id = (request_type && 0x000000FF);
+       ops_id = (request_type & 0x000000FF);
 
        return ops_id;
 }
@@ -87,7 +87,7 @@ static ZigBeeRequest *__zblib_request_ref_request_by_by_request_id(ZigBeeService
        }
 
        /* Look-up requets_id in request hash table */
-       request = (ZigBeeRequest *)g_hash_table_lookup(request_table, (gconstpointer)request_id);
+       request = (ZigBeeRequest *)g_hash_table_lookup(request_table, (gconstpointer)GUINT_TO_POINTER(request_id));
        if (NULL == request) {
                Z_LOGE("No request available for request_id: [%d]", request_id);
                return NULL;
@@ -125,8 +125,8 @@ static ZigBeeRequest *__zblib_request_ref_request_by_request_id(ZigBeeService *s
        }
 
        /* Look-up requets_id in request hash table */
-       request = (ZigBeeRequest *)g_hash_table_lookup(request_table, (gconstpointer)request_id);
-       if (NULL == request_table) {
+       request = (ZigBeeRequest *)g_hash_table_lookup(request_table, (gconstpointer)GUINT_TO_POINTER(request_id));
+       if (NULL == request) {
                Z_LOGE("No request available for request_id: [%d]", request_id);
                return NULL;
        }
@@ -245,7 +245,21 @@ static gpointer __zblib_request_create_zcl_alarm_request_data(guint request_type
        break;
 
        case ZBLIB_ZCL_ALARM_OPS_GET_ALARM: {
-               alarm_request_data = NULL;
+               ZigbeeZclAlarmGetAlarm_t *in_req;
+               ZigbeeZclAlarmGetAlarm_t *req = NULL;
+
+               in_req = (ZigbeeZclAlarmGetAlarm_t *)request_data;
+               if (in_req) {
+                       /* Allocate memory */
+                       req = (ZigbeeZclAlarmGetAlarm_t *)
+                               g_malloc0(sizeof(ZigbeeZclAlarmGetAlarm_t));
+
+                       /* Copy data */
+                       req->node_id = in_req->node_id;
+                       req->endpoint = in_req->endpoint;
+               }
+
+               alarm_request_data = (gpointer)req;
        }
        break;
 
@@ -286,8 +300,10 @@ static gpointer __zblib_request_create_custom_request_data(guint request_type,
                        req->profile_id = in_req->profile_id;
                        req->zcl_frame_ctrl = in_req->zcl_frame_ctrl;
                        req->mfg_code = in_req->mfg_code;
+                       req->cmd_id = in_req->cmd_id;
+                       req->payload_len = in_req->payload_len;
                        memcpy(req->payload,
-                               in_req->payload, ZIGBEE_CUSTOM_SEND_PAYLOAD_LEN);
+                               in_req->payload, req->payload_len);
                }
 
                custom_request_data = (gpointer)req;
@@ -311,8 +327,9 @@ static gpointer __zblib_request_create_custom_request_data(guint request_type,
                        req->cluster_id = in_req->cluster_id;
                        req->zcl_frame_ctrl = in_req->zcl_frame_ctrl;
                        req->cmd_id = in_req->cmd_id;
+                       req->payload_len = in_req->payload_len;
                        memcpy(req->payload,
-                               in_req->payload, ZIGBEE_CUSTOM_SEND_PAYLOAD_LEN);
+                               in_req->payload, req->payload_len);
                }
 
                custom_request_data = (gpointer)req;
@@ -330,8 +347,9 @@ static gpointer __zblib_request_create_custom_request_data(guint request_type,
                                g_malloc0(sizeof(ZigbeeCustomSendToLocal_t));
 
                        /* Copy data */
+                       req->length = in_req->length;
                        memcpy(req->data,
-                               in_req->data, ZIGBEE_CUSTOM_SEND_PAYLOAD_LEN);
+                               in_req->data, req->length);
                }
 
                custom_request_data = (gpointer)req;
@@ -616,7 +634,7 @@ static gpointer __zblib_request_create_zcl_level_control_request_data(guint requ
                        req->node_id = in_req->node_id;
                        req->endpoint = in_req->endpoint;
                        req->step_mode = in_req->step_mode;
-                       req->move_mode = in_req->move_mode;
+                       req->step_size = in_req->step_size;
                        req->transition_time = in_req->transition_time;
                }
 
@@ -680,7 +698,7 @@ static gpointer __zblib_request_create_zcl_level_control_request_data(guint requ
                        req->node_id = in_req->node_id;
                        req->endpoint = in_req->endpoint;
                        req->step_mode = in_req->step_mode;
-                       req->move_mode = in_req->move_mode;
+                       req->step_size = in_req->step_size;
                        req->transition_time = in_req->transition_time;
                }
 
@@ -1119,16 +1137,6 @@ static gpointer __zblib_request_create_service_request_data(guint request_type,
        /* Fetch ops ID */
        ops_id = __zblib_request_get_ops_id(request_type);
        switch (ops_id) {
-       case ZBLIB_SERVICE_OPS_ENABLE: {
-               service_request_data = NULL;
-       }
-       break;
-
-       case ZBLIB_SERVICE_OPS_DISABLE: {
-               service_request_data = NULL;
-       }
-       break;
-
        case ZBLIB_SERVICE_OPS_ZB_HW_RESET: {
                service_request_data = NULL;
        }
@@ -1282,6 +1290,7 @@ static gpointer __zblib_request_create_service_request_data(guint request_type,
        break;
 
        default:
+               Z_LOGE("Unexpected operation [%x]", ops_id);
        break;
        }
 
@@ -1465,12 +1474,16 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
 
                in_req = (ZigbeeZclGlobalControlReadAttributesRequest_t *)request_data;
                if (NULL != in_req) {
+                       guint i;
                        /* Allocate memory */
                        req = (ZigbeeZclGlobalControlReadAttributesRequest_t *)
                                g_malloc0(sizeof(ZigbeeZclGlobalControlReadAttributesRequest_t));
 
                        /* Copy data */
-                       req->attribute_id = g_strdup(in_req->attribute_id);
+                       for (i = 0; i < (in_req->attribute_id_len * sizeof(short)); i++)
+                               Z_LOGE("in_req->attribute_id[%d] = 0x%X", i, in_req->attribute_id[i]);
+                       req->attribute_id = g_memdup(in_req->attribute_id,
+                               in_req->attribute_id_len * sizeof(short));
                        req->attribute_id_len = in_req->attribute_id_len;
                        req->node_id = in_req->node_id;
                        req->cluster_id = in_req->cluster_id;
@@ -1493,7 +1506,7 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                                g_malloc0(sizeof(ZigbeeZclGlobalControlWriteAttributesRequest_t));
 
                        /* Copy data */
-                       req->write_records = g_strdup(in_req->write_records);
+                       req->write_records = g_memdup(in_req->write_records, in_req->records_len);
                        req->records_len = in_req->records_len;
                        req->node_id = in_req->node_id;
                        req->cluster_id = in_req->cluster_id;
@@ -1517,7 +1530,7 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                                g_malloc0(sizeof(ZigbeeZclGlobalControlWriteAttributesUndividedRequest_t));
 
                        /* Copy data */
-                       req->write_records = g_strdup(in_req->write_records);
+                       req->write_records = g_memdup(in_req->write_records, in_req->records_len);
                        req->records_len = in_req->records_len;
                        req->node_id = in_req->node_id;
                        req->cluster_id = in_req->cluster_id;
@@ -1541,7 +1554,7 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                                g_malloc0(sizeof(ZigbeeZclGlobalControlWriteAttributesNoResponse_t));
 
                        /* Copy data */
-                       req->write_records = g_strdup(in_req->write_records);
+                       req->write_records = g_memdup(in_req->write_records, in_req->records_len);
                        req->records_len = in_req->records_len;
                        req->node_id = in_req->node_id;
                        req->cluster_id = in_req->cluster_id;
@@ -1565,7 +1578,7 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                                g_malloc0(sizeof(ZigbeeZclGlobalControlWriteAttributesStructed_t));
 
                        /* Copy data */
-                       req->write_records = g_strdup(in_req->write_records);
+                       req->write_records = g_memdup(in_req->write_records, in_req->records_len);
                        req->records_len = in_req->records_len;
                        req->node_id = in_req->node_id;
                        req->cluster_id = in_req->cluster_id;
@@ -1589,7 +1602,7 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                                g_malloc0(sizeof(ZigbeeZclGlobalControlReadAttributesStructed_t));
 
                        /* Copy data */
-                       req->read_records = g_strdup(in_req->read_records);
+                       req->read_records = g_memdup(in_req->read_records, in_req->records_len);
                        req->records_len = in_req->records_len;
                        req->node_id = in_req->node_id;
                        req->cluster_id = in_req->cluster_id;
@@ -1613,7 +1626,7 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                                g_malloc0(sizeof(ZigbeeZclGlobalControlConfigureReportingReq_t));
 
                        /* Copy data */
-                       req->read_records = g_strdup(in_req->read_records);
+                       req->read_records = g_memdup(in_req->read_records, in_req->records_len);
                        req->records_len = in_req->records_len;
                        req->node_id = in_req->node_id;
                        req->cluster_id = in_req->cluster_id;
@@ -1637,7 +1650,7 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                                g_malloc0(sizeof(ZigbeeZclGlobalControlReadConfigureReporting_t));
 
                        /* Copy data */
-                       req->read_records = g_strdup(in_req->read_records);
+                       req->read_records = g_memdup(in_req->read_records, in_req->records_len);
                        req->records_len = in_req->records_len;
                        req->node_id = in_req->node_id;
                        req->cluster_id = in_req->cluster_id;
@@ -1666,7 +1679,7 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                        req->zcl_frame_ctrl = in_req->zcl_frame_ctrl;
                        req->cluster_id = in_req->cluster_id;
                        req->start_attribute = in_req->start_attribute;
-                       req->max = in_req->max;
+                       req->max_attribute_count = in_req->max_attribute_count;
                }
 
                zclglobal_control_request_data = (gpointer)req;
@@ -1689,7 +1702,7 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                        req->zcl_frame_ctrl = in_req->zcl_frame_ctrl;
                        req->cluster_id = in_req->cluster_id;
                        req->start_attribute = in_req->start_attribute;
-                       req->max = in_req->max;
+                       req->max_attribute_count = in_req->max_attribute_count;
                }
 
                zclglobal_control_request_data = (gpointer)req;
@@ -1711,8 +1724,8 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                        req->dest_ep = in_req->dest_ep;
                        req->zcl_frame_ctrl = in_req->zcl_frame_ctrl;
                        req->cluster_id = in_req->cluster_id;
-                       req->start_attribute = in_req->start_attribute;
-                       req->max = in_req->max;
+                       req->start_command = in_req->start_command;
+                       req->max_command_count = in_req->max_command_count;
                }
 
                zclglobal_control_request_data = (gpointer)req;
@@ -1734,8 +1747,8 @@ static gpointer __zblib_request_create_zcl_global_control_request_data(guint req
                        req->dest_ep = in_req->dest_ep;
                        req->zcl_frame_ctrl = in_req->zcl_frame_ctrl;
                        req->cluster_id = in_req->cluster_id;
-                       req->start_attribute = in_req->start_attribute;
-                       req->max = in_req->max;
+                       req->start_command = in_req->start_command;
+                       req->max_command_count = in_req->max_command_count;
                }
 
                zclglobal_control_request_data = (gpointer)req;
@@ -1831,6 +1844,7 @@ static gpointer __zblib_request_create_zcl_identify_request_data(guint request_t
 
                        /* Copy data */
                        req->node_id = in_req->node_id;
+                       req->dest_ep = in_req->dest_ep;
                }
 
                zclidentify_control_request_data = (gpointer)req;
@@ -2062,8 +2076,8 @@ static gpointer __zblib_request_create_zcl_color_control_request_data(guint requ
                        /* Copy data */
                        req->node_id = in_req->node_id;
                        req->dest_ep = in_req->dest_ep;
-                       req->rate_x = in_req->rate_x;
-                       req->rate_y = in_req->rate_y;
+                       req->step_x = in_req->step_x;
+                       req->step_y = in_req->step_y;
                        req->transition_time = in_req->transition_time;
                }
 
@@ -2145,6 +2159,7 @@ static gpointer __zblib_request_create_zcl_group_request_data(guint request_type
                        /* Copy data */
                        req->node_id = in_req->node_id;
                        req->dest_ep = in_req->dest_ep;
+                       req->group_id = in_req->group_id;
                }
 
                zcl_group_request_data = (gpointer)req;
@@ -2165,8 +2180,8 @@ static gpointer __zblib_request_create_zcl_group_request_data(guint request_type
                        req->node_id = in_req->node_id;
                        req->dest_ep = in_req->dest_ep;
                        req->group_count = in_req->group_count;
-                       req->group_list = (gshort *)g_memdup(in_req->group_list,
-                               in_req->group_count);
+                       req->group_list = (gushort *)g_memdup(in_req->group_list,
+                               sizeof(gushort) * in_req->group_count);
                }
 
                zcl_group_request_data = (gpointer)req;
@@ -2369,7 +2384,7 @@ static gpointer __zblib_request_create_zcl_scene_request_data(guint request_type
                        g_strlcpy(req->scene_name,
                                in_req->scene_name, ZIGBEE_ZCL_SCENE_NAME_MAX_LEN + 1);
                        req->ext_field_set_len = in_req->ext_field_set_len;
-                       req->ext_field_set = (gshort *)g_memdup(in_req->ext_field_set,
+                       req->ext_field_set = (guchar *)g_memdup(in_req->ext_field_set,
                                in_req->ext_field_set_len);
                }
 
@@ -2553,9 +2568,17 @@ static gpointer __zblib_request_create_zdo_dev_control_request_data(guint reques
                        req->node_id = in_req->node_id;
                        req->profile_id = in_req->profile_id;
                        req->num_in_cl = in_req->num_in_cl;
-                       req->in_cl = g_strdup(in_req->in_cl);
+                       if (in_req->num_in_cl > 0) {
+                               req->in_cl = g_malloc0_n(in_req->num_in_cl, sizeof(unsigned short));
+                               memcpy(req->in_cl, in_req->in_cl,
+                                       in_req->num_in_cl * sizeof(unsigned short));
+                       }
                        req->num_out_cl = in_req->num_out_cl;
-                       req->out_cl = g_strdup(in_req->out_cl);
+                       if (in_req->num_out_cl > 0) {
+                               req->out_cl = g_malloc0_n(in_req->num_out_cl, sizeof(unsigned short));
+                               memcpy(req->out_cl, in_req->out_cl,
+                                       in_req->num_out_cl * sizeof(unsigned short));
+                       }
                }
 
                zdodev_control_request_data = (gpointer)req;
@@ -2798,7 +2821,7 @@ static gpointer __zblib_request_create_zdo_dev_control_request_data(guint reques
                                g_malloc0(sizeof(ZigbeeZdoDevControlMgmtPermitJoinReq_t));
 
                        /* Copy data */
-                       req->addr = in_req->addr;
+                       req->node_id = in_req->node_id;
                        req->duration = in_req->duration;
                        req->tc_significance = in_req->tc_significance;
                }
@@ -2807,15 +2830,15 @@ static gpointer __zblib_request_create_zdo_dev_control_request_data(guint reques
        }
        break;
 
-       case ZBLIB_ZDO_DEV_CONTROL_OPS_NWK_UPDATE_REQ: {
-               ZigbeeZdoDevControlNwkUpdateReq_t *in_req;
-               ZigbeeZdoDevControlNwkUpdateReq_t *req = NULL;
+       case ZBLIB_ZDO_DEV_CONTROL_OPS_MGMT_NWK_UPDATE_REQ: {
+               ZigbeeZdoDevControlMgmtNwkUpdateReq_t *in_req;
+               ZigbeeZdoDevControlMgmtNwkUpdateReq_t *req = NULL;
 
-               in_req = (ZigbeeZdoDevControlNwkUpdateReq_t *)request_data;
+               in_req = (ZigbeeZdoDevControlMgmtNwkUpdateReq_t *)request_data;
                if (NULL != in_req) {
                        /* Allocate memory */
-                       req = (ZigbeeZdoDevControlNwkUpdateReq_t *)
-                               g_malloc0(sizeof(ZigbeeZdoDevControlNwkUpdateReq_t));
+                       req = (ZigbeeZdoDevControlMgmtNwkUpdateReq_t *)
+                               g_malloc0(sizeof(ZigbeeZdoDevControlMgmtNwkUpdateReq_t));
 
                        /* Copy data */
                        req->node_id = in_req->node_id;
@@ -2829,15 +2852,15 @@ static gpointer __zblib_request_create_zdo_dev_control_request_data(guint reques
        }
        break;
 
-       case ZBLIB_ZDO_DEV_CONTROL_OPS_NWK_DISC_REQ: {
-               ZigbeeZdoDevControlNwkDescriptorReq_t *in_req;
-               ZigbeeZdoDevControlNwkDescriptorReq_t *req = NULL;
+       case ZBLIB_ZDO_DEV_CONTROL_OPS_MGMT_NWK_DISC_REQ: {
+               ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *in_req;
+               ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *req = NULL;
 
-               in_req = (ZigbeeZdoDevControlNwkDescriptorReq_t *)request_data;
+               in_req = (ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *)request_data;
                if (NULL != in_req) {
                        /* Allocate memory */
-                       req = (ZigbeeZdoDevControlNwkDescriptorReq_t *)
-                               g_malloc0(sizeof(ZigbeeZdoDevControlNwkDescriptorReq_t));
+                       req = (ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *)
+                               g_malloc0(sizeof(ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t));
 
                        /* Copy data */
                        req->node_id = in_req->node_id;
@@ -2881,12 +2904,10 @@ static gpointer __zblib_request_create_zdo_bind_request_data(guint request_type,
 
                        /* Copy data */
                        req->node_id = in_req->node_id;
-                       g_strlcpy(req->src_addr,
-                               in_req->src_addr, ZIGBEE_ZDO_BIND_ADDRESS_MAX_LEN + 1);
+                       memcpy(req->src_addr, in_req->src_addr, ZIGBEE_EUI64_SIZE);
                        req->src_ep = in_req->src_ep;
                        req->cluster_id = in_req->cluster_id;
-                       g_strlcpy(req->dst_addr,
-                               in_req->dst_addr, ZIGBEE_ZDO_BIND_ADDRESS_MAX_LEN + 1);
+                       memcpy(req->dst_addr, in_req->dst_addr, ZIGBEE_EUI64_SIZE);
                        req->bind_type = in_req->bind_type;
                        req->group_addr = in_req->group_addr;
                        req->dst_ep = in_req->dst_ep;
@@ -2908,12 +2929,10 @@ static gpointer __zblib_request_create_zdo_bind_request_data(guint request_type,
 
                        /* Copy data */
                        req->node_id = in_req->node_id;
-                       g_strlcpy(req->src_addr,
-                               in_req->src_addr, ZIGBEE_ZDO_BIND_ADDRESS_MAX_LEN + 1);
+                       memcpy(req->src_addr, in_req->src_addr, ZIGBEE_EUI64_SIZE);
                        req->src_ep = in_req->src_ep;
                        req->cluster_id = in_req->cluster_id;
-                       g_strlcpy(req->dst_addr,
-                               in_req->dst_addr, ZIGBEE_ZDO_BIND_ADDRESS_MAX_LEN + 1);
+                       memcpy(req->dst_addr, in_req->dst_addr, ZIGBEE_EUI64_SIZE);
                        req->bind_type = in_req->bind_type;
                        req->group_addr = in_req->group_addr;
                        req->dst_ep = in_req->dst_ep;
@@ -3076,9 +3095,8 @@ static void __zblib_request_free_zcl_alarm_request_data(ZigBeeRequest *request,
                ZigbeeZclAlarmGetAlarmCount_t *req = NULL;
 
                req = (ZigbeeZclAlarmGetAlarmCount_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3086,9 +3104,8 @@ static void __zblib_request_free_zcl_alarm_request_data(ZigBeeRequest *request,
                ZigbeeZclAlarmResetAlarm_t *req = NULL;
 
                req = (ZigbeeZclAlarmResetAlarm_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3096,9 +3113,8 @@ static void __zblib_request_free_zcl_alarm_request_data(ZigBeeRequest *request,
                ZigbeeZclAlarmResetAllAlarm_t *req = NULL;
 
                req = (ZigbeeZclAlarmResetAllAlarm_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3106,9 +3122,8 @@ static void __zblib_request_free_zcl_alarm_request_data(ZigBeeRequest *request,
                ZigbeeZclAlarmAlarm_t *req = NULL;
 
                req = (ZigbeeZclAlarmAlarm_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3116,9 +3131,8 @@ static void __zblib_request_free_zcl_alarm_request_data(ZigBeeRequest *request,
                ZigbeeZclAlarmResetAlarmLogs_t *req = NULL;
 
                req = (ZigbeeZclAlarmResetAlarmLogs_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3143,9 +3157,8 @@ static void __zblib_request_free_custom_request_data(ZigBeeRequest *request,
                ZigbeeCustomApsSend_t *req = NULL;
 
                req = (ZigbeeCustomApsSend_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3153,9 +3166,8 @@ static void __zblib_request_free_custom_request_data(ZigBeeRequest *request,
                ZigbeeCustomZclSend_t *req = NULL;
 
                req = (ZigbeeCustomZclSend_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3163,9 +3175,8 @@ static void __zblib_request_free_custom_request_data(ZigBeeRequest *request,
                ZigbeeCustomSendToLocal_t *req = NULL;
 
                req = (ZigbeeCustomSendToLocal_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3186,9 +3197,8 @@ static void __zblib_request_free_zcl_door_lock_request_data(ZigBeeRequest *reque
                ZigbeeZclDoorLockSubscriberLockEvent_t *req = NULL;
 
                req = (ZigbeeZclDoorLockSubscriberLockEvent_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3196,9 +3206,8 @@ static void __zblib_request_free_zcl_door_lock_request_data(ZigBeeRequest *reque
                ZigbeeZclDoorLockSetDoorLockPin_t *req = NULL;
 
                req = (ZigbeeZclDoorLockSetDoorLockPin_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3206,9 +3215,8 @@ static void __zblib_request_free_zcl_door_lock_request_data(ZigBeeRequest *reque
                ZigbeeZclDoorLockSetDoorLock_t *req = NULL;
 
                req = (ZigbeeZclDoorLockSetDoorLock_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3216,9 +3224,8 @@ static void __zblib_request_free_zcl_door_lock_request_data(ZigBeeRequest *reque
                ZigbeeZclDoorLockGetDoorLock_t *req = NULL;
 
                req = (ZigbeeZclDoorLockGetDoorLock_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3239,9 +3246,8 @@ static void __zblib_request_free_zcl_fan_control_request_data(ZigBeeRequest *req
                ZigbeeZclFanControlSetFanMode_t *req = NULL;
 
                req = (ZigbeeZclFanControlSetFanMode_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3249,9 +3255,8 @@ static void __zblib_request_free_zcl_fan_control_request_data(ZigBeeRequest *req
                ZigbeeZclFanControlGetFanMode_t *req = NULL;
 
                req = (ZigbeeZclFanControlGetFanMode_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3259,9 +3264,8 @@ static void __zblib_request_free_zcl_fan_control_request_data(ZigBeeRequest *req
                ZigbeeZclFanControlSetFanModeSequence_t *req = NULL;
 
                req = (ZigbeeZclFanControlSetFanModeSequence_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3269,9 +3273,8 @@ static void __zblib_request_free_zcl_fan_control_request_data(ZigBeeRequest *req
                ZigbeeZclFanControlGetFanModeSequence_t *req = NULL;
 
                req = (ZigbeeZclFanControlGetFanModeSequence_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3292,9 +3295,8 @@ static void __zblib_request_free_zcl_level_control_request_data(ZigBeeRequest *r
                ZigbeeZclLevelControlMoveToLevel_t *req = NULL;
 
                req = (ZigbeeZclLevelControlMoveToLevel_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3302,9 +3304,8 @@ static void __zblib_request_free_zcl_level_control_request_data(ZigBeeRequest *r
                ZigbeeZclLevelControlMove_t *req = NULL;
 
                req = (ZigbeeZclLevelControlMove_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3312,9 +3313,8 @@ static void __zblib_request_free_zcl_level_control_request_data(ZigBeeRequest *r
                ZigbeeZclLevelControlStep_t *req = NULL;
 
                req = (ZigbeeZclLevelControlStep_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3322,9 +3322,8 @@ static void __zblib_request_free_zcl_level_control_request_data(ZigBeeRequest *r
                ZigbeeZclLevelControlMoveToLevelWithOnOff_t *req = NULL;
 
                req = (ZigbeeZclLevelControlMoveToLevelWithOnOff_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3332,9 +3331,8 @@ static void __zblib_request_free_zcl_level_control_request_data(ZigBeeRequest *r
                ZigbeeZclLevelControlMoveWithOnOff_t *req = NULL;
 
                req = (ZigbeeZclLevelControlMoveWithOnOff_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3342,9 +3340,8 @@ static void __zblib_request_free_zcl_level_control_request_data(ZigBeeRequest *r
                ZigbeeZclLevelControlStepWithOnOff_t *req = NULL;
 
                req = (ZigbeeZclLevelControlStepWithOnOff_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3352,9 +3349,8 @@ static void __zblib_request_free_zcl_level_control_request_data(ZigBeeRequest *r
                ZigbeeZclLevelControlStop_t *req = NULL;
 
                req = (ZigbeeZclLevelControlStop_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3375,9 +3371,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlStart_t *req = NULL;
 
                req = (ZigbeeMfglibControlStart_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3385,9 +3380,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlEnd_t *req = NULL;
 
                req = (ZigbeeMfglibControlEnd_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3395,9 +3389,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlStartTone_t *req = NULL;
 
                req = (ZigbeeMfglibControlStartTone_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3405,9 +3398,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlStopTone_t *req = NULL;
 
                req = (ZigbeeMfglibControlStopTone_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3415,9 +3407,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlStartStream_t *req = NULL;
 
                req = (ZigbeeMfglibControlStartStream_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3425,9 +3416,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlStopStream_t *req = NULL;
 
                req = (ZigbeeMfglibControlStopStream_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3435,9 +3425,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlSendPacket_t *req = NULL;
 
                req = (ZigbeeMfglibControlSendPacket_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3445,9 +3434,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlSetChannel_t *req = NULL;
 
                req = (ZigbeeMfglibControlSetChannel_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3455,9 +3443,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlGetChannel_t *req = NULL;
 
                req = (ZigbeeMfglibControlGetChannel_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3465,9 +3452,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlSetPower_t *req = NULL;
 
                req = (ZigbeeMfglibControlSetPower_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3475,9 +3461,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlGetPower_t *req = NULL;
 
                req = (ZigbeeMfglibControlGetPower_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3485,9 +3470,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlSetSynOffset_t *req = NULL;
 
                req = (ZigbeeMfglibControlSetSynOffset_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3495,9 +3479,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlGetSynOffset_t *req = NULL;
 
                req = (ZigbeeMfglibControlGetSynOffset_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3505,9 +3488,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlRxStart_t *req = NULL;
 
                req = (ZigbeeMfglibControlRxStart_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3515,9 +3497,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlRxStop_t *req = NULL;
 
                req = (ZigbeeMfglibControlRxStop_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3525,9 +3506,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlRxVerify_t *req = NULL;
 
                req = (ZigbeeMfglibControlRxVerify_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3535,9 +3515,8 @@ static void __zblib_request_free_mfglib_control_request_data(ZigBeeRequest *requ
                ZigbeeMfglibControlGetRssi_t *req = NULL;
 
                req = (ZigbeeMfglibControlGetRssi_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3558,9 +3537,8 @@ static void __zblib_request_free_zcl_on_off_request_data(ZigBeeRequest *request,
                ZigbeeZclOnOffSetOnOff_t *req = NULL;
 
                req = (ZigbeeZclOnOffSetOnOff_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3568,9 +3546,8 @@ static void __zblib_request_free_zcl_on_off_request_data(ZigBeeRequest *request,
                ZigbeeZclOnOffGetOnOffState_t *req = NULL;
 
                req = (ZigbeeZclOnOffGetOnOffState_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3587,14 +3564,6 @@ static void __zblib_request_free_service_request_data(ZigBeeRequest *request,
        /* Fetch ops ID */
        ops_id = __zblib_request_get_ops_id(request_type);
        switch (ops_id) {
-       case ZBLIB_SERVICE_OPS_ENABLE: {
-       }
-       break;
-
-       case ZBLIB_SERVICE_OPS_DISABLE: {
-       }
-       break;
-
        case ZBLIB_SERVICE_OPS_ZB_HW_RESET: {
        }
        break;
@@ -3607,9 +3576,8 @@ static void __zblib_request_free_service_request_data(ZigBeeRequest *request,
                ZigbeeServiceCoexStart_t *req = NULL;
 
                req = (ZigbeeServiceCoexStart_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3629,9 +3597,8 @@ static void __zblib_request_free_service_request_data(ZigBeeRequest *request,
                ZigbeeServicePermitJoin_t *req = NULL;
 
                req = (ZigbeeServicePermitJoin_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3639,9 +3606,8 @@ static void __zblib_request_free_service_request_data(ZigBeeRequest *request,
                ZigbeeServiceLeaveRequest_t *req = NULL;
 
                req = (ZigbeeServiceLeaveRequest_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3661,9 +3627,8 @@ static void __zblib_request_free_service_request_data(ZigBeeRequest *request,
                ZigbeeServiceGetEndpointList_t *req = NULL;
 
                req = (ZigbeeServiceGetEndpointList_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3671,9 +3636,8 @@ static void __zblib_request_free_service_request_data(ZigBeeRequest *request,
                ZigbeeServiceGetClusterList_t *req = NULL;
 
                req = (ZigbeeServiceGetClusterList_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3681,9 +3645,8 @@ static void __zblib_request_free_service_request_data(ZigBeeRequest *request,
                ZigbeeServiceGetNodeType_t *req = NULL;
 
                req = (ZigbeeServiceGetNodeType_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3704,9 +3667,8 @@ static void __zblib_request_free_zcl_thermostat_request_data(ZigBeeRequest *requ
                ZigbeeZclThermostatGetLocalTemp_t *req = NULL;
 
                req = (ZigbeeZclThermostatGetLocalTemp_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3714,9 +3676,8 @@ static void __zblib_request_free_zcl_thermostat_request_data(ZigBeeRequest *requ
                ZigbeeZclThermostatGetWeeklySchedule_t *req = NULL;
 
                req = (ZigbeeZclThermostatGetWeeklySchedule_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3724,9 +3685,8 @@ static void __zblib_request_free_zcl_thermostat_request_data(ZigBeeRequest *requ
                ZigbeeZclThermostatSetWeeklySchedule_t *req = NULL;
 
                req = (ZigbeeZclThermostatSetWeeklySchedule_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3734,9 +3694,8 @@ static void __zblib_request_free_zcl_thermostat_request_data(ZigBeeRequest *requ
                ZigbeeZclThermostatClearWeeklySchedule_t *req = NULL;
 
                req = (ZigbeeZclThermostatClearWeeklySchedule_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3744,9 +3703,8 @@ static void __zblib_request_free_zcl_thermostat_request_data(ZigBeeRequest *requ
                ZigbeeZclThermostatSetpointRaiseLower_t *req = NULL;
 
                req = (ZigbeeZclThermostatSetpointRaiseLower_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3767,9 +3725,8 @@ static void __zblib_request_free_zcl_basic_request_data(ZigBeeRequest *request,
                ZigbeeZclBasicResetFactoryDefault_t *req = NULL;
 
                req = (ZigbeeZclBasicResetFactoryDefault_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3878,9 +3835,8 @@ static void __zblib_request_free_zcl_global_control_request_data(ZigBeeRequest *
                ZigbeeZclGlobalControlDiscoverAttributes_t *req = NULL;
 
                req = (ZigbeeZclGlobalControlDiscoverAttributes_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3888,9 +3844,8 @@ static void __zblib_request_free_zcl_global_control_request_data(ZigBeeRequest *
                ZigbeeZclGlobalControlDiscoverAttributesExtended_t *req = NULL;
 
                req = (ZigbeeZclGlobalControlDiscoverAttributesExtended_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3898,9 +3853,8 @@ static void __zblib_request_free_zcl_global_control_request_data(ZigBeeRequest *
                ZigbeeZclGlobalControlDiscoverCommandsReceived_t *req = NULL;
 
                req = (ZigbeeZclGlobalControlDiscoverCommandsReceived_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3908,9 +3862,8 @@ static void __zblib_request_free_zcl_global_control_request_data(ZigBeeRequest *
                ZigbeeZclGlobalControlDiscoverCommandsGenerated_t *req = NULL;
 
                req = (ZigbeeZclGlobalControlDiscoverCommandsGenerated_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3931,9 +3884,8 @@ static void __zblib_request_free_zcl_ias_zone_request_data(ZigBeeRequest *reques
                ZigbeeZclIasZoneEnrollResponse_t *req = NULL;
 
                req = (ZigbeeZclIasZoneEnrollResponse_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3954,9 +3906,8 @@ static void __zblib_request_free_zcl_identify_request_data(ZigBeeRequest *reques
                ZigbeeZclIdentifyIdentify_t *req = NULL;
 
                req = (ZigbeeZclIdentifyIdentify_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3964,9 +3915,8 @@ static void __zblib_request_free_zcl_identify_request_data(ZigBeeRequest *reques
                ZigbeeZclIdentifyQuery_t *req = NULL;
 
                req = (ZigbeeZclIdentifyQuery_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3987,9 +3937,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlMoveToHue_t *req = NULL;
 
                req = (ZigbeeZclColorControlMoveToHue_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -3997,9 +3946,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlMoveHue_t *req = NULL;
 
                req = (ZigbeeZclColorControlMoveHue_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4007,9 +3955,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlStepHue_t *req = NULL;
 
                req = (ZigbeeZclColorControlStepHue_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4017,9 +3964,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlMoveToSaturation_t *req = NULL;
 
                req = (ZigbeeZclColorControlMoveToSaturation_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4027,9 +3973,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlMoveSaturation_t *req = NULL;
 
                req = (ZigbeeZclColorControlMoveSaturation_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4037,9 +3982,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlStepSaturation_t *req = NULL;
 
                req = (ZigbeeZclColorControlStepSaturation_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4047,9 +3991,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlMoveToHueAndSaturation_t *req = NULL;
 
                req = (ZigbeeZclColorControlMoveToHueAndSaturation_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4057,9 +4000,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlMoveToColor_t *req = NULL;
 
                req = (ZigbeeZclColorControlMoveToColor_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4067,9 +4009,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlMoveColor_t *req = NULL;
 
                req = (ZigbeeZclColorControlMoveColor_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4077,9 +4018,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlStepColor_t *req = NULL;
 
                req = (ZigbeeZclColorControlStepColor_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4087,9 +4027,8 @@ static void __zblib_request_free_zcl_color_control_request_data(ZigBeeRequest *r
                ZigbeeZclColorControlMoveColorTemperature_t *req = NULL;
 
                req = (ZigbeeZclColorControlMoveColorTemperature_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4110,9 +4049,8 @@ static void __zblib_request_free_zcl_group_request_data(ZigBeeRequest *request,
                ZigbeeZclGroupAddGroup_t *req = NULL;
 
                req = (ZigbeeZclGroupAddGroup_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4120,9 +4058,8 @@ static void __zblib_request_free_zcl_group_request_data(ZigBeeRequest *request,
                ZigbeeZclGroupViewGroup_t *req = NULL;
 
                req = (ZigbeeZclGroupViewGroup_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4141,9 +4078,8 @@ static void __zblib_request_free_zcl_group_request_data(ZigBeeRequest *request,
                ZigbeeZclGroupRemoveGroup_t *req = NULL;
 
                req = (ZigbeeZclGroupRemoveGroup_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4151,9 +4087,8 @@ static void __zblib_request_free_zcl_group_request_data(ZigBeeRequest *request,
                ZigbeeZclGroupRemoveAllGroup_t *req = NULL;
 
                req = (ZigbeeZclGroupRemoveAllGroup_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4161,9 +4096,8 @@ static void __zblib_request_free_zcl_group_request_data(ZigBeeRequest *request,
                ZigbeeZclGroupAddGroupIfIdentifying_t *req = NULL;
 
                req = (ZigbeeZclGroupAddGroupIfIdentifying_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4184,9 +4118,8 @@ static void __zblib_request_free_zcl_poll_control_request_data(ZigBeeRequest *re
                ZigbeeZclPollControlCheckInResponse_t *req = NULL;
 
                req = (ZigbeeZclPollControlCheckInResponse_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4194,9 +4127,8 @@ static void __zblib_request_free_zcl_poll_control_request_data(ZigBeeRequest *re
                ZigbeeZclPollControlFastPollStop_t *req = NULL;
 
                req = (ZigbeeZclPollControlFastPollStop_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4204,9 +4136,8 @@ static void __zblib_request_free_zcl_poll_control_request_data(ZigBeeRequest *re
                ZigbeeZclPollControlSetLongPollInterval_t *req = NULL;
 
                req = (ZigbeeZclPollControlSetLongPollInterval_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4214,9 +4145,8 @@ static void __zblib_request_free_zcl_poll_control_request_data(ZigBeeRequest *re
                ZigbeeZclPollControlSetShortPollInterval_t *req = NULL;
 
                req = (ZigbeeZclPollControlSetShortPollInterval_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4248,9 +4178,8 @@ static void __zblib_request_free_zcl_scene_request_data(ZigBeeRequest *request,
                ZigbeeZclSceneViewScene_t *req = NULL;
 
                req = (ZigbeeZclSceneViewScene_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4258,9 +4187,8 @@ static void __zblib_request_free_zcl_scene_request_data(ZigBeeRequest *request,
                ZigbeeZclSceneRemoveScene_t *req = NULL;
 
                req = (ZigbeeZclSceneRemoveScene_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4268,9 +4196,8 @@ static void __zblib_request_free_zcl_scene_request_data(ZigBeeRequest *request,
                ZigbeeZclSceneStoreScene_t *req = NULL;
 
                req = (ZigbeeZclSceneStoreScene_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4278,9 +4205,8 @@ static void __zblib_request_free_zcl_scene_request_data(ZigBeeRequest *request,
                ZigbeeZclSceneRecallScene_t *req = NULL;
 
                req = (ZigbeeZclSceneRecallScene_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4288,9 +4214,8 @@ static void __zblib_request_free_zcl_scene_request_data(ZigBeeRequest *request,
                ZigbeeZclSceneRemoveAllScene_t *req = NULL;
 
                req = (ZigbeeZclSceneRemoveAllScene_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4298,9 +4223,8 @@ static void __zblib_request_free_zcl_scene_request_data(ZigBeeRequest *request,
                ZigbeeZclSceneGetSceneMembership_t *req = NULL;
 
                req = (ZigbeeZclSceneGetSceneMembership_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4321,9 +4245,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlNwkAddrReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlNwkAddrReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4343,9 +4266,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlIeeeAddrReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlIeeeAddrReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4353,9 +4275,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlActiveEpReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlActiveEpReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4363,9 +4284,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlNodeDescriptorReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlNodeDescriptorReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4373,9 +4293,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlPowerDescriptorReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlPowerDescriptorReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4383,9 +4302,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlComplexDescriptorReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlComplexDescriptorReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4393,9 +4311,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlUserDescriptorReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlUserDescriptorReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4403,9 +4320,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlUserDescriptorSetReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlUserDescriptorSetReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4413,9 +4329,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlDeviceAnnounce_t *req = NULL;
 
                req = (ZigbeeZdoDevControlDeviceAnnounce_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4423,9 +4338,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlSimpleDescriptorReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlSimpleDescriptorReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4433,9 +4347,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlMgmtLqiReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlMgmtLqiReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4443,9 +4356,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlMgmtRtgReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlMgmtRtgReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4453,9 +4365,8 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlMgmtBindReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlMgmtBindReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4463,29 +4374,26 @@ static void __zblib_request_free_zdo_dev_control_request_data(ZigBeeRequest *req
                ZigbeeZdoDevControlMgmtPermitJoinReq_t *req = NULL;
 
                req = (ZigbeeZdoDevControlMgmtPermitJoinReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
-       case ZBLIB_ZDO_DEV_CONTROL_OPS_NWK_UPDATE_REQ: {
-               ZigbeeZdoDevControlNwkUpdateReq_t *req = NULL;
+       case ZBLIB_ZDO_DEV_CONTROL_OPS_MGMT_NWK_UPDATE_REQ: {
+               ZigbeeZdoDevControlMgmtNwkUpdateReq_t *req = NULL;
 
-               req = (ZigbeeZdoDevControlNwkUpdateReq_t *)request->request_data;
-               if (NULL != req) {
+               req = (ZigbeeZdoDevControlMgmtNwkUpdateReq_t *)request->request_data;
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
-       case ZBLIB_ZDO_DEV_CONTROL_OPS_NWK_DISC_REQ: {
-               ZigbeeZdoDevControlNwkDescriptorReq_t *req = NULL;
+       case ZBLIB_ZDO_DEV_CONTROL_OPS_MGMT_NWK_DISC_REQ: {
+               ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *req = NULL;
 
-               req = (ZigbeeZdoDevControlNwkDescriptorReq_t *)request->request_data;
-               if (NULL != req) {
+               req = (ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *)request->request_data;
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4506,9 +4414,8 @@ static void __zblib_request_free_zdo_bind_request_data(ZigBeeRequest *request,
                ZigbeeZdoBindBindReq_t *req = NULL;
 
                req = (ZigbeeZdoBindBindReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4516,9 +4423,8 @@ static void __zblib_request_free_zdo_bind_request_data(ZigBeeRequest *request,
                ZigbeeZdoBindUnbindReq_t *req = NULL;
 
                req = (ZigbeeZdoBindUnbindReq_t *)request->request_data;
-               if (NULL != req) {
+               if (NULL != req)
                        g_free(req);
-               }
        }
        break;
 
@@ -4691,7 +4597,7 @@ gint zblib_request_new(ZigBeeServiceInterface *service_interface,
        }
 
        /* Insert request to request table */
-       g_hash_table_insert(request_table, (gpointer)(request->request_id), request);
+       g_hash_table_insert(request_table, GINT_TO_POINTER(request->request_id), request);
 
        return request->request_id;
 }
@@ -4724,7 +4630,7 @@ gboolean zblib_request_set_response_cb(ZigBeeServiceInterface *service_interface
        ZigBeeService *service = NULL;
        ZigBeeRequest *request = NULL;
 
-       zblib_check_null_ret_error("request", request, FALSE);
+       zblib_check_null_ret_error("service_interface", service_interface, FALSE);
 
        /* Fetch service */
        service = zblib_service_interface_ref_service(service_interface);
@@ -4750,7 +4656,7 @@ gpointer zblib_request_ref_response_cb(ZigBeeServiceInterface *service_interface
        ZigBeeService *service = NULL;
        ZigBeeRequest *request = NULL;
 
-       zblib_check_null_ret_error("request", request, NULL);
+       zblib_check_null_ret_error("service_interface", service_interface, NULL);
 
        /* Fetch service */
        service = zblib_service_interface_ref_service(service_interface);