Example #1
0
EC_BOOL csrv_req_clean(struct _TASK_FUNC *task_req_func)
{
    FUNC_ADDR_NODE *func_addr_node;
    TYPE_CONV_ITEM *type_conv_item;

    UINT32 para_idx;

    if(0 != dbg_fetch_func_addr_node_by_index(task_req_func->func_id, &func_addr_node))
    {
        dbg_log(SEC_0112_CSRV, 0)(LOGSTDOUT, "error:csrv_req_clean: failed to fetch func addr node by func id %lx\n", task_req_func->func_id);
        return (EC_FALSE);
    }

    if(e_dbg_void != func_addr_node->func_ret_type)
    {
        type_conv_item = dbg_query_type_conv_item_by_type(func_addr_node->func_ret_type);
        if( NULL_PTR == type_conv_item )
        {
            dbg_log(SEC_0112_CSRV, 0)(LOGSTDOUT,"error:csrv_req_clean: ret type %ld conv item is not defined\n", func_addr_node->func_ret_type);
            return (EC_FALSE);
        }

        if(EC_TRUE == TYPE_CONV_ITEM_VAR_POINTER_FLAG(type_conv_item) && 0 != task_req_func->func_ret_val)
        {
            free_static_mem(TYPE_CONV_ITEM_VAR_MM_TYPE(type_conv_item), (void *)(task_req_func->func_ret_val), LOC_CSRV_0008);
            task_req_func->func_ret_val = 0;
        }
    }

    for( para_idx = 0; para_idx < task_req_func->func_para_num; para_idx ++ )
    {
        FUNC_PARA *func_para;

        func_para = &(task_req_func->func_para[ para_idx ]);

        type_conv_item = dbg_query_type_conv_item_by_type(func_addr_node->func_para_type[ para_idx ]);
        if( NULL_PTR == type_conv_item )
        {
            dbg_log(SEC_0112_CSRV, 0)(LOGSTDOUT,"error:csrv_req_clean: para %ld type %ld conv item is not defined\n",
                                para_idx, func_addr_node->func_para_type[ para_idx ]);
            return (EC_FALSE);
        }

        if(EC_TRUE == TYPE_CONV_ITEM_VAR_POINTER_FLAG(type_conv_item) && 0 != func_para->para_val)
        {
            free_static_mem(TYPE_CONV_ITEM_VAR_MM_TYPE(type_conv_item), (void *)(func_para->para_val), LOC_CSRV_0009);
            func_para->para_val = 0;
        }
    }
    return (EC_TRUE);
}
Example #2
0
EC_BOOL cconnp_free(CCONNP *cconnp)
{
    if(NULL_PTR != cconnp)
    {
        cconnp_clean(cconnp);
        free_static_mem(MM_CCONNP, cconnp, LOC_CCONNP_0004);
    }
    return (EC_TRUE);
}
Example #3
0
EC_BOOL cconnp_mgr_free(CCONNP_MGR *cconnp_mgr)
{
    if(NULL_PTR != cconnp_mgr)
    {
        cconnp_mgr_clean(cconnp_mgr);
        free_static_mem(MM_CCONNP_MGR, cconnp_mgr, LOC_CCONNP_0006);
    }
    return (EC_TRUE);
}
Example #4
0
EC_BOOL cparacfg_free(CPARACFG *cparacfg)
{
    if(NULL_PTR != cparacfg)
    {
        cparacfg_clean(cparacfg);
        free_static_mem(MD_TBD, CMPI_ANY_MODI, MM_CPARACFG, cparacfg, LOC_CPARACFG_0002);
    }
    return (EC_TRUE);
}
Example #5
0
File: csem.c Project: inevity/ebgn
EC_BOOL csem_named_free(CSEM *csem, const UINT32 location)
{
    if(NULL_PTR != csem)
    {
        csem_named_clean(csem, location);
        free_static_mem(MD_TBD, CMPI_ANY_MODI, MM_CSEM, csem, location);
    }
    return (EC_TRUE);
Example #6
0
EC_BOOL chfsnp_mgr_free(CHFSNP_MGR *chfsnp_mgr)
{
    if(NULL_PTR != chfsnp_mgr)
    {
        chfsnp_mgr_clean(chfsnp_mgr);
        free_static_mem(MD_CHFS, CMPI_ANY_MODI, MM_CHFSNP_MGR, chfsnp_mgr, LOC_CHFSNPMGR_0010);
    }
    return (EC_TRUE);
}
Example #7
0
EC_BOOL csrv_free(CSRV *csrv)
{
    if(NULL_PTR != csrv)
    {
        csrv_clean(csrv);
        free_static_mem(MM_CSRV, csrv, LOC_CSRV_0002);
    }
    return (EC_TRUE);
}
Example #8
0
EC_BOOL cextsrv_rsp_encode(CEXTSRV *cextsrv, UINT8 *out_buff, const UINT32 out_buff_max_len, UINT32 *out_buff_len, TASK_FUNC *task_rsp_func)
{
    UINT32 send_comm;

    FUNC_ADDR_NODE *func_addr_node;
    TYPE_CONV_ITEM *type_conv_item;

    UINT32 position;

    send_comm = CMPI_ANY_COMM;

    position = 0;

    if(0 != dbg_fetch_func_addr_node_by_index(task_rsp_func->func_id, &func_addr_node))
    {
        dbg_log(SEC_0069_CEXTSRV, 0)(LOGSTDOUT, "error:cextsrv_rsp_encode: failed to fetch func addr node by func id %lx\n", task_rsp_func->func_id);
        return (EC_FALSE);
    }

    if(e_dbg_void != func_addr_node->func_ret_type)
    {
        type_conv_item = dbg_query_type_conv_item_by_type(func_addr_node->func_ret_type);
        if( NULL_PTR == type_conv_item )
        {
            dbg_log(SEC_0069_CEXTSRV, 0)(LOGSTDOUT,"error:cextsrv_rsp_encode: ret type %ld conv item is not defined\n", func_addr_node->func_ret_type);
            return (EC_FALSE);
        }

        dbg_tiny_caller(5,
            TYPE_CONV_ITEM_VAR_ENCODE_FUNC(type_conv_item),
            send_comm,
            task_rsp_func->func_ret_val,
            out_buff,
            out_buff_max_len,
            &(position));

        if(EC_TRUE == TYPE_CONV_ITEM_VAR_POINTER_FLAG(type_conv_item) && 0 != task_rsp_func->func_ret_val)
        {
            dbg_tiny_caller(2, TYPE_CONV_ITEM_VAR_CLEAN_FUNC(type_conv_item), CMPI_ANY_MODI, task_rsp_func->func_ret_val);/*WARNING: SHOULD NOT BE 0*/
            free_static_mem(MD_TASK, CMPI_ANY_MODI, TYPE_CONV_ITEM_VAR_MM_TYPE(type_conv_item), (void *)task_rsp_func->func_ret_val, LOC_CEXTSRV_0009);/*clean up*/
            task_rsp_func->func_ret_val = 0;
        }
    }

    task_rsp_func_para_encode(send_comm, task_rsp_func->func_para_num, (FUNC_PARA *)task_rsp_func->func_para, func_addr_node, out_buff, out_buff_max_len, &(position));

    (*out_buff_len) = position;/*set to real length*/
    return (EC_TRUE);
}
Example #9
0
EC_BOOL cextsrv_req_decode(CEXTSRV *cextsrv, const UINT8 *in_buff, const UINT32 in_buff_len, TASK_FUNC *task_req_func)
{
    UINT32 recv_comm;

    FUNC_ADDR_NODE *func_addr_node;
    TYPE_CONV_ITEM *type_conv_item;

    UINT32 position;

    recv_comm = CMPI_ANY_COMM;

    position = 0;

    cmpi_decode_uint32(recv_comm, in_buff, in_buff_len, &(position), &(task_req_func->func_id));
    cmpi_decode_uint32(recv_comm, in_buff, in_buff_len, &(position), &(task_req_func->func_para_num));

    if(0 != dbg_fetch_func_addr_node_by_index(task_req_func->func_id, &func_addr_node))
    {
        dbg_log(SEC_0069_CEXTSRV, 0)(LOGSTDOUT, "error:cextsrv_req_decode: failed to fetch func addr node by func id %lx\n", task_req_func->func_id);
        return (EC_FALSE);
    }

    type_conv_item = dbg_query_type_conv_item_by_type(func_addr_node->func_ret_type);
    if( NULL_PTR == type_conv_item )
    {
        dbg_log(SEC_0069_CEXTSRV, 0)(LOGSTDOUT,"error:cextsrv_req_decode: ret type %ld conv item is not defined\n", func_addr_node->func_ret_type);
        return (EC_FALSE);
    }
    if(EC_TRUE == TYPE_CONV_ITEM_VAR_POINTER_FLAG(type_conv_item))
    {
        alloc_static_mem(MD_TASK, 0, TYPE_CONV_ITEM_VAR_MM_TYPE(type_conv_item), (void **)&(task_req_func->func_ret_val), LOC_CEXTSRV_0007);
        dbg_tiny_caller(2, TYPE_CONV_ITEM_VAR_INIT_FUNC(type_conv_item), CMPI_ANY_MODI, task_req_func->func_ret_val);
    }

    if(EC_FALSE == task_req_func_para_decode(recv_comm, in_buff, in_buff_len, &(position),
                                              &(task_req_func->func_para_num), (FUNC_PARA *)task_req_func->func_para,
                                              func_addr_node))
    {
        dbg_log(SEC_0069_CEXTSRV, 0)(LOGSTDOUT, "error:cextsrv_req_decode: decode func paras failed\n");

        if(EC_TRUE == TYPE_CONV_ITEM_VAR_POINTER_FLAG(type_conv_item) && 0 != task_req_func->func_ret_val)
        {
            free_static_mem(MD_TASK, 0, TYPE_CONV_ITEM_VAR_MM_TYPE(type_conv_item), (void *)(task_req_func->func_ret_val), LOC_CEXTSRV_0008);
        }
        return (EC_FALSE);
    }

    return (EC_TRUE);
}
Example #10
0
EC_BOOL vmatrix_r_free_vmm_node(const UINT32 vmatrixr_md_id, VMM_NODE *vmm_node)
{
#if ( SWITCH_ON == MATRIX_DEBUG_SWITCH )
    if ( VMATRIXR_MD_ID_CHECK_INVALID(vmatrixr_md_id) )
    {
        sys_log(LOGSTDOUT,
                "error:vmatrix_r_free_vmm_node: vmatrixr module #0x%lx not started.\n",
                vmatrixr_md_id);
        dbg_exit(MD_MATRIXR, vmatrixr_md_id);
    }
#endif/*MATRIX_DEBUG_SWITCH*/

    if(0 != VMM_NODE_ADDR(vmm_node))
    {
        sys_log(LOGSTDOUT, "error:vmatrix_r_free_vmm_node: vmm_node %lx mount pointer %lx\n", vmm_node, VMM_NODE_ADDR(vmm_node));
    }
    free_static_mem(MD_VMATRIXR, vmatrixr_md_id, MM_VMM_NODE, vmm_node, LOC_VMATRIXR_0002);
    return (EC_TRUE);
}
Example #11
0
File: csem.c Project: inevity/ebgn
CSEM *csem_named_new(const uint8_t *name, const UINT32 location)
{
    CSEM  *csem;
    
    alloc_static_mem(MD_TBD, CMPI_ANY_MODI, MM_CSEM, &csem, location);
    if(NULL_PTR == csem)
    {
        dbg_log(SEC_0029_CSEM, 0)(LOGSTDOUT, "error:csem_named_new: new csem failed\n");
        return (NULL_PTR);
    }

    if(EC_FALSE == csem_named_init(csem, name, location))
    {
        dbg_log(SEC_0029_CSEM, 0)(LOGSTDOUT, "error:csem_named_new: init csem %p with name %s failed\n", csem, name);
        free_static_mem(MD_TBD, CMPI_ANY_MODI, MM_CSEM, csem, location);
        return (NULL_PTR);
    }

    return (csem);
}
Example #12
0
UINT32 vmatrix_r_free_block(const UINT32 vmatrixr_md_id, VMM_NODE *matrix_block_vmm)
{
    VMATRIXR_MD *vmatrixr_md;

    MATRIX_BLOCK *matrix_block;

    TASK_BRD *task_brd;

#if ( SWITCH_ON == MATRIX_DEBUG_SWITCH )
    if ( VMATRIXR_MD_ID_CHECK_INVALID(vmatrixr_md_id) )
    {
        sys_log(LOGSTDOUT,
                "error:vmatrix_r_free_block: vmatrixr module #0x%lx not started.\n",
                vmatrixr_md_id);
        dbg_exit(MD_MATRIXR, vmatrixr_md_id);
    }
#endif/*MATRIX_DEBUG_SWITCH*/

    vmatrixr_md = VMATRIXR_MD_GET(vmatrixr_md_id);

    if(0 != VMM_NODE_ADDR(matrix_block_vmm))
    {
        matrix_block = (MATRIX_BLOCK *)VMM_NODE_ADDR(matrix_block_vmm);
        sys_log(LOGSTDOUT, "vmatrix_r_free_block: free matrix_block %lx\n", matrix_block);

        matrix_r_clean_block(vmatrixr_md->matrixr_md_id, matrix_block);

        free_static_mem(MD_VMATRIXR, vmatrixr_md_id, MM_MATRIX_BLOCK, matrix_block, LOC_VMATRIXR_0004);
    }
    else
    {
        sys_log(LOGSTDOUT, "vmatrix_r_free_block: matrix_block is null\n");
    }

    task_brd = vmatrixr_md->task_brd;
    VMM_NODE_LOAD(matrix_block_vmm) = task_brd_rank_load_tbl_get_que(task_brd, TASK_BRD_TCID(task_brd), TASK_BRD_RANK(task_brd));
    VMM_NODE_ADDR(matrix_block_vmm) = 0;

    return (0);
}
Example #13
0
EC_BOOL crouter_node_free(CROUTER_NODE *crouter_node)
{
    crouter_node_clean(crouter_node);
    free_static_mem(MD_TASK, 0, MM_CROUTER_NODE, crouter_node, LOC_CROUTER_0004);
    return (EC_TRUE);
}
Example #14
0
EC_BOOL crouter_cfg_free(CROUTER_CFG *crouter_cfg)
{
    crouter_cfg_clean(crouter_cfg);
    free_static_mem(MD_TASK, 0, MM_CROUTER_CFG, crouter_cfg, LOC_CROUTER_0038);
    return (EC_TRUE);
}
Example #15
0
EC_BOOL crouter_node_vec_free(CROUTER_NODE_VEC *crouter_node_vec)
{
    crouter_node_vec_clean(crouter_node_vec);
    free_static_mem(MD_TASK, 0, MM_CROUTER_NODE_VEC, crouter_node_vec, LOC_CROUTER_0020);
    return (EC_TRUE);
}
Example #16
0
void taskc_node_free(TASKC_NODE *taskc_node)
{
    free_static_mem(MD_TASK, 0, MM_TASKC_NODE, taskc_node, LOC_TCNODE_0003);
    return;
}
Example #17
0
void taskc_mgr_free(TASKC_MGR *taskc_mgr)
{
    taskc_mgr_clean(taskc_mgr);
    free_static_mem(MD_TASK, 0, MM_TASKC_MGR, (void *)(taskc_mgr), LOC_TCNODE_0005);
    return;
}