Commit d4de8aaf authored by Frédéric Leroy's avatar Frédéric Leroy

UE: use nas_user_t in nas_* function prototype

This patch merely adds a "user" object in all nas_* functions.
This don't move any data structure.
It allows next patches to be nicely split.
Signed-off-by: default avatarFrédéric Leroy <frederic.leroy@b-com.com>
parent ee82aed1
...@@ -408,7 +408,9 @@ static void _nas_clean(int usr_fd, int net_fd) ...@@ -408,7 +408,9 @@ static void _nas_clean(int usr_fd, int net_fd)
LOG_FUNC_IN; LOG_FUNC_IN;
LOG_TRACE (INFO, "UE-MAIN - Perform EMM and ESM cleanup"); LOG_TRACE (INFO, "UE-MAIN - Perform EMM and ESM cleanup");
nas_network_cleanup (); // FIXME nas_network_cleanup depends on nas_user_t
// Why this program should interfere like that with oaisim ?
//nas_network_cleanup ();
LOG_TRACE (INFO, "UE-MAIN - " LOG_TRACE (INFO, "UE-MAIN - "
"Closing user connection %d and network connection %d", "Closing user connection %d and network connection %d",
......
...@@ -92,11 +92,11 @@ void nas_network_initialize(void) ...@@ -92,11 +92,11 @@ void nas_network_initialize(void)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
void nas_network_cleanup(void) void nas_network_cleanup(nas_user_t *user)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
nas_proc_cleanup(); nas_proc_cleanup(user);
LOG_FUNC_OUT; LOG_FUNC_OUT;
} }
...@@ -161,12 +161,12 @@ int nas_network_process_data(nas_user_t *user, int msg_id, const void *data) ...@@ -161,12 +161,12 @@ int nas_network_process_data(nas_user_t *user, int msg_id, const void *data)
if ( (confirm->errCode == AS_SUCCESS) || if ( (confirm->errCode == AS_SUCCESS) ||
(confirm->errCode == AS_TERMINATED_NAS) ) { (confirm->errCode == AS_TERMINATED_NAS) ) {
rc = nas_proc_establish_cnf(confirm->nasMsg.data, rc = nas_proc_establish_cnf(user, confirm->nasMsg.data,
confirm->nasMsg.length); confirm->nasMsg.length);
} else { } else {
LOG_TRACE(WARNING, "NET-MAIN - " LOG_TRACE(WARNING, "NET-MAIN - "
"Initial NAS message not delivered"); "Initial NAS message not delivered");
rc = nas_proc_establish_rej(); rc = nas_proc_establish_rej(user);
} }
break; break;
...@@ -174,7 +174,7 @@ int nas_network_process_data(nas_user_t *user, int msg_id, const void *data) ...@@ -174,7 +174,7 @@ int nas_network_process_data(nas_user_t *user, int msg_id, const void *data)
case AS_NAS_RELEASE_IND: case AS_NAS_RELEASE_IND:
/* Received NAS signalling connection releaase indication */ /* Received NAS signalling connection releaase indication */
rc = nas_proc_release_ind(msg->msg.nas_release_ind.cause); rc = nas_proc_release_ind(user, msg->msg.nas_release_ind.cause);
break; break;
case AS_UL_INFO_TRANSFER_CNF: case AS_UL_INFO_TRANSFER_CNF:
...@@ -183,9 +183,9 @@ int nas_network_process_data(nas_user_t *user, int msg_id, const void *data) ...@@ -183,9 +183,9 @@ int nas_network_process_data(nas_user_t *user, int msg_id, const void *data)
if (msg->msg.ul_info_transfer_cnf.errCode != AS_SUCCESS) { if (msg->msg.ul_info_transfer_cnf.errCode != AS_SUCCESS) {
LOG_TRACE(WARNING, "NET-MAIN - " LOG_TRACE(WARNING, "NET-MAIN - "
"Uplink NAS message not delivered"); "Uplink NAS message not delivered");
rc = nas_proc_ul_transfer_rej(); rc = nas_proc_ul_transfer_rej(user);
} else { } else {
rc = nas_proc_ul_transfer_cnf(); rc = nas_proc_ul_transfer_cnf(user);
} }
break; break;
...@@ -193,7 +193,7 @@ int nas_network_process_data(nas_user_t *user, int msg_id, const void *data) ...@@ -193,7 +193,7 @@ int nas_network_process_data(nas_user_t *user, int msg_id, const void *data)
case AS_DL_INFO_TRANSFER_IND: { case AS_DL_INFO_TRANSFER_IND: {
const dl_info_transfer_ind_t *info = &msg->msg.dl_info_transfer_ind; const dl_info_transfer_ind_t *info = &msg->msg.dl_info_transfer_ind;
/* Received downlink data transfer indication */ /* Received downlink data transfer indication */
rc = nas_proc_dl_transfer_ind(info->nasMsg.data, rc = nas_proc_dl_transfer_ind(user, info->nasMsg.data,
info->nasMsg.length); info->nasMsg.length);
break; break;
} }
......
...@@ -61,7 +61,7 @@ Description NAS procedure functions triggered by the network ...@@ -61,7 +61,7 @@ Description NAS procedure functions triggered by the network
void nas_network_initialize(void); void nas_network_initialize(void);
void nas_network_cleanup(void); void nas_network_cleanup(nas_user_t *user);
int nas_network_process_data(nas_user_t *user, int command_id, const void *data); int nas_network_process_data(nas_user_t *user, int command_id, const void *data);
......
...@@ -64,8 +64,8 @@ Description NAS procedure call manager ...@@ -64,8 +64,8 @@ Description NAS procedure call manager
#define NAS_PROC_RSRP_UNKNOWN 255 #define NAS_PROC_RSRP_UNKNOWN 255
static int _nas_proc_activate(int cid, int apply_to_all); static int _nas_proc_activate(nas_user_t *user, int cid, int apply_to_all);
static int _nas_proc_deactivate(int cid, int apply_to_all); static int _nas_proc_deactivate(nas_user_t *user, int cid, int apply_to_all);
/****************************************************************************/ /****************************************************************************/
/****************** E X P O R T E D F U N C T I O N S ******************/ /****************** E X P O R T E D F U N C T I O N S ******************/
...@@ -121,12 +121,12 @@ void nas_proc_initialize(nas_user_t *user, emm_indication_callback_t emm_cb, ...@@ -121,12 +121,12 @@ void nas_proc_initialize(nas_user_t *user, emm_indication_callback_t emm_cb,
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
void nas_proc_cleanup() void nas_proc_cleanup(nas_user_t *user)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
/* Detach the UE from the EPS network */ /* Detach the UE from the EPS network */
int rc = nas_proc_detach(TRUE); int rc = nas_proc_detach(user, TRUE);
if (rc != RETURNok) { if (rc != RETURNok) {
LOG_TRACE(ERROR, "NAS-PROC - Failed to detach from the network"); LOG_TRACE(ERROR, "NAS-PROC - Failed to detach from the network");
...@@ -377,7 +377,7 @@ int nas_proc_get_signal_quality(nas_user_t *user, int *rsrq, int *rsrp) ...@@ -377,7 +377,7 @@ int nas_proc_get_signal_quality(nas_user_t *user, int *rsrq, int *rsrp)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_register(int mode, int format, const network_plmn_t *oper, int AcT) int nas_proc_register(nas_user_t *user, int mode, int format, const network_plmn_t *oper, int AcT)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -416,7 +416,7 @@ int nas_proc_register(int mode, int format, const network_plmn_t *oper, int AcT) ...@@ -416,7 +416,7 @@ int nas_proc_register(int mode, int format, const network_plmn_t *oper, int AcT)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_deregister() int nas_proc_deregister(nas_user_t *user)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -446,7 +446,7 @@ int nas_proc_deregister() ...@@ -446,7 +446,7 @@ int nas_proc_deregister()
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_get_reg_data(int *mode, int *selected, int format, int nas_proc_get_reg_data(nas_user_t *user, int *mode, int *selected, int format,
network_plmn_t *oper, int *AcT) network_plmn_t *oper, int *AcT)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -485,7 +485,7 @@ int nas_proc_get_reg_data(int *mode, int *selected, int format, ...@@ -485,7 +485,7 @@ int nas_proc_get_reg_data(int *mode, int *selected, int format,
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_get_oper_list(const char **oper_list) int nas_proc_get_oper_list(nas_user_t *user, const char **oper_list)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -510,7 +510,7 @@ int nas_proc_get_oper_list(const char **oper_list) ...@@ -510,7 +510,7 @@ int nas_proc_get_oper_list(const char **oper_list)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_get_reg_status(int *stat) int nas_proc_get_reg_status(nas_user_t *user, int *stat)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -538,7 +538,7 @@ int nas_proc_get_reg_status(int *stat) ...@@ -538,7 +538,7 @@ int nas_proc_get_reg_status(int *stat)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_get_loc_info(char *tac, char *ci, int *AcT) int nas_proc_get_loc_info(nas_user_t *user, char *tac, char *ci, int *AcT)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -563,7 +563,7 @@ int nas_proc_get_loc_info(char *tac, char *ci, int *AcT) ...@@ -563,7 +563,7 @@ int nas_proc_get_loc_info(char *tac, char *ci, int *AcT)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_detach(int switch_off) int nas_proc_detach(nas_user_t *user, int switch_off)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -594,7 +594,7 @@ int nas_proc_detach(int switch_off) ...@@ -594,7 +594,7 @@ int nas_proc_detach(int switch_off)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_attach() int nas_proc_attach(nas_user_t *user)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -626,7 +626,7 @@ int nas_proc_attach() ...@@ -626,7 +626,7 @@ int nas_proc_attach()
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_get_attach_status() int nas_proc_get_attach_status(nas_user_t *user)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -649,7 +649,7 @@ int nas_proc_get_attach_status() ...@@ -649,7 +649,7 @@ int nas_proc_get_attach_status()
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_get_pdn_range() int nas_proc_get_pdn_range(nas_user_t *user)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -674,7 +674,7 @@ int nas_proc_get_pdn_range() ...@@ -674,7 +674,7 @@ int nas_proc_get_pdn_range()
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_get_pdn_status(int *cids, int *states, int n_pdn_max) int nas_proc_get_pdn_status(nas_user_t *user, int *cids, int *states, int n_pdn_max)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -718,7 +718,7 @@ int nas_proc_get_pdn_status(int *cids, int *states, int n_pdn_max) ...@@ -718,7 +718,7 @@ int nas_proc_get_pdn_status(int *cids, int *states, int n_pdn_max)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_get_pdn_param(int *cids, int *types, const char **apns, int nas_proc_get_pdn_param(nas_user_t *user, int *cids, int *types, const char **apns,
int n_pdn_max) int n_pdn_max)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -770,7 +770,7 @@ int nas_proc_get_pdn_param(int *cids, int *types, const char **apns, ...@@ -770,7 +770,7 @@ int nas_proc_get_pdn_param(int *cids, int *types, const char **apns,
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_get_pdn_addr(int cid, int *cids, const char **addr1, int nas_proc_get_pdn_addr(nas_user_t *user, int cid, int *cids, const char **addr1,
const char **addr2, int n_pdn_max) const char **addr2, int n_pdn_max)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -833,7 +833,7 @@ int nas_proc_get_pdn_addr(int cid, int *cids, const char **addr1, ...@@ -833,7 +833,7 @@ int nas_proc_get_pdn_addr(int cid, int *cids, const char **addr1,
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_set_pdn(int cid, int type, const char *apn, int ipv4_addr, int nas_proc_set_pdn(nas_user_t *user, int cid, int type, const char *apn, int ipv4_addr,
int emergency, int p_cscf, int im_cn_signal) int emergency, int p_cscf, int im_cn_signal)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -871,7 +871,7 @@ int nas_proc_set_pdn(int cid, int type, const char *apn, int ipv4_addr, ...@@ -871,7 +871,7 @@ int nas_proc_set_pdn(int cid, int type, const char *apn, int ipv4_addr,
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_reset_pdn(int cid) int nas_proc_reset_pdn(nas_user_t *user, int cid)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -905,7 +905,7 @@ int nas_proc_reset_pdn(int cid) ...@@ -905,7 +905,7 @@ int nas_proc_reset_pdn(int cid)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_deactivate_pdn(int cid) int nas_proc_deactivate_pdn(nas_user_t *user, int cid)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -913,7 +913,7 @@ int nas_proc_deactivate_pdn(int cid) ...@@ -913,7 +913,7 @@ int nas_proc_deactivate_pdn(int cid)
if (cid > 0) { if (cid > 0) {
/* Deactivate only the specified PDN context */ /* Deactivate only the specified PDN context */
rc = _nas_proc_deactivate(cid, FALSE); rc = _nas_proc_deactivate(user, cid, FALSE);
} else { } else {
/* Do not deactivate the PDN connection established during initial /* Do not deactivate the PDN connection established during initial
* network attachment (identifier 1) */ * network attachment (identifier 1) */
...@@ -921,7 +921,7 @@ int nas_proc_deactivate_pdn(int cid) ...@@ -921,7 +921,7 @@ int nas_proc_deactivate_pdn(int cid)
/* Deactivate all active PDN contexts */ /* Deactivate all active PDN contexts */
while ((rc != RETURNerror) && (cid < esm_main_get_nb_pdns_max()+1)) { while ((rc != RETURNerror) && (cid < esm_main_get_nb_pdns_max()+1)) {
rc = _nas_proc_deactivate(cid++, TRUE); rc = _nas_proc_deactivate(user, cid++, TRUE);
} }
} }
...@@ -944,7 +944,7 @@ int nas_proc_deactivate_pdn(int cid) ...@@ -944,7 +944,7 @@ int nas_proc_deactivate_pdn(int cid)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_activate_pdn(int cid) int nas_proc_activate_pdn(nas_user_t *user, int cid)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -956,7 +956,7 @@ int nas_proc_activate_pdn(int cid) ...@@ -956,7 +956,7 @@ int nas_proc_activate_pdn(int cid)
* procedure prior to attempt to request any PDN connectivity * procedure prior to attempt to request any PDN connectivity
*/ */
LOG_TRACE(WARNING, "NAS-PROC - UE is not attached to the network"); LOG_TRACE(WARNING, "NAS-PROC - UE is not attached to the network");
rc = nas_proc_attach(); rc = nas_proc_attach(user);
} else if (emm_main_is_emergency()) { } else if (emm_main_is_emergency()) {
/* The UE is attached for emergency bearer services; It shall not /* The UE is attached for emergency bearer services; It shall not
* request a PDN connection to any other PDN */ * request a PDN connection to any other PDN */
...@@ -967,13 +967,13 @@ int nas_proc_activate_pdn(int cid) ...@@ -967,13 +967,13 @@ int nas_proc_activate_pdn(int cid)
if (rc != RETURNerror) { if (rc != RETURNerror) {
if (cid > 0) { if (cid > 0) {
/* Activate only the specified PDN context */ /* Activate only the specified PDN context */
rc = _nas_proc_activate(cid, FALSE); rc = _nas_proc_activate(user, cid, FALSE);
} else { } else {
cid = 1; cid = 1;
/* Activate all defined PDN contexts */ /* Activate all defined PDN contexts */
while ((rc != RETURNerror) && (cid < esm_main_get_nb_pdns_max()+1)) { while ((rc != RETURNerror) && (cid < esm_main_get_nb_pdns_max()+1)) {
rc = _nas_proc_activate(cid++, TRUE); rc = _nas_proc_activate(user, cid++, TRUE);
} }
} }
} }
...@@ -1056,7 +1056,7 @@ int nas_proc_cell_info(nas_user_t *user, int found, tac_t tac, ci_t ci, AcT_t Ac ...@@ -1056,7 +1056,7 @@ int nas_proc_cell_info(nas_user_t *user, int found, tac_t tac, ci_t ci, AcT_t Ac
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_establish_cnf(const Byte_t *data, uint32_t len) int nas_proc_establish_cnf(nas_user_t *user, const Byte_t *data, uint32_t len)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -1093,7 +1093,7 @@ int nas_proc_establish_cnf(const Byte_t *data, uint32_t len) ...@@ -1093,7 +1093,7 @@ int nas_proc_establish_cnf(const Byte_t *data, uint32_t len)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_establish_rej() int nas_proc_establish_rej(nas_user_t *user)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -1126,7 +1126,7 @@ int nas_proc_establish_rej() ...@@ -1126,7 +1126,7 @@ int nas_proc_establish_rej()
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_release_ind(int cause) int nas_proc_release_ind(nas_user_t *user, int cause)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -1160,7 +1160,7 @@ int nas_proc_release_ind(int cause) ...@@ -1160,7 +1160,7 @@ int nas_proc_release_ind(int cause)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_ul_transfer_cnf() int nas_proc_ul_transfer_cnf(nas_user_t *user)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -1197,7 +1197,7 @@ int nas_proc_ul_transfer_cnf() ...@@ -1197,7 +1197,7 @@ int nas_proc_ul_transfer_cnf()
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_ul_transfer_rej() int nas_proc_ul_transfer_rej(nas_user_t *user)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -1234,7 +1234,7 @@ int nas_proc_ul_transfer_rej() ...@@ -1234,7 +1234,7 @@ int nas_proc_ul_transfer_rej()
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int nas_proc_dl_transfer_ind(const Byte_t *data, uint32_t len) int nas_proc_dl_transfer_ind(nas_user_t *user, const Byte_t *data, uint32_t len)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -1281,7 +1281,7 @@ int nas_proc_dl_transfer_ind(const Byte_t *data, uint32_t len) ...@@ -1281,7 +1281,7 @@ int nas_proc_dl_transfer_ind(const Byte_t *data, uint32_t len)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
static int _nas_proc_activate(int cid, int apply_to_all) static int _nas_proc_activate(nas_user_t *user, int cid, int apply_to_all)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
...@@ -1354,7 +1354,7 @@ static int _nas_proc_activate(int cid, int apply_to_all) ...@@ -1354,7 +1354,7 @@ static int _nas_proc_activate(int cid, int apply_to_all)
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
static int _nas_proc_deactivate(int cid, int apply_to_all) static int _nas_proc_deactivate(nas_user_t *user, int cid, int apply_to_all)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
......
...@@ -63,7 +63,7 @@ Description NAS procedure call manager ...@@ -63,7 +63,7 @@ Description NAS procedure call manager
void nas_proc_initialize(nas_user_t *user, emm_indication_callback_t emm_cb, void nas_proc_initialize(nas_user_t *user, emm_indication_callback_t emm_cb,
esm_indication_callback_t esm_cb, const char *imei); esm_indication_callback_t esm_cb, const char *imei);
void nas_proc_cleanup(void); void nas_proc_cleanup(nas_user_t *user);
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
...@@ -80,30 +80,30 @@ int nas_proc_get_msisdn(char *msisdn_str, int *ton_npi); ...@@ -80,30 +80,30 @@ int nas_proc_get_msisdn(char *msisdn_str, int *ton_npi);
int nas_proc_get_signal_quality(nas_user_t *user, int *rsrq, int *rsrp); int nas_proc_get_signal_quality(nas_user_t *user, int *rsrq, int *rsrp);
int nas_proc_register(int mode, int format, const network_plmn_t *oper, int AcT); int nas_proc_register(nas_user_t *user, int mode, int format, const network_plmn_t *oper, int AcT);
int nas_proc_deregister(void); int nas_proc_deregister(nas_user_t *user);
int nas_proc_get_reg_data(int *mode, int *selected, int format, int nas_proc_get_reg_data(nas_user_t *user, int *mode, int *selected, int format,
network_plmn_t *oper, int *AcT); network_plmn_t *oper, int *AcT);
int nas_proc_get_oper_list(const char **oper_list); int nas_proc_get_oper_list(nas_user_t *user, const char **oper_list);
int nas_proc_get_reg_status(int *stat); int nas_proc_get_reg_status(nas_user_t *user, int *stat);
int nas_proc_get_loc_info(char *tac, char *ci, int *AcT); int nas_proc_get_loc_info(nas_user_t *user, char *tac, char *ci, int *AcT);
int nas_proc_detach(int switch_off); int nas_proc_detach(nas_user_t *user, int switch_off);
int nas_proc_attach(void); int nas_proc_attach(nas_user_t *user);
int nas_proc_get_attach_status(void); int nas_proc_get_attach_status(nas_user_t *user);
int nas_proc_reset_pdn(int cid); int nas_proc_reset_pdn(nas_user_t *user, int cid);
int nas_proc_set_pdn(int cid, int type, const char *apn, int ipv4_addr, int nas_proc_set_pdn(nas_user_t *user, int cid, int type, const char *apn, int ipv4_addr,
int emergency, int p_cscf, int im_cn_signal); int emergency, int p_cscf, int im_cn_signal);
int nas_proc_get_pdn_range(void); int nas_proc_get_pdn_range(nas_user_t *user);
int nas_proc_get_pdn_status(int *cids, int *states, int n_pdn_max); int nas_proc_get_pdn_status(nas_user_t *user, int *cids, int *states, int n_pdn_max);
int nas_proc_get_pdn_param(int *cids, int *types, const char **apns, int nas_proc_get_pdn_param(nas_user_t *user, int *cids, int *types, const char **apns,
int n_pdn_max); int n_pdn_max);
int nas_proc_get_pdn_addr(int cid, int *cids, const char **addr1, int nas_proc_get_pdn_addr(nas_user_t *user, int cid, int *cids, const char **addr1,
const char **addr2, int n_addr_max); const char **addr2, int n_addr_max);
int nas_proc_deactivate_pdn(int cid); int nas_proc_deactivate_pdn(nas_user_t *user, int cid);
int nas_proc_activate_pdn(int cid); int nas_proc_activate_pdn(nas_user_t *user, int cid);
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
...@@ -114,14 +114,14 @@ int nas_proc_activate_pdn(int cid); ...@@ -114,14 +114,14 @@ int nas_proc_activate_pdn(int cid);
int nas_proc_cell_info(nas_user_t *user, int found, tac_t tac, ci_t ci, AcT_t rat, uint8_t rsrp, int nas_proc_cell_info(nas_user_t *user, int found, tac_t tac, ci_t ci, AcT_t rat, uint8_t rsrp,
uint8_t rsrq); uint8_t rsrq);
int nas_proc_establish_cnf(const Byte_t *data, uint32_t len); int nas_proc_establish_cnf(nas_user_t *user, const Byte_t *data, uint32_t len);
int nas_proc_establish_rej(void); int nas_proc_establish_rej(nas_user_t *user);
int nas_proc_release_ind(int cause); int nas_proc_release_ind(nas_user_t *user, int cause);
int nas_proc_ul_transfer_cnf(void); int nas_proc_ul_transfer_cnf(nas_user_t *user);
int nas_proc_ul_transfer_rej(void); int nas_proc_ul_transfer_rej(nas_user_t *user);
int nas_proc_dl_transfer_ind(const Byte_t *data, uint32_t len); int nas_proc_dl_transfer_ind(nas_user_t *user, const Byte_t *data, uint32_t len);
......
...@@ -163,7 +163,7 @@ void *nas_ue_task(void *args_p) ...@@ -163,7 +163,7 @@ void *nas_ue_task(void *args_p)
if ((NAS_CONN_ESTABLI_CNF (msg_p).errCode == AS_SUCCESS) if ((NAS_CONN_ESTABLI_CNF (msg_p).errCode == AS_SUCCESS)
|| (NAS_CONN_ESTABLI_CNF (msg_p).errCode == AS_TERMINATED_NAS)) { || (NAS_CONN_ESTABLI_CNF (msg_p).errCode == AS_TERMINATED_NAS)) {
nas_proc_establish_cnf(NAS_CONN_ESTABLI_CNF (msg_p).nasMsg.data, NAS_CONN_ESTABLI_CNF (msg_p).nasMsg.length); nas_proc_establish_cnf(user, NAS_CONN_ESTABLI_CNF (msg_p).nasMsg.data, NAS_CONN_ESTABLI_CNF (msg_p).nasMsg.length);
/* TODO checks if NAS will free the nas message, better to do it there anyway! */ /* TODO checks if NAS will free the nas message, better to do it there anyway! */
// result = itti_free (ITTI_MSG_ORIGIN_ID(msg_p), NAS_CONN_ESTABLI_CNF(msg_p).nasMsg.data); // result = itti_free (ITTI_MSG_ORIGIN_ID(msg_p), NAS_CONN_ESTABLI_CNF(msg_p).nasMsg.data);
...@@ -176,7 +176,7 @@ void *nas_ue_task(void *args_p) ...@@ -176,7 +176,7 @@ void *nas_ue_task(void *args_p)
LOG_I(NAS, "[UE %d] Received %s: cause %u\n", Mod_id, msg_name, LOG_I(NAS, "[UE %d] Received %s: cause %u\n", Mod_id, msg_name,
NAS_CONN_RELEASE_IND (msg_p).cause); NAS_CONN_RELEASE_IND (msg_p).cause);
nas_proc_release_ind (NAS_CONN_RELEASE_IND (msg_p).cause); nas_proc_release_ind (user, NAS_CONN_RELEASE_IND (msg_p).cause);
break; break;
case NAS_UPLINK_DATA_CNF: case NAS_UPLINK_DATA_CNF:
...@@ -184,9 +184,9 @@ void *nas_ue_task(void *args_p) ...@@ -184,9 +184,9 @@ void *nas_ue_task(void *args_p)
NAS_UPLINK_DATA_CNF (msg_p).UEid, NAS_UPLINK_DATA_CNF (msg_p).errCode); NAS_UPLINK_DATA_CNF (msg_p).UEid, NAS_UPLINK_DATA_CNF (msg_p).errCode);
if (NAS_UPLINK_DATA_CNF (msg_p).errCode == AS_SUCCESS) { if (NAS_UPLINK_DATA_CNF (msg_p).errCode == AS_SUCCESS) {
nas_proc_ul_transfer_cnf (); nas_proc_ul_transfer_cnf (user);
} else { } else {
nas_proc_ul_transfer_rej (); nas_proc_ul_transfer_rej (user);
} }
break; break;
...@@ -195,7 +195,7 @@ void *nas_ue_task(void *args_p) ...@@ -195,7 +195,7 @@ void *nas_ue_task(void *args_p)
LOG_I(NAS, "[UE %d] Received %s: UEid %u, length %u\n", Mod_id, msg_name, LOG_I(NAS, "[UE %d] Received %s: UEid %u, length %u\n", Mod_id, msg_name,
NAS_DOWNLINK_DATA_IND (msg_p).UEid, NAS_DOWNLINK_DATA_IND (msg_p).nasMsg.length); NAS_DOWNLINK_DATA_IND (msg_p).UEid, NAS_DOWNLINK_DATA_IND (msg_p).nasMsg.length);
nas_proc_dl_transfer_ind (NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.data, NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.length); nas_proc_dl_transfer_ind (user, NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.data, NAS_DOWNLINK_DATA_IND(msg_p).nasMsg.length);
if (0) { if (0) {
/* TODO checks if NAS will free the nas message, better to do it there anyway! */ /* TODO checks if NAS will free the nas message, better to do it there anyway! */
......
...@@ -1168,7 +1168,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data) ...@@ -1168,7 +1168,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
if (ret_code != RETURNerror) { if (ret_code != RETURNerror) {
if (mode == AT_COPS_DEREG) { if (mode == AT_COPS_DEREG) {
/* Force an attempt to deregister from the network */ /* Force an attempt to deregister from the network */
ret_code = nas_proc_deregister(); ret_code = nas_proc_deregister(user);
if (ret_code != RETURNok) { if (ret_code != RETURNok) {
LOG_TRACE(ERROR, "USR-MAIN - Network deregistration failed"); LOG_TRACE(ERROR, "USR-MAIN - Network deregistration failed");
...@@ -1178,7 +1178,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data) ...@@ -1178,7 +1178,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
} else if (mode != AT_COPS_FORMAT) { } else if (mode != AT_COPS_FORMAT) {
/* Force an attempt to automatically/manualy select /* Force an attempt to automatically/manualy select
* and register the GSM/UMTS/EPS network operator */ * and register the GSM/UMTS/EPS network operator */
ret_code = nas_proc_register(mode, format, ret_code = nas_proc_register(user, mode, format,
&data->command.cops.plmn, AcT); &data->command.cops.plmn, AcT);
if (ret_code != RETURNok) { if (ret_code != RETURNok) {
...@@ -1198,7 +1198,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data) ...@@ -1198,7 +1198,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
*/ */
/* Get the current network registration data */ /* Get the current network registration data */
ret_code = nas_proc_get_reg_data(&mode, ret_code = nas_proc_get_reg_data(user, &mode,
&oper_is_selected, read_format, &oper_is_selected, read_format,
&cops->get.plmn, &cops->get.AcT); &cops->get.plmn, &cops->get.AcT);
...@@ -1236,7 +1236,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data) ...@@ -1236,7 +1236,7 @@ static int _nas_user_proc_cops(nas_user_t *user, const at_command_t *data)
* Test command returns a set of parameters, each representing * Test command returns a set of parameters, each representing
* an operator present in the network. * an operator present in the network.
*/ */
cops->tst.size = nas_proc_get_oper_list(&cops->tst.data); cops->tst.size = nas_proc_get_oper_list(user, &cops->tst.data);
break; break;
default: default:
...@@ -1308,9 +1308,9 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data) ...@@ -1308,9 +1308,9 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data)
ret_code = RETURNerror; ret_code = RETURNerror;
if (data->command.cgatt.state == AT_CGATT_ATTACHED) { if (data->command.cgatt.state == AT_CGATT_ATTACHED) {
ret_code = nas_proc_attach(); ret_code = nas_proc_attach(user);
} else if (data->command.cgatt.state == AT_CGATT_DETACHED) { } else if (data->command.cgatt.state == AT_CGATT_DETACHED) {
ret_code = nas_proc_detach(FALSE); ret_code = nas_proc_detach(user, FALSE);
} }
if (ret_code != RETURNok) { if (ret_code != RETURNok) {
...@@ -1328,7 +1328,7 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data) ...@@ -1328,7 +1328,7 @@ static int _nas_user_proc_cgatt(nas_user_t *user, const at_command_t *data)
/* /*
* Read command returns the current EPS service state. * Read command returns the current EPS service state.
*/ */
if (nas_proc_get_attach_status() != TRUE) { if (nas_proc_get_attach_status(user) != TRUE) {
cgatt->state = AT_CGATT_DETACHED; cgatt->state = AT_CGATT_DETACHED;
} else { } else {
cgatt->state = AT_CGATT_ATTACHED; cgatt->state = AT_CGATT_ATTACHED;
...@@ -1474,7 +1474,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data) ...@@ -1474,7 +1474,7 @@ static int _nas_user_proc_creg(nas_user_t *user, const at_command_t *data)
case AT_CREG_OFF: case AT_CREG_OFF:
case AT_CREG_ON: case AT_CREG_ON:
/* Get network registration status */ /* Get network registration status */
ret_code = nas_proc_get_reg_status(&creg->stat); ret_code = nas_proc_get_reg_status(user, &creg->stat);
if (ret_code != RETURNok) { if (ret_code != RETURNok) {
LOG_TRACE(ERROR, "USR-MAIN - Failed to get registration status"); LOG_TRACE(ERROR, "USR-MAIN - Failed to get registration status");
...@@ -1623,7 +1623,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data) ...@@ -1623,7 +1623,7 @@ static int _nas_user_proc_cgreg(nas_user_t *user, const at_command_t *data)
case AT_CGREG_OFF: case AT_CGREG_OFF:
case AT_CGREG_ON: case AT_CGREG_ON:
/* Get network registration status */ /* Get network registration status */
ret_code = nas_proc_get_reg_status(&cgreg->stat); ret_code = nas_proc_get_reg_status(user, &cgreg->stat);
if (ret_code != RETURNok) { if (ret_code != RETURNok) {
LOG_TRACE(ERROR, "USR-MAIN - Failed to get registration status"); LOG_TRACE(ERROR, "USR-MAIN - Failed to get registration status");
...@@ -1776,7 +1776,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data) ...@@ -1776,7 +1776,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
switch (n) { switch (n) {
case AT_CEREG_BOTH: case AT_CEREG_BOTH:
/* Get EPS location information */ /* Get EPS location information */
ret_code = nas_proc_get_loc_info(cereg->tac, cereg->ci, ret_code = nas_proc_get_loc_info(user, cereg->tac, cereg->ci,
&cereg->AcT); &cereg->AcT);
if (ret_code != RETURNok) { if (ret_code != RETURNok) {
...@@ -1799,7 +1799,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data) ...@@ -1799,7 +1799,7 @@ static int _nas_user_proc_cereg(nas_user_t *user, const at_command_t *data)
case AT_CEREG_OFF: case AT_CEREG_OFF:
case AT_CEREG_ON: case AT_CEREG_ON:
/* Get network registration status */ /* Get network registration status */
ret_code = nas_proc_get_reg_status(&cereg->stat); ret_code = nas_proc_get_reg_status(user, &cereg->stat);
if (ret_code != RETURNok) { if (ret_code != RETURNok) {
LOG_TRACE(ERROR, "USR-MAIN - Failed to get registration status"); LOG_TRACE(ERROR, "USR-MAIN - Failed to get registration status");
...@@ -2022,10 +2022,10 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data) ...@@ -2022,10 +2022,10 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
if (reset_pdn) { if (reset_pdn) {
/* A special form of the set command, +CGDCONT=<cid> causes /* A special form of the set command, +CGDCONT=<cid> causes
* the values for context number <cid> to become undefined */ * the values for context number <cid> to become undefined */
ret_code = nas_proc_reset_pdn(cid); ret_code = nas_proc_reset_pdn(user, cid);
} else { } else {
/* Define a new PDN connection */ /* Define a new PDN connection */
ret_code = nas_proc_set_pdn(cid, pdn_type, apn, ret_code = nas_proc_set_pdn(user, cid, pdn_type, apn,
ipv4_addr_allocation, emergency, ipv4_addr_allocation, emergency,
p_cscf, im_cn_signalling); p_cscf, im_cn_signalling);
} }
...@@ -2043,7 +2043,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data) ...@@ -2043,7 +2043,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
* Read command returns the current settings for each * Read command returns the current settings for each
* defined PDN connection/default EPS bearer context * defined PDN connection/default EPS bearer context
*/ */
cgdcont->n_pdns = nas_proc_get_pdn_param(cgdcont->cid, cgdcont->n_pdns = nas_proc_get_pdn_param(user, cgdcont->cid,
cgdcont->PDP_type, cgdcont->PDP_type,
cgdcont->APN, cgdcont->APN,
AT_CGDCONT_RESP_SIZE); AT_CGDCONT_RESP_SIZE);
...@@ -2061,7 +2061,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data) ...@@ -2061,7 +2061,7 @@ static int _nas_user_proc_cgdcont(nas_user_t *user, const at_command_t *data)
*/ */
{ {
/* Get the maximum value of a PDN context identifier */ /* Get the maximum value of a PDN context identifier */
int cid_max = nas_proc_get_pdn_range(); int cid_max = nas_proc_get_pdn_range(user);
if (cid_max > AT_CGDCONT_RESP_SIZE) { if (cid_max > AT_CGDCONT_RESP_SIZE) {
/* The range is defined by the user interface */ /* The range is defined by the user interface */
...@@ -2164,9 +2164,9 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data) ...@@ -2164,9 +2164,9 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
ret_code = RETURNerror; ret_code = RETURNerror;
if (state == AT_CGACT_DEACTIVATED) { if (state == AT_CGACT_DEACTIVATED) {
ret_code = nas_proc_deactivate_pdn(cid); ret_code = nas_proc_deactivate_pdn(user, cid);
} else if (state == AT_CGACT_ACTIVATED) { } else if (state == AT_CGACT_ACTIVATED) {
ret_code = nas_proc_activate_pdn(cid); ret_code = nas_proc_activate_pdn(user, cid);
} }
if (ret_code != RETURNok) { if (ret_code != RETURNok) {
...@@ -2184,7 +2184,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data) ...@@ -2184,7 +2184,7 @@ static int _nas_user_proc_cgact(nas_user_t *user, const at_command_t *data)
* The read command returns the current activation states for * The read command returns the current activation states for
* all the defined PDN/EPS bearer contexts * all the defined PDN/EPS bearer contexts
*/ */
cgact->n_pdns = nas_proc_get_pdn_status(cgact->cid, cgact->state, cgact->n_pdns = nas_proc_get_pdn_status(user, cgact->cid, cgact->state,
AT_CGACT_RESP_SIZE); AT_CGACT_RESP_SIZE);
if (cgact->n_pdns == 0) { if (cgact->n_pdns == 0) {
...@@ -2517,7 +2517,7 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data) ...@@ -2517,7 +2517,7 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data)
/* /*
* Get the PDP addresses * Get the PDP addresses
*/ */
cgpaddr->n_pdns = nas_proc_get_pdn_addr(cid, cgpaddr->cid, cgpaddr->n_pdns = nas_proc_get_pdn_addr(user, cid, cgpaddr->cid,
cgpaddr->PDP_addr_1, cgpaddr->PDP_addr_1,
cgpaddr->PDP_addr_2, cgpaddr->PDP_addr_2,
AT_CGPADDR_RESP_SIZE); AT_CGPADDR_RESP_SIZE);
...@@ -2533,7 +2533,7 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data) ...@@ -2533,7 +2533,7 @@ static int _nas_user_proc_cgpaddr(nas_user_t *user, const at_command_t *data)
/* /*
* The test command returns a list of defined <cid>s. * The test command returns a list of defined <cid>s.
*/ */
cgpaddr->n_pdns = nas_proc_get_pdn_addr(cid, cgpaddr->cid, cgpaddr->n_pdns = nas_proc_get_pdn_addr(user, cid, cgpaddr->cid,
cgpaddr->PDP_addr_1, cgpaddr->PDP_addr_1,
cgpaddr->PDP_addr_2, cgpaddr->PDP_addr_2,
AT_CGPADDR_RESP_SIZE); AT_CGPADDR_RESP_SIZE);
......
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