Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
spbro
OpenXG-RAN
Commits
6c588589
Commit
6c588589
authored
Aug 24, 2016
by
Frédéric Leroy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor(conf2uedata): move parser functions to conf_parser.[c|h]
parent
bf699414
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
125 additions
and
120 deletions
+125
-120
cmake_targets/nas_sim_tools/CMakeLists.txt
cmake_targets/nas_sim_tools/CMakeLists.txt
+1
-0
openair3/NAS/TOOLS/conf2uedata.c
openair3/NAS/TOOLS/conf2uedata.c
+1
-108
openair3/NAS/TOOLS/conf2uedata.h
openair3/NAS/TOOLS/conf2uedata.h
+0
-10
openair3/NAS/TOOLS/conf_emm.h
openair3/NAS/TOOLS/conf_emm.h
+1
-1
openair3/NAS/TOOLS/conf_parser.c
openair3/NAS/TOOLS/conf_parser.c
+110
-0
openair3/NAS/TOOLS/conf_parser.h
openair3/NAS/TOOLS/conf_parser.h
+12
-0
openair3/NAS/TOOLS/conf_usim.c
openair3/NAS/TOOLS/conf_usim.c
+0
-1
No files found.
cmake_targets/nas_sim_tools/CMakeLists.txt
View file @
6c588589
...
...
@@ -22,6 +22,7 @@ set(conf2uedata_SRC
${
OPENAIR_DIR
}
/openair3/NAS/TOOLS/conf_usim.c
${
OPENAIR_DIR
}
/openair3/NAS/TOOLS/conf_network.c
${
OPENAIR_DIR
}
/openair3/NAS/TOOLS/conf_user_plmn.c
${
OPENAIR_DIR
}
/openair3/NAS/TOOLS/conf_parser.c
${
OPENAIR_DIR
}
/openair3/NAS/TOOLS/fs.c
${
OPENAIR_DIR
}
/openair3/NAS/TOOLS/display.c
${
OPENAIR_DIR
}
/openair3/NAS/UE/API/USIM/usim_api.c
...
...
openair3/NAS/TOOLS/conf2uedata.c
View file @
6c588589
...
...
@@ -4,13 +4,8 @@
#include <getopt.h>
#include "conf2uedata.h"
#include "memory.h"
#include "utils.h"
#include "display.h"
#include "fs.h"
#include "conf_emm.h"
#include "conf_user_data.h"
#include "conf_usim.h"
#include "conf_parser.h"
int
main
(
int
argc
,
char
**
argv
)
{
int
option
;
...
...
@@ -56,108 +51,6 @@ int main(int argc, char**argv) {
exit
(
0
);
}
bool
parse_config_file
(
const
char
*
output_dir
,
const
char
*
conf_filename
)
{
int
rc
=
true
;
int
ret
;
int
ue_nb
=
0
;
config_setting_t
*
root_setting
=
NULL
;
config_setting_t
*
ue_setting
=
NULL
;
config_setting_t
*
all_plmn_setting
=
NULL
;
char
user
[
10
];
config_t
cfg
;
networks_t
networks
;;
ret
=
get_config_from_file
(
conf_filename
,
&
cfg
);
if
(
ret
==
false
)
{
exit
(
1
);
}
root_setting
=
config_root_setting
(
&
cfg
);
ue_nb
=
config_setting_length
(
root_setting
)
-
1
;
all_plmn_setting
=
config_setting_get_member
(
root_setting
,
PLMN
);
if
(
all_plmn_setting
==
NULL
)
{
printf
(
"NO PLMN SECTION...EXITING...
\n
"
);
return
(
false
);
}
if
(
parse_plmns
(
all_plmn_setting
,
&
networks
)
==
false
)
{
return
false
;
}
for
(
int
i
=
0
;
i
<
ue_nb
;
i
++
)
{
emm_nvdata_t
emm_data
;
user_nvdata_t
user_data
;
user_data_conf_t
user_data_conf
;
usim_data_t
usim_data
;
usim_data_conf_t
usim_data_conf
;
user_plmns_t
user_plmns
;
sprintf
(
user
,
"%s%d"
,
UE
,
i
);
ue_setting
=
config_setting_get_member
(
root_setting
,
user
);
if
(
ue_setting
==
NULL
)
{
printf
(
"Check UE%d settings
\n
"
,
i
);
return
false
;
}
if
(
parse_user_plmns_conf
(
ue_setting
,
i
,
&
user_plmns
,
&
usim_data_conf
.
hplmn
,
networks
)
==
false
)
{
return
false
;
}
rc
=
parse_ue_user_data
(
ue_setting
,
i
,
&
user_data_conf
);
if
(
rc
!=
true
)
{
printf
(
"Problem in USER section for UE%d. EXITING...
\n
"
,
i
);
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
)
{
printf
(
"Problem in SIM section for UE%d. EXITING...
\n
"
,
i
);
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
);
user_plmns_free
(
&
user_plmns
);
}
free
(
networks
.
items
);
networks
.
size
=
0
;
config_destroy
(
&
cfg
);
return
(
true
);
}
bool
get_config_from_file
(
const
char
*
filename
,
config_t
*
config
)
{
config_init
(
config
);
if
(
filename
==
NULL
)
{
// XXX write error message ?
return
(
false
);
}
/* Read the file. If there is an error, report it and exit. */
if
(
!
config_read_file
(
config
,
filename
))
{
fprintf
(
stderr
,
"Cant read config file '%s': %s
\n
"
,
filename
,
config_error_text
(
config
));
if
(
config_error_type
(
config
)
==
CONFIG_ERR_PARSE
)
{
fprintf
(
stderr
,
"This is line %d
\n
"
,
config_error_line
(
config
));
}
config_destroy
(
config
);
return
(
false
);
}
return
true
;
}
/*
* Displays command line usage
*/
...
...
openair3/NAS/TOOLS/conf2uedata.h
View file @
6c588589
#ifndef _CONF2UEDATA_H
#define _CONF2UEDATA_H
#include <libconfig.h>
#include "usim_api.h"
#include "conf_network.h"
#define UE "UE"
bool
get_config_from_file
(
const
char
*
filename
,
config_t
*
config
);
bool
parse_config_file
(
const
char
*
output_dir
,
const
char
*
filename
);
void
_display_usage
(
void
);
#endif // _CONF2UEDATA_H
openair3/NAS/TOOLS/conf_emm.h
View file @
6c588589
#ifndef _CONF_EMM_H
#define _CONF_EMM_H
#include "conf2uedata.h"
#include "emmData.h"
#include "conf_network.h"
void
gen_emm_data
(
emm_nvdata_t
*
emm_data
,
const
char
*
hplmn
,
const
char
*
msin
,
int
ehplmn_count
,
const
networks_t
networks
);
bool
write_emm_data
(
const
char
*
directory
,
int
user_id
,
emm_nvdata_t
*
emm_data
);
...
...
openair3/NAS/TOOLS/conf_parser.c
0 → 100644
View file @
6c588589
#include "conf_parser.h"
#include "conf_network.h"
#include "conf_emm.h"
#include "conf_usim.h"
#include "conf_user_data.h"
#include "conf_user_plmn.h"
bool
parse_config_file
(
const
char
*
output_dir
,
const
char
*
conf_filename
)
{
int
rc
=
true
;
int
ret
;
int
ue_nb
=
0
;
config_setting_t
*
root_setting
=
NULL
;
config_setting_t
*
ue_setting
=
NULL
;
config_setting_t
*
all_plmn_setting
=
NULL
;
char
user
[
10
];
config_t
cfg
;
networks_t
networks
;;
ret
=
get_config_from_file
(
conf_filename
,
&
cfg
);
if
(
ret
==
false
)
{
exit
(
1
);
}
root_setting
=
config_root_setting
(
&
cfg
);
ue_nb
=
config_setting_length
(
root_setting
)
-
1
;
all_plmn_setting
=
config_setting_get_member
(
root_setting
,
PLMN
);
if
(
all_plmn_setting
==
NULL
)
{
printf
(
"NO PLMN SECTION...EXITING...
\n
"
);
return
(
false
);
}
if
(
parse_plmns
(
all_plmn_setting
,
&
networks
)
==
false
)
{
return
false
;
}
for
(
int
i
=
0
;
i
<
ue_nb
;
i
++
)
{
emm_nvdata_t
emm_data
;
user_nvdata_t
user_data
;
user_data_conf_t
user_data_conf
;
usim_data_t
usim_data
;
usim_data_conf_t
usim_data_conf
;
user_plmns_t
user_plmns
;
sprintf
(
user
,
"%s%d"
,
UE
,
i
);
ue_setting
=
config_setting_get_member
(
root_setting
,
user
);
if
(
ue_setting
==
NULL
)
{
printf
(
"Check UE%d settings
\n
"
,
i
);
return
false
;
}
if
(
parse_user_plmns_conf
(
ue_setting
,
i
,
&
user_plmns
,
&
usim_data_conf
.
hplmn
,
networks
)
==
false
)
{
return
false
;
}
rc
=
parse_ue_user_data
(
ue_setting
,
i
,
&
user_data_conf
);
if
(
rc
!=
true
)
{
printf
(
"Problem in USER section for UE%d. EXITING...
\n
"
,
i
);
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
)
{
printf
(
"Problem in SIM section for UE%d. EXITING...
\n
"
,
i
);
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
);
user_plmns_free
(
&
user_plmns
);
}
free
(
networks
.
items
);
networks
.
size
=
0
;
config_destroy
(
&
cfg
);
return
(
true
);
}
bool
get_config_from_file
(
const
char
*
filename
,
config_t
*
config
)
{
config_init
(
config
);
if
(
filename
==
NULL
)
{
// XXX write error message ?
return
(
false
);
}
/* Read the file. If there is an error, report it and exit. */
if
(
!
config_read_file
(
config
,
filename
))
{
fprintf
(
stderr
,
"Cant read config file '%s': %s
\n
"
,
filename
,
config_error_text
(
config
));
if
(
config_error_type
(
config
)
==
CONFIG_ERR_PARSE
)
{
fprintf
(
stderr
,
"This is line %d
\n
"
,
config_error_line
(
config
));
}
config_destroy
(
config
);
return
(
false
);
}
return
true
;
}
openair3/NAS/TOOLS/conf_parser.h
0 → 100644
View file @
6c588589
#ifndef _CONF_PARSER_H
#define _CONF_PARSER_H
#include <stdbool.h>
#include <libconfig.h>
#define UE "UE"
bool
get_config_from_file
(
const
char
*
filename
,
config_t
*
config
);
bool
parse_config_file
(
const
char
*
output_dir
,
const
char
*
filename
);
#endif
openair3/NAS/TOOLS/conf_usim.c
View file @
6c588589
...
...
@@ -5,7 +5,6 @@
#include "utils.h"
#include "conf_emm.h"
#include "fs.h"
#include "conf2uedata.h"
#include "conf_usim.h"
bool
parse_ue_sim_param
(
config_setting_t
*
ue_setting
,
int
user_id
,
usim_data_conf_t
*
u
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment