Commit d76ac327 authored by laurent's avatar laurent

remove public/protected macros in lists, mem_blocks

parent 45599fe4
develop 1 128-ues 256_QAM_demod 2cw_fairRRscd 340-fix-beamforming-for-multiple-antenna 375-syrtem-sdr-platform 383-ulsch-scheduler-optimization 401-bug-related-to-nr-pucch-format-2-generator 408-reworked 408-ue-main-threads 445-LDPC-implementation-on-GPU 459-pusch-based-ta-updates 464-ru_beamforming_in_gpu 464-ru_beamforming_in_gpu-CPUsubfunction 472-add-pusch-dmrs-modes 481-ldpc-decoder-on-gpu 5g_fapi_scf LTE-sidelink LTE_TRX_on_single_port NCTU_CS_ISIP NCTU_CS_ISIP_CPU NCTU_CS_ISIP_GPU NCTU_OpinConnect_LDPC NR-PHY-MAC-IF-multi-UE NR_10MHz NR_CSI_reporting NR_DCI_01 NR_DL_sched_fixes NR_DL_scheduler NR_FAPI_beamindex_SSB_RO NR_FR2_RA NR_FR2_RRC_SSB NR_MAC_CE_GlobalEdge NR_MAC_Multi_Rach_GlobalEdge NR_MAC_SSB_RO_GlobalEdge NR_MAC_SSB_RO_UE_IDCC NR_MAC_SSB_RO_merge NR_MAC_TCI_UCI_GlobalEdge NR_NGAP NR_PDCP_noS1 NR_PUCCH_MultiUE NR_RA_updates NR_RRCConfiguragion_FR2 NR_RRCConfiguration NR_RRCConfiguration_FR2 NR_RRCConfiguration_S1U NR_RRCConfiguration_merge_develop NR_RRCConfiguration_sync_source NR_RRCConfiguration_trx_thread NR_RRC_CP_bugfix NR_RRC_PDCP NR_RRC_PRACH_procedures NR_RRC_PRACH_procedures_todevelop NR_RRC_PUSCH NR_RRC_TA NR_RRC_X2AP_AMBR_Change_Global_edge NR_RRC_X2AP_RemoveHardcodings_GlobalEdge NR_RRC_config_simplified NR_RRC_harq NR_RRC_harq_b NR_RRC_harq_hacks NR_RRC_harq_newdcipdu NR_SA_NGAP_RRC NR_SA_NGAP_RRC_wk42 NR_SA_itti_sim_wk48 NR_SCHED NR_SRB_Config NR_TRX_on_single_port NR_TRX_on_single_port2 NR_UE_MAC_scheduler NR_UE_RA_fixes NR_UE_UL_DCI_improvements NR_UE_enable_parallelization NR_UE_stability_fixes NR_UL_FAPI_programming NR_UL_scheduler NR_UL_scheduler_rebased NR_UL_scheduling NR_beamforming_test NR_gNB_SCF_Indication NR_ipaccess_testing NR_mac_uci_functions_rework NR_msg2_phytest NR_scheduling_CSIRS NR_scheduling_request NR_test_S1U_RRC_PRACH_procedures NR_ue_dlsch_dmrs_cdm New-Merge-sidelink-develop OpInConnect_ISIP PUSCH_TA_update RA_CI_test UE_DL_DCI_hotfix UpdateRANRemoteUEReport add_iris_hw addoptions_nr_USRPdevice bch-fixes-bitmap benetel_5g_prach_fix benetel_phase_rotation benetel_phase_rotation_old block_mmse_receiver_with_whitenning bugfix-find-uci bugfix-minor-remove-wrong-log bugfix-nr-bands bugfix-nr-ldpc-post-processing bugfix-nr-ldpc-size-typo bugfix-nr-pdcp-sn-size bugfix-nr-rate-matching-assertion cce_indexing_fix cce_indexing_fix2 ci-deploy-docker-compose ci-rd-july-improvements ci-ul-iperf-from-trf-container ci-yacine clean-5G-scope-round2 cleanup_softmodem_main constant_power debug_branch_init_sync develop-FeMBMS develop-ci develop-ci-fju develop-large-scale-emulations develop-m2ap develop-multi-RRUs develop-nb-iot-merge develop-nb-iot-merge-w-conflicts develop-nb-iot-ntust develop-nr develop-nr-adding-2018-09-asn1 develop-nr-fr2 develop-nr-fr2-rework develop-nr_cppcheck develop-oriecpriupdates develop-sib1 develop-vco3 develop_ci develop_inria_ci_deployment develop_inria_ci_deployment_gp develop_inria_ci_deployment_gp_b4merge develop_integration_2019_w44 develop_integration_2020_w15 develop_integration_2020_w19 develop_integration_w08 develop_jenkins_replay dfts_alternatives dlsch-all-dlslots dlsch_encode_mthread dlsch_parallel dlsim-autotests documentation docupdate_tools dongzhanyi-zte-0001 dongzhanyi-zte-develop dongzhanyi-zte-develop2 dreibh/apt-auth-fix dreibh/device-load-fix dreibh/device-load-fix-develop-branch dreibh/doxygen-fix dual-connectivity dummy edrx extend_sharedlibusage extend_sharedlibusage2 fapi_for_dmrs_and_ptrs feat-mac-sock feature-247-tm89-fixes feature-368-channel-simulator feature-4g-sched feature-flexran-cm-s1ap feature-nr-4g-nfapi-modifications feature-pdcp-task feature-send-rrc-message-for-wireshark-logging feature-support-clang-format feature/make-s1-mme-port-configurable feature/make-s1-mme-port-configurable-with-astyle-fixes feature_tm3 fembms-enb-ue finalize-oaicn-integration firas fix-ci-tun fix-clock-source fix-dirty-ue-same-machine fix-itti fix-itti-segv fix-l2-sim fix-limeSDR-compile fix-softmodem-restart fix-warnings fix_do_ra_data fix_pdsch_low_prb fix_rfsim_mimo fix_rrc_x2_ticking fixes-mac-sched-nfapi fixes-mac-sched-tun fixes-tun flexran-apps flexran-improvements flexran-repair-mme-mgmt flexran-report-split fr2-hw-test fujitsu_lte_contribution fujitsu_lte_contribution-128 gNB-nrUE-USRP generate_push_ptrs harq-hotfix hotfix-minor-remove-nr-rlc-cppcheck-error hotfix-nr-rlc-tick hotfix-ocp-executable hotfix-ue-musim-compilation hotfix_usrp_lib improve_build_nr_lte_merge improve_nr_modulation improve_ue_stability initial-nfapi-PNF-fixes integration-develop-nr-2019w45 integration_2020_wk40 integration_2020_wk41 integration_2020_wk42_2 integration_2020_wk45 integration_2020_wk45_2 integration_2020_wk46 integration_2020_wk46_2 integration_2020_wk47 integration_2020_wk48 integration_2020_wk48_2 integration_2020_wk49 integration_2020_wk50 integration_2020_wk50_1 inter-RRU inter-RRU-final inter-RRU-nr inter-RRU-oairu inter-rru-UE interoperability-test isip_nr issue392-simplify-s1-nos1step2_01 issue416_nfapicleanup issue_345_l2_fapi_simulator l2-fixes ldpc-dec-layering ldpc-decoder-codegen ldpc-decoder-codegen2 ldpc-decoder-improvements ldpc-offload ldpc_short_codeword_fixes load_gnb lte-m-ue_type lte_uplink_improvement mac-fixes-wk45_2 main_python master mbms-fix-develop-nr merging-2019-w51-to-develop-nr mex_mmse_receiver modify_fairRRscd_parallel mosaic5g-oai-ran mosaic5g-oai-sim mu_allocate multi-L1 multi-RRUs new_nos1 new_pdcp new_rlc new_rlc_2020 new_rlc_in_mbms nfapi-bugfix nfapi_improvement nfapi_nr_develop ngap-dlul ngap-support ngap-w48-merge2 ngap-wf ngap-wf-1120 ngap-wf-1120-srb ngap-wf-1120-srb-gtp ngap-wf-1120-srb-gtp-hs ngap-wf-1120-srb-gtp-hs1 ngap-wf-1120-srb-gtp-hs2 ngap-wf-1203-yunsdr ngap-wf-liuyu ngap_lfq_1120 ngap_merge noCore nr-coreset-bug-fix nr-dlsch-multi-thread nr-dlsch-thread nr-dual-connectivity nr-interdigital-test nr-ip-uplink-noS1 nr-mac-pdu-wireshark nr-mac-remove-ue-list nr-multiple-ssb nr-pdcp nr-pdsch-extraction-bugfix nr-physim-update nr-rlc-am-bugfix-w44 nr-rlc-bugfix-w44 nr-ssb-measurements nr-timing-measurement nr-timing-measurement-merge nr-ue-buffer-status nr-ue-slot-based nr-uldci nrUE nrUE-hs nrUE-upper-layer nr_beamforming nr_bsr nr_ci_dlsim nr_csi_newbranch nr_dci_procedures nr_demo_wsa2019 nr_dl_dmrs_type2 nr_dl_pf nr_dl_pf2 nr_dl_ul_ptrs nr_dlsch_parallel_measurements nr_dlsim_plot nr_fapi_for_push_tmp nr_fdd_if_fix nr_fix_easycppcheck nr_flexible_NRBDL nr_improve_build_procedures nr_increase_tp nr_mib_vsa_test nr_pdcch_testing nr_pdcch_updates nr_pdsch_integration nr_polar_decoder_improvement nr_prach nr_prach_fr2 nr_pucch nr_pucch2 nr_segmentation_fixes nr_sim_fix nr_tdd_configuration nr_ue_msg3 nr_ue_tti_cleanup nr_vcd nrue-multi-thread nrue_msg2_reception nsa-ue nsa_remove_band_hardcodings oai-sim oai-ubuntu-docker oai-ubuntu-docker-for-lmssdr oairu oc-docker-october-improvements ocp_simulator openxg/develop pdcp-benchmark pdsch-ch-est polar8 ptrs_rrc_config pusch-mthread-scaling-fix ra-dl-ul rau_rru_reciprocity_measurements recode_itti_from_scratch reduce_memory_footprint release_v1_2_0_candidate remove-ci-workaround remove_nos1_hack_pdcp remove_x2_gnb_hardcoding repair-TA revert-f5c94279 revert-itti revert_memcpy rh_ci_fix_autoterminate rh_ci_fr1_update rh_ci_oc rh_ci_py rh_ci_rfsim_ra rh_doc_update_3 rh_fr1_newjenkins rh_fr1_update rh_gnb_compile_fix rh_wk50_debug rhel77-build rlc-v2-bugfix-status-reporting rlc-v2-tick rlc_v2_coverity_fixes rrc-enb-phy-testmode ru-parallel-beamforming ru_rau_enhancement ru_rau_enhancement-external-timing runel runel-reverse-test s1_subnormal s1ap-bugfix-rab_setup signal-delay small-bugfixes-w40 smallcleanup softmodem_cleanup split73 test-x310-perf testing_2symb_pdcch testing_with_external_txdata thread-pool tools_5Gadapt tp-ota-test trx_thread_param trx_write_thread ue-csi ue-fixes-ota ue-updates-runel-test ue_adjust_gain ue_dlsch-multi-threading ue_dlsch_decoding_ldpc_offload ue_nfapi_mch uhd_priority_set_cleanup ul_dl_dci_same_slot ul_harq ulsch_decode_mthread ulsim_changes update-to-2019-march-june-release usrp_fix_adc_shift_and_pps_sync usrp_gpio_test x2-endc-processing x2_neighbor_6cells x2_tdd yihongzheng_srb zzs
No related merge requests found
...@@ -38,30 +38,14 @@ ...@@ -38,30 +38,14 @@
extern "C" { extern "C" {
#endif #endif
# ifdef COMPONENT_CLI
# ifdef COMPONENT_CLI_IF
# define private_cli_if(x) x
# define friend_cli_if(x) x
# define public_cli_if(x) x
# else
# define private_cli_if(x)
# define friend_cli_if(x) extern x
# define public_cli_if(x) extern x
# endif
# else
# define private_cli_if(x)
# define friend_cli_if(x)
# define public_cli_if(x) extern x
# endif
/** @defgroup _cli_if Interfaces of CLI /** @defgroup _cli_if Interfaces of CLI
* @{*/ * @{*/
public_cli_if( void cli_init (void); ) void cli_init (void);
public_cli_if( int cli_server_init(cli_handler_t handler); ) int cli_server_init(cli_handler_t handler);
public_cli_if(void cli_server_cleanup(void);) void cli_server_cleanup(void);
public_cli_if(void cli_server_recv(const void * data, socklen_t len);) void cli_server_recv(const void * data, socklen_t len);
/* @}*/ /* @}*/
#ifdef __cplusplus #ifdef __cplusplus
......
...@@ -32,21 +32,6 @@ ...@@ -32,21 +32,6 @@
#include "types.h" #include "types.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
# ifdef list_C
# define private_list(x) x
# define public_list(x) x
# else
# define private_list(x)
# define public_list(x) extern x
# endif
# ifdef LIST2_C
# define private_list2(x) x
# define public_list2(x) x
# else
# define private_list2(x)
# define public_list2(x) extern x
# endif
//-----------------------------------------------------------------------------
typedef struct Job_List_s { typedef struct Job_List_s {
Job_elt_t *head; Job_elt_t *head;
...@@ -67,36 +52,36 @@ typedef struct Packet_OTG_List_s { ...@@ -67,36 +52,36 @@ typedef struct Packet_OTG_List_s {
} Packet_OTG_List_t; } Packet_OTG_List_t;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
public_list( void job_list_init (Job_List_t*);) void job_list_init (Job_List_t*);
public_list( void job_list_free (Job_List_t* listP);) void job_list_free (Job_List_t* listP);
public_list( Job_elt_t* job_list_get_head (Job_List_t*);) Job_elt_t* job_list_get_head (Job_List_t*);
public_list( Job_elt_t* job_list_remove_head (Job_List_t* );) Job_elt_t* job_list_remove_head (Job_List_t* );
public_list( Job_elt_t* job_list_remove_element (Job_elt_t*, Job_List_t*);) Job_elt_t* job_list_remove_element (Job_elt_t*, Job_List_t*);
public_list( void job_list_add_head (Job_elt_t* , Job_List_t* );) void job_list_add_head (Job_elt_t* , Job_List_t* );
public_list( void job_list_add_tail_eurecom (Job_elt_t* , Job_List_t* );) void job_list_add_tail_eurecom (Job_elt_t* , Job_List_t* );
public_list( void job_list_add_list (Job_List_t* , Job_List_t* );) void job_list_add_list (Job_List_t* , Job_List_t* );
public_list( void job_list_display (Job_List_t* );) void job_list_display (Job_List_t* );
public_list( void event_list_init (Event_List_t*);) void event_list_init (Event_List_t*);
public_list( void event_list_free (Event_List_t* listP);) void event_list_free (Event_List_t* listP);
public_list( Event_elt_t* event_list_get_head (Event_List_t*);) Event_elt_t* event_list_get_head (Event_List_t*);
public_list( Event_elt_t* event_list_remove_head (Event_List_t* );) Event_elt_t* event_list_remove_head (Event_List_t* );
public_list( Event_elt_t* event_list_remove_element (Event_elt_t*, Event_List_t*);) Event_elt_t* event_list_remove_element (Event_elt_t*, Event_List_t*);
public_list( void event_list_add_head (Event_elt_t* , Event_List_t* );) void event_list_add_head (Event_elt_t* , Event_List_t* );
public_list( void event_list_add_element (Event_elt_t* , Event_elt_t* , Event_List_t* );) void event_list_add_element (Event_elt_t* , Event_elt_t* , Event_List_t* );
public_list( void event_list_add_tail_eurecom (Event_elt_t* , Event_List_t* );) void event_list_add_tail_eurecom (Event_elt_t* , Event_List_t* );
public_list( void event_list_add_list (Event_List_t* , Event_List_t* );) void event_list_add_list (Event_List_t* , Event_List_t* );
public_list( void event_list_display (Event_List_t* );) void event_list_display (Event_List_t* );
public_list( void pkt_list_init (Packet_OTG_List_t*);) void pkt_list_init (Packet_OTG_List_t*);
public_list( void pkt_list_free (Packet_OTG_List_t* listP);) void pkt_list_free (Packet_OTG_List_t* listP);
public_list( Packet_otg_elt_t* pkt_list_get_head (Packet_OTG_List_t*);) Packet_otg_elt_t* pkt_list_get_head (Packet_OTG_List_t*);
public_list( Packet_otg_elt_t* pkt_list_remove_head (Packet_OTG_List_t* );) Packet_otg_elt_t* pkt_list_remove_head (Packet_OTG_List_t* );
public_list( Packet_otg_elt_t* pkt_list_remove_element (Packet_otg_elt_t*, Packet_OTG_List_t*);) Packet_otg_elt_t* pkt_list_remove_element (Packet_otg_elt_t*, Packet_OTG_List_t*);
public_list( void pkt_list_add_head (Packet_otg_elt_t* , Packet_OTG_List_t* );) void pkt_list_add_head (Packet_otg_elt_t* , Packet_OTG_List_t* );
public_list( void pkt_list_add_element (Packet_otg_elt_t* , Packet_otg_elt_t* , Packet_OTG_List_t* );) void pkt_list_add_element (Packet_otg_elt_t* , Packet_otg_elt_t* , Packet_OTG_List_t* );
public_list( void pkt_list_add_tail_eurecom (Packet_otg_elt_t* , Packet_OTG_List_t* );) void pkt_list_add_tail_eurecom (Packet_otg_elt_t* , Packet_OTG_List_t* );
public_list( void pkt_list_add_list (Packet_OTG_List_t* , Packet_OTG_List_t* );) void pkt_list_add_list (Packet_OTG_List_t* , Packet_OTG_List_t* );
public_list( void pkt_list_display (Packet_OTG_List_t* );) void pkt_list_display (Packet_OTG_List_t* );
#endif #endif
...@@ -39,66 +39,36 @@ ...@@ -39,66 +39,36 @@
#ifndef __LIST_H__ #ifndef __LIST_H__
# define __LIST_H__ # define __LIST_H__
# include "UTIL/MEM/mem_block.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
# ifdef LIST_C
# define private_list(x) x
# define public_list(x) x
# else
# define private_list(x)
# define public_list(x) extern x
# endif
# ifdef LIST2_C
# define private_list2(x) x
# define public_list2(x) x
# else
# define private_list2(x)
# define public_list2(x) extern x
# endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
#include "platform_constants.h"
#include<linux/types.h> #include<linux/types.h>
#include<stdlib.h> #include<stdlib.h>
#include<sys/queue.h> #include<sys/queue.h>
#define LIST_NAME_MAX_CHAR 32 #include "UTIL/MEM/mem_block.h"
typedef struct {
struct mem_block_t *head;
struct mem_block_t *tail;
int nb_elements;
char name[LIST_NAME_MAX_CHAR];
} list2_t;
//-----------------------------------------------------------------------------
typedef struct {
struct mem_block_t *head;
struct mem_block_t *tail;
int nb_elements;
char name[LIST_NAME_MAX_CHAR];
} list_t;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
public_list( void list_init (list_t* , char *);) void list_init (list_t* , char *);
public_list( void list_free (list_t* listP);) void list_free (list_t* listP);
public_list( mem_block_t* list_get_head (list_t*);) mem_block_t* list_get_head (list_t*);
public_list( mem_block_t* list_remove_head (list_t* );) mem_block_t* list_remove_head (list_t* );
public_list( mem_block_t* list_remove_element (mem_block_t*, list_t*);) mem_block_t* list_remove_element (mem_block_t*, list_t*);
public_list( void list_add_head (mem_block_t* , list_t* );) void list_add_head (mem_block_t* , list_t* );
public_list( void list_add_tail_eurecom (mem_block_t* , list_t* );) void list_add_tail_eurecom (mem_block_t* , list_t* );
public_list( void list_add_list (list_t* , list_t* );) void list_add_list (list_t* , list_t* );
public_list( void list_display (list_t* );) void list_display (list_t* );
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
public_list2( void list2_init (list2_t*, char*);) void list2_init (list2_t*, char*);
public_list2( void list2_free (list2_t* );) void list2_free (list2_t* );
public_list2( mem_block_t* list2_get_head (list2_t*);) mem_block_t* list2_get_head (list2_t*);
public_list2( mem_block_t* list2_get_tail (list2_t*);) mem_block_t* list2_get_tail (list2_t*);
public_list2( mem_block_t* list2_remove_element (mem_block_t* , list2_t* );) mem_block_t* list2_remove_element (mem_block_t* , list2_t* );
public_list2( mem_block_t* list2_remove_head (list2_t* );) mem_block_t* list2_remove_head (list2_t* );
public_list2( mem_block_t* list2_remove_tail (list2_t* );) mem_block_t* list2_remove_tail (list2_t* );
public_list2( void list2_add_head (mem_block_t* , list2_t* );) void list2_add_head (mem_block_t* , list2_t* );
public_list2( void list2_add_tail (mem_block_t* , list2_t* );) void list2_add_tail (mem_block_t* , list2_t* );
public_list2( void list2_add_list (list2_t* , list2_t* );) void list2_add_list (list2_t* , list2_t* );
public_list2( void list2_display (list2_t* );) void list2_display (list2_t* );
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
/* The following lists are used for sorting numbers */ /* The following lists are used for sorting numbers */
#ifndef LINUX_LIST #ifndef LINUX_LIST
...@@ -126,11 +96,11 @@ struct list { ...@@ -126,11 +96,11 @@ struct list {
}; };
#endif #endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
public_list2( void push_front (struct list*, double); ) void push_front (struct list*, double);
public_list2( void initialize (struct list*); ) void initialize (struct list*);
public_list2( void del (struct list*); ) void del (struct list*);
public_list2( void totable (double*, struct list*);) void totable (double*, struct list*);
public_list2( int compare (const void * a, const void * b);) int compare (const void * a, const void * b);
public_list2( int32_t calculate_median(struct list *loc_list);) int32_t calculate_median(struct list *loc_list);
#endif #endif
...@@ -32,13 +32,7 @@ ...@@ -32,13 +32,7 @@
# define __MEM_BLOCK_H__ # define __MEM_BLOCK_H__
#include <stdint.h> #include <stdint.h>
#ifdef MEM_BLOCK_C #include "openair2/COMMON/platform_constants.h"
# define public_mem_block(x) x
# define private_mem_block(x) x
#else
# define public_mem_block(x) extern x
# define private_mem_block(x)
#endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
typedef struct mem_block_t { typedef struct mem_block_t {
...@@ -47,21 +41,20 @@ typedef struct mem_block_t { ...@@ -47,21 +41,20 @@ typedef struct mem_block_t {
unsigned char pool_id; unsigned char pool_id;
unsigned char *data; unsigned char *data;
} mem_block_t; } mem_block_t;
#include "UTIL/LISTS/list.h"
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
public_mem_block(void *pool_buffer_init (void);) void *pool_buffer_init (void);
public_mem_block(void *pool_buffer_clean (void *arg);) void *pool_buffer_clean (void *arg);
public_mem_block(void free_mem_block (mem_block_t * leP, const char* caller);) void free_mem_block (mem_block_t * leP, const char* caller);
public_mem_block(mem_block_t* get_free_mem_block (uint32_t sizeP, const char* caller);) mem_block_t* get_free_mem_block (uint32_t sizeP, const char* caller);
public_mem_block(mem_block_t *get_free_copy_mem_block (void);) mem_block_t *get_free_copy_mem_block (void);
public_mem_block(mem_block_t *get_free_copy_mem_block_up (void);) mem_block_t *get_free_copy_mem_block_up (void);
public_mem_block(mem_block_t *copy_mem_block (mem_block_t * leP, mem_block_t * destP);) mem_block_t *copy_mem_block (mem_block_t * leP, mem_block_t * destP);
public_mem_block(void display_mem_load (void);) void display_mem_load (void);
public_mem_block(void check_mem_area (void);) void check_mem_area (void);
private_mem_block(void check_free_mem_block (mem_block_t * leP);) void check_free_mem_block (mem_block_t * leP);
# define MEM_SCALE MAX_MOBILES_PER_ENB # define MEM_SCALE MAX_MOBILES_PER_ENB
// definition of the size of the allocated memory area // definition of the size of the allocated memory area
# define MEM_MNGT_MB0_BLOCK_SIZE 64 # define MEM_MNGT_MB0_BLOCK_SIZE 64
...@@ -139,9 +132,26 @@ private_mem_block(void check_free_mem_block (mem_block_t * leP);) ...@@ -139,9 +132,26 @@ private_mem_block(void check_free_mem_block (mem_block_t * leP);)
# define MEM_MNGT_NB_ELEMENTS MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS + MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS + MEM_MNGT_MB5_NB_BLOCKS + MEM_MNGT_MB6_NB_BLOCKS + MEM_MNGT_MB7_NB_BLOCKS + MEM_MNGT_MB8_NB_BLOCKS + MEM_MNGT_MB9_NB_BLOCKS + MEM_MNGT_MB10_NB_BLOCKS + MEM_MNGT_MB11_NB_BLOCKS + MEM_MNGT_MB12_NB_BLOCKS + MEM_MNGT_MBCOPY_NB_BLOCKS # define MEM_MNGT_NB_ELEMENTS MEM_MNGT_MB0_NB_BLOCKS + MEM_MNGT_MB1_NB_BLOCKS + MEM_MNGT_MB2_NB_BLOCKS + MEM_MNGT_MB3_NB_BLOCKS + MEM_MNGT_MB4_NB_BLOCKS + MEM_MNGT_MB5_NB_BLOCKS + MEM_MNGT_MB6_NB_BLOCKS + MEM_MNGT_MB7_NB_BLOCKS + MEM_MNGT_MB8_NB_BLOCKS + MEM_MNGT_MB9_NB_BLOCKS + MEM_MNGT_MB10_NB_BLOCKS + MEM_MNGT_MB11_NB_BLOCKS + MEM_MNGT_MB12_NB_BLOCKS + MEM_MNGT_MBCOPY_NB_BLOCKS
# define MEM_MNGT_POOL_ID_COPY 13 # define MEM_MNGT_POOL_ID_COPY 13
#define LIST_NAME_MAX_CHAR 32
typedef struct {
struct mem_block_t *head;
struct mem_block_t *tail;
int nb_elements;
char name[LIST_NAME_MAX_CHAR];
} list2_t;
//-----------------------------------------------------------------------------
typedef struct {
struct mem_block_t *head;
struct mem_block_t *tail;
int nb_elements;
char name[LIST_NAME_MAX_CHAR];
} list_t;
private_mem_block(typedef struct { typedef struct {
//----------------------------------------------------------- //-----------------------------------------------------------
// basic memory management // basic memory management
//----------------------------------------------------------- //-----------------------------------------------------------
...@@ -161,9 +171,9 @@ private_mem_block(typedef struct { ...@@ -161,9 +171,9 @@ private_mem_block(typedef struct {
mem_block_t mem_blocks[MEM_MNGT_NB_ELEMENTS]; mem_block_t mem_blocks[MEM_MNGT_NB_ELEMENTS];
list_t mem_lists[14]; list_t mem_lists[14];
} mem_pool;) } mem_pool;
private_mem_block(mem_pool mem_block_var;) mem_pool mem_block_var;
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment