Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
6e7891b3
Commit
6e7891b3
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
23101545
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 @
6e7891b3
...
...
@@ -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 @
6e7891b3
...
...
@@ -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 @
6e7891b3
#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 @
6e7891b3
#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 @
6e7891b3
#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 @
6e7891b3
#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 @
6e7891b3
...
...
@@ -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