diff --git a/openair3/NAS/TOOLS/conf2uedata.c b/openair3/NAS/TOOLS/conf2uedata.c index b162979dc2..ad15d1bb4f 100644 --- a/openair3/NAS/TOOLS/conf2uedata.c +++ b/openair3/NAS/TOOLS/conf2uedata.c @@ -42,7 +42,7 @@ int main(int argc, char**argv) { exit(1); } - if ( parse_config_file(output_dir, conf_file) == false ) { + if ( parse_config_file(output_dir, conf_file, OUTPUT_ALL) == false ) { exit(1); } diff --git a/openair3/NAS/TOOLS/conf_parser.c b/openair3/NAS/TOOLS/conf_parser.c index 816c5c6ec9..e7d1240fad 100644 --- a/openair3/NAS/TOOLS/conf_parser.c +++ b/openair3/NAS/TOOLS/conf_parser.c @@ -6,7 +6,7 @@ #include "conf_user_data.h" #include "conf_user_plmn.h" -bool parse_config_file(const char *output_dir, const char *conf_filename) { +bool parse_config_file(const char *output_dir, const char *conf_filename, int output_flags) { int rc = true; int ret; int ue_nb = 0; @@ -65,7 +65,6 @@ bool parse_config_file(const char *output_dir, const char *conf_filename) { return false; } gen_user_data(&user_data_conf, &user_data); - write_user_data(output_dir, i, &user_data); rc = parse_ue_sim_param(ue_setting, i, &usim_data_conf); if (rc != true) { @@ -73,11 +72,21 @@ bool parse_config_file(const char *output_dir, const char *conf_filename) { return false; } gen_usim_data(&usim_data_conf, &usim_data, &user_plmns, networks); - write_usim_data(output_dir, i, &usim_data); gen_emm_data(&emm_data, usim_data_conf.hplmn, usim_data_conf.msin, user_plmns.equivalents_home.size, networks); - write_emm_data(output_dir, i, &emm_data); + + if ( output_flags & OUTPUT_UEDATA ) { + write_user_data(output_dir, i, &user_data); + } + + if ( output_flags & OUTPUT_USIM ) { + write_usim_data(output_dir, i, &usim_data); + } + + if ( output_flags & OUTPUT_EMM ) { + write_emm_data(output_dir, i, &emm_data); + } user_plmns_free(&user_plmns); diff --git a/openair3/NAS/TOOLS/conf_parser.h b/openair3/NAS/TOOLS/conf_parser.h index 4e160ab73a..49d3645faf 100644 --- a/openair3/NAS/TOOLS/conf_parser.h +++ b/openair3/NAS/TOOLS/conf_parser.h @@ -6,7 +6,12 @@ #define UE "UE" +#define OUTPUT_EMM 1 +#define OUTPUT_USIM 2 +#define OUTPUT_UEDATA 4 +#define OUTPUT_ALL 7 + bool get_config_from_file(const char *filename, config_t *config); -bool parse_config_file(const char *output_dir, const char *filename); +bool parse_config_file(const char *output_dir, const char *filename, int output_flags); #endif