1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef _CONF_USER_H
#define _CONF_USER_H
#include <stdbool.h>
#include <libconfig.h>
#include "conf_network.h"
#define HPLMN "HPLMN"
#define UCPLMN "UCPLMN_LIST"
#define OPLMN "OPLMN_LIST"
#define OCPLMN "OCPLMN_LIST"
#define FPLMN "FPLMN_LIST"
#define EHPLMN "EHPLMN_LIST"
typedef struct {
int size;
int *items;
} plmns_list;
typedef struct {
plmns_list users_controlled;
plmns_list operators;
plmns_list operators_controlled;
plmns_list forbiddens;
plmns_list equivalents_home;
} user_plmns_t;
bool parse_user_plmns_conf(config_setting_t *ue_setting, int user_id,
user_plmns_t *user_plmns, const char **h,
const networks_t networks);
bool parse_Xplmn(config_setting_t *ue_setting, const char *section,
int user_id, plmns_list *plmns, const networks_t networks);
void user_plmns_free(user_plmns_t *user_plmns);
#endif