/* Look-up requets_id in request hash table */
request = (ZigBeeRequest *)g_hash_table_lookup(request_table, (gconstpointer)request_id);
- if (NULL == request_table) {
+ if (NULL == request) {
Z_LOGE("No request available for request_id: [%d]", request_id);
return NULL;
}
/* 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;
}
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_memdup(in_req->attribute_id, in_req->attribute_id_len);
+ 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;
/* 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;
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;
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 = (char *)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);
}
}
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;
}
break;
- case ZBLIB_ZDO_DEV_CONTROL_OPS_NWK_DISC_REQ: {
- ZigbeeZdoDevControlNwkDiscoveryReq_t *in_req;
- ZigbeeZdoDevControlNwkDiscoveryReq_t *req = NULL;
+ case ZBLIB_ZDO_DEV_CONTROL_OPS_MGMT_NWK_DISC_REQ: {
+ ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *in_req;
+ ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *req = NULL;
- in_req = (ZigbeeZdoDevControlNwkDiscoveryReq_t *)request_data;
+ in_req = (ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *)request_data;
if (NULL != in_req) {
/* Allocate memory */
- req = (ZigbeeZdoDevControlNwkDiscoveryReq_t *)
- g_malloc0(sizeof(ZigbeeZdoDevControlNwkDiscoveryReq_t));
+ req = (ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *)
+ g_malloc0(sizeof(ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t));
/* Copy data */
req->node_id = in_req->node_id;
/* 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;
/* 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;
/* 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;
}
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;
+ req = (ZigbeeZdoDevControlMgmtNwkUpdateReq_t *)request->request_data;
if (NULL != req) {
g_free(req);
}
}
break;
- case ZBLIB_ZDO_DEV_CONTROL_OPS_NWK_DISC_REQ: {
- ZigbeeZdoDevControlNwkDiscoveryReq_t *req = NULL;
+ case ZBLIB_ZDO_DEV_CONTROL_OPS_MGMT_NWK_DISC_REQ: {
+ ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *req = NULL;
- req = (ZigbeeZdoDevControlNwkDiscoveryReq_t *)request->request_data;
+ req = (ZigbeeZdoDevControlMgmtNwkDiscoveryReq_t *)request->request_data;
if (NULL != req) {
g_free(req);
}