Commit f355cc61 authored by Cedric Roux's avatar Cedric Roux

- Formatted some NAS files

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4553 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 0fdd3f09
...@@ -200,6 +200,7 @@ static void* _nas_user_mngr(void* args) ...@@ -200,6 +200,7 @@ static void* _nas_user_mngr(void* args)
int exit_loop = FALSE; int exit_loop = FALSE;
int nb_command; int nb_command;
int bytes; int bytes;
int i;
int *fd = (int*) args; int *fd = (int*) args;
...@@ -227,7 +228,7 @@ static void* _nas_user_mngr(void* args) ...@@ -227,7 +228,7 @@ static void* _nas_user_mngr(void* args)
/* Decode the user data message */ /* Decode the user data message */
nb_command = user_api_decode_data (bytes); nb_command = user_api_decode_data (bytes);
for (int i = 0; i < nb_command; i++) for (i = 0; i < nb_command; i++)
{ {
/* Get the user data to be processed */ /* Get the user data to be processed */
const void* data = user_api_get_data (i); const void* data = user_api_get_data (i);
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
/***************************************************************************** /*****************************************************************************
Eurecom OpenAirInterface 3 Eurecom OpenAirInterface 3
Copyright(c) 2012 Eurecom Copyright(c) 2012 Eurecom
Source EmmCommon.h Source EmmCommon.h
Version 0.1 Version 0.1
Date 2013/04/19 Date 2013/04/19
Product NAS stack Product NAS stack
Subsystem EPS Mobility Management Subsystem EPS Mobility Management
Author Frederic Maurel Author Frederic Maurel
Description Defines callback functions executed within EMM common procedures Description Defines callback functions executed within EMM common procedures
by the Non-Access Stratum running at the network side. by the Non-Access Stratum running at the network side.
Following EMM common procedures can always be initiated by the Following EMM common procedures can always be initiated by the
network whilst a NAS signalling connection exists: network whilst a NAS signalling connection exists:
GUTI reallocation GUTI reallocation
authentication authentication
security mode control security mode control
identification identification
EMM information EMM information
*****************************************************************************/ *****************************************************************************/
#ifndef __EMM_COMMON_H__ #ifndef __EMM_COMMON_H__
...@@ -47,9 +47,9 @@ Description Defines callback functions executed within EMM common procedures ...@@ -47,9 +47,9 @@ Description Defines callback functions executed within EMM common procedures
* - The EMM common procedure failed or is rejected * - The EMM common procedure failed or is rejected
* - Lower layer failure occured before the EMM common procedure completion * - Lower layer failure occured before the EMM common procedure completion
*/ */
typedef int (*emm_common_success_callback_t)(void*); typedef int (*emm_common_success_callback_t)(void *);
typedef int (*emm_common_reject_callback_t) (void*); typedef int (*emm_common_reject_callback_t) (void *);
typedef int (*emm_common_failure_callback_t)(void*); typedef int (*emm_common_failure_callback_t)(void *);
/* /*
* Type of EMM common procedure callback function * Type of EMM common procedure callback function
...@@ -57,7 +57,7 @@ typedef int (*emm_common_failure_callback_t)(void*); ...@@ -57,7 +57,7 @@ typedef int (*emm_common_failure_callback_t)(void*);
* EMM common procedure to be executed when the ongoing EMM procedure is * EMM common procedure to be executed when the ongoing EMM procedure is
* aborted. * aborted.
*/ */
typedef int (*emm_common_abort_callback_t)(void*); typedef int (*emm_common_abort_callback_t)(void *);
/****************************************************************************/ /****************************************************************************/
/******************** G L O B A L V A R I A B L E S ********************/ /******************** G L O B A L V A R I A B L E S ********************/
...@@ -68,17 +68,17 @@ typedef int (*emm_common_abort_callback_t)(void*); ...@@ -68,17 +68,17 @@ typedef int (*emm_common_abort_callback_t)(void*);
/****************************************************************************/ /****************************************************************************/
int emm_proc_common_initialize(unsigned int ueid, int emm_proc_common_initialize(unsigned int ueid,
emm_common_success_callback_t success, emm_common_success_callback_t success,
emm_common_reject_callback_t reject, emm_common_reject_callback_t reject,
emm_common_failure_callback_t failure, emm_common_failure_callback_t failure,
emm_common_abort_callback_t abort, emm_common_abort_callback_t abort,
void* args); void *args);
int emm_proc_common_success(unsigned int ueid); int emm_proc_common_success(unsigned int ueid);
int emm_proc_common_reject(unsigned int ueid); int emm_proc_common_reject(unsigned int ueid);
int emm_proc_common_failure(unsigned int ueid); int emm_proc_common_failure(unsigned int ueid);
int emm_proc_common_abort(unsigned int ueid); int emm_proc_common_abort(unsigned int ueid);
void* emm_proc_common_get_args(unsigned int ueid); void *emm_proc_common_get_args(unsigned int ueid);
#endif /* __EMM_COMMON_H__*/ #endif /* __EMM_COMMON_H__*/
/***************************************************************************** /*****************************************************************************
Eurecom OpenAirInterface 3 Eurecom OpenAirInterface 3
Copyright(c) 2012 Eurecom Copyright(c) 2012 Eurecom
Source Emmstatus.c Source Emmstatus.c
Version 0.1 Version 0.1
Date 2013/06/26 Date 2013/06/26
Product NAS stack Product NAS stack
Subsystem EPS Mobility Management Subsystem EPS Mobility Management
Author Frederic Maurel Author Frederic Maurel
Description Defines the EMM status procedure executed by the Non-Access Description Defines the EMM status procedure executed by the Non-Access
Stratum. Stratum.
The purpose of the sending of the EMM STATUS message is to The purpose of the sending of the EMM STATUS message is to
report at any time certain error conditions detected upon report at any time certain error conditions detected upon
receipt of EMM protocol data. The EMM STATUS message can be receipt of EMM protocol data. The EMM STATUS message can be
sent by both the MME and the UE. sent by both the MME and the UE.
*****************************************************************************/ *****************************************************************************/
...@@ -47,22 +47,22 @@ Description Defines the EMM status procedure executed by the Non-Access ...@@ -47,22 +47,22 @@ Description Defines the EMM status procedure executed by the Non-Access
/**************************************************************************** /****************************************************************************
** ** ** **
** Name: emm_proc_status_ind() ** ** Name: emm_proc_status_ind() **
** ** ** **
** Description: Processes received EMM status message. ** ** Description: Processes received EMM status message. **
** ** ** **
** 3GPP TS 24.301, section 5.7 ** ** 3GPP TS 24.301, section 5.7 **
** On receipt of an EMM STATUS message no state transition ** ** On receipt of an EMM STATUS message no state transition **
** and no specific action shall be taken. Local actions are ** ** and no specific action shall be taken. Local actions are **
** possible and are implementation dependent. ** ** possible and are implementation dependent. **
** ** ** **
** Inputs: ueid: UE lower layer identifier ** ** Inputs: ueid: UE lower layer identifier **
** emm_cause: Received EMM cause code ** ** emm_cause: Received EMM cause code **
** Others: None ** ** Others: None **
** ** ** **
** Outputs: None ** ** Outputs: None **
** Return: RETURNok, RETURNerror ** ** Return: RETURNok, RETURNerror **
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int emm_proc_status_ind(unsigned int ueid, int emm_cause) int emm_proc_status_ind(unsigned int ueid, int emm_cause)
...@@ -72,7 +72,7 @@ int emm_proc_status_ind(unsigned int ueid, int emm_cause) ...@@ -72,7 +72,7 @@ int emm_proc_status_ind(unsigned int ueid, int emm_cause)
int rc; int rc;
LOG_TRACE(INFO,"EMM-PROC - EMM status procedure requested (cause=%d)", LOG_TRACE(INFO,"EMM-PROC - EMM status procedure requested (cause=%d)",
emm_cause); emm_cause);
LOG_TRACE(DEBUG, "EMM-PROC - To be implemented"); LOG_TRACE(DEBUG, "EMM-PROC - To be implemented");
...@@ -84,17 +84,17 @@ int emm_proc_status_ind(unsigned int ueid, int emm_cause) ...@@ -84,17 +84,17 @@ int emm_proc_status_ind(unsigned int ueid, int emm_cause)
/**************************************************************************** /****************************************************************************
** ** ** **
** Name: emm_proc_status() ** ** Name: emm_proc_status() **
** ** ** **
** Description: Initiates EMM status procedure. ** ** Description: Initiates EMM status procedure. **
** ** ** **
** Inputs: ueid: UE lower layer identifier ** ** Inputs: ueid: UE lower layer identifier **
** emm_cause: EMM cause code to be reported ** ** emm_cause: EMM cause code to be reported **
** Others: None ** ** Others: None **
** ** ** **
** Outputs: None ** ** Outputs: None **
** Return: RETURNok, RETURNerror ** ** Return: RETURNok, RETURNerror **
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
int emm_proc_status(unsigned int ueid, int emm_cause) int emm_proc_status(unsigned int ueid, int emm_cause)
...@@ -133,7 +133,7 @@ int emm_proc_status(unsigned int ueid, int emm_cause) ...@@ -133,7 +133,7 @@ int emm_proc_status(unsigned int ueid, int emm_cause)
#endif #endif
/* Setup EPS NAS security data */ /* Setup EPS NAS security data */
emm_as_set_security_data(&emm_sap.u.emm_as.u.status.sctx, sctx, emm_as_set_security_data(&emm_sap.u.emm_as.u.status.sctx, sctx,
FALSE, TRUE); FALSE, TRUE);
rc = emm_sap_send(&emm_sap); rc = emm_sap_send(&emm_sap);
......
/***************************************************************************** /*****************************************************************************
Eurecom OpenAirInterface 3 Eurecom OpenAirInterface 3
Copyright(c) 2012 Eurecom Copyright(c) 2012 Eurecom
Source IdleMode.h Source IdleMode.h
Version 0.1 Version 0.1
Date 2012/10/23 Date 2012/10/23
Product NAS stack Product NAS stack
Subsystem EPS Mobility Management Subsystem EPS Mobility Management
Author Frederic Maurel Author Frederic Maurel
Description Defines the functions used to get information from the list Description Defines the functions used to get information from the list
of available PLMNs locally maintained when the UE is in of available PLMNs locally maintained when the UE is in
idle mode. idle mode.
*****************************************************************************/ *****************************************************************************/
#ifndef __IDLEMODE_H__ #ifndef __IDLEMODE_H__
...@@ -51,12 +51,14 @@ int IdleMode_get_splmn_index(void); ...@@ -51,12 +51,14 @@ int IdleMode_get_splmn_index(void);
int IdleMode_update_plmn_list(int index); int IdleMode_update_plmn_list(int index);
const char* IdleMode_get_plmn_fullname(const plmn_t* plmn, int index, size_t* len); const char *IdleMode_get_plmn_fullname(const plmn_t *plmn, int index,
const char* IdleMode_get_plmn_shortname(const plmn_t* plmn, int index, size_t* len); size_t *len);
const char* IdleMode_get_plmn_id(const plmn_t* plmn, int index, size_t* len); const char *IdleMode_get_plmn_shortname(const plmn_t *plmn, int index,
size_t *len);
const char *IdleMode_get_plmn_id(const plmn_t *plmn, int index, size_t *len);
int IdleMode_get_plmn_fullname_index(const char* plmn); int IdleMode_get_plmn_fullname_index(const char *plmn);
int IdleMode_get_plmn_shortname_index(const char* plmn); int IdleMode_get_plmn_shortname_index(const char *plmn);
int IdleMode_get_plmn_id_index(const char* plmn); int IdleMode_get_plmn_id_index(const char *plmn);
#endif /* __IDLEMODE_H__*/ #endif /* __IDLEMODE_H__*/
/***************************************************************************** /*****************************************************************************
Eurecom OpenAirInterface 3 Eurecom OpenAirInterface 3
Copyright(c) 2012 Eurecom Copyright(c) 2012 Eurecom
Source lowerlayer.h Source lowerlayer.h
Version 0.1 Version 0.1
Date 2013/06/19 Date 2013/06/19
Product NAS stack Product NAS stack
Subsystem EPS Mobility Management Subsystem EPS Mobility Management
Author Frederic Maurel Author Frederic Maurel
Description Defines EMM procedures executed by the Non-Access Stratum Description Defines EMM procedures executed by the Non-Access Stratum
upon receiving notifications from lower layers so that data upon receiving notifications from lower layers so that data
transfer succeed or failed, or NAS signalling connection is transfer succeed or failed, or NAS signalling connection is
released, or ESM unit data has been received from under layer, released, or ESM unit data has been received from under layer,
and to request ESM unit data transfer to under layer. and to request ESM unit data transfer to under layer.
*****************************************************************************/ *****************************************************************************/
#ifndef __LOWERLAYER_H__ #ifndef __LOWERLAYER_H__
...@@ -35,19 +35,19 @@ Description Defines EMM procedures executed by the Non-Access Stratum ...@@ -35,19 +35,19 @@ Description Defines EMM procedures executed by the Non-Access Stratum
* Type of EMM procedure callback function executed whenever data are * Type of EMM procedure callback function executed whenever data are
* successfully delivered to the network * successfully delivered to the network
*/ */
typedef int (*lowerlayer_success_callback_t)(void*); typedef int (*lowerlayer_success_callback_t)(void *);
/* /*
* Type of EMM procedure callback function executed when data are not * Type of EMM procedure callback function executed when data are not
* delivered to the network because a lower layer failure occurred * delivered to the network because a lower layer failure occurred
*/ */
typedef int (*lowerlayer_failure_callback_t)(int, void*); typedef int (*lowerlayer_failure_callback_t)(int, void *);
/* /*
* Type of EMM procedure callback function executed when NAS signalling * Type of EMM procedure callback function executed when NAS signalling
* connection is released * connection is released
*/ */
typedef int (*lowerlayer_release_callback_t)(void*); typedef int (*lowerlayer_release_callback_t)(void *);
#endif #endif
/****************************************************************************/ /****************************************************************************/
...@@ -67,7 +67,7 @@ int lowerlayer_failure(unsigned int ueid); ...@@ -67,7 +67,7 @@ int lowerlayer_failure(unsigned int ueid);
int lowerlayer_establish(void); int lowerlayer_establish(void);
int lowerlayer_release(int cause); int lowerlayer_release(int cause);
int lowerlayer_data_ind(unsigned int ueid, const OctetString* data); int lowerlayer_data_ind(unsigned int ueid, const OctetString *data);
int lowerlayer_data_req(unsigned int ueid, const OctetString* data); int lowerlayer_data_req(unsigned int ueid, const OctetString *data);
#endif /* __LOWERLAYER_H__*/ #endif /* __LOWERLAYER_H__*/
/***************************************************************************** /*****************************************************************************
Eurecom OpenAirInterface 3 Eurecom OpenAirInterface 3
Copyright(c) 2012 Eurecom Copyright(c) 2012 Eurecom
Source ServiceRequest.c Source ServiceRequest.c
Version 0.1 Version 0.1
Date 2013/05/07 Date 2013/05/07
Product NAS stack Product NAS stack
Subsystem EPS Mobility Management Subsystem EPS Mobility Management
Author Frederic Maurel Author Frederic Maurel
Description Defines the service request EMM procedure executed by the Description Defines the service request EMM procedure executed by the
Non-Access Stratum. Non-Access Stratum.
The purpose of the service request procedure is to transfer The purpose of the service request procedure is to transfer
the EMM mode from EMM-IDLE to EMM-CONNECTED mode and establish the EMM mode from EMM-IDLE to EMM-CONNECTED mode and establish
the radio and S1 bearers when uplink user data or signalling the radio and S1 bearers when uplink user data or signalling
is to be sent. is to be sent.
This procedure is used when the network has downlink signalling This procedure is used when the network has downlink signalling
pending, the UE has uplink signalling pending, the UE or the pending, the UE has uplink signalling pending, the UE or the
network has user data pending and the UE is in EMM-IDLE mode. network has user data pending and the UE is in EMM-IDLE mode.
*****************************************************************************/ *****************************************************************************/
...@@ -46,19 +46,19 @@ Description Defines the service request EMM procedure executed by the ...@@ -46,19 +46,19 @@ Description Defines the service request EMM procedure executed by the
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Internal data handled by the service request procedure in the UE * Internal data handled by the service request procedure in the UE
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
#ifdef NAS_UE #ifdef NAS_UE
/* /*
* Timer handlers * Timer handlers
*/ */
void* _emm_service_t3417_handler(void*); void *_emm_service_t3417_handler(void *);
#endif // NAS_UE #endif // NAS_UE
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Internal data handled by the service request procedure in the MME * Internal data handled by the service request procedure in the MME
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
#ifdef NAS_MME #ifdef NAS_MME
...@@ -75,27 +75,27 @@ void* _emm_service_t3417_handler(void*); ...@@ -75,27 +75,27 @@ void* _emm_service_t3417_handler(void*);
#ifdef NAS_UE #ifdef NAS_UE
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Timer handlers * Timer handlers
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/**************************************************************************** /****************************************************************************
** ** ** **
** Name: _emm_service_t3417_handler() ** ** Name: _emm_service_t3417_handler() **
** ** ** **
** Description: T3417 timeout handler ** ** Description: T3417 timeout handler **
** ** ** **
** 3GPP TS 24.301, section 5.6.1.6 case c ** ** 3GPP TS 24.301, section 5.6.1.6 case c **
** ** ** **
** Inputs: args: handler parameters ** ** Inputs: args: handler parameters **
** Others: None ** ** Others: None **
** ** ** **
** Outputs: None ** ** Outputs: None **
** Return: None ** ** Return: None **
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
void* _emm_service_t3417_handler(void* args) void *_emm_service_t3417_handler(void *args)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
......
/***************************************************************************** /*****************************************************************************
Eurecom OpenAirInterface 3 Eurecom OpenAirInterface 3
Copyright(c) 2012 Eurecom Copyright(c) 2012 Eurecom
Source TrackingAreaUpdate.c Source TrackingAreaUpdate.c
Version 0.1 Version 0.1
Date 2013/05/07 Date 2013/05/07
Product NAS stack Product NAS stack
Subsystem EPS Mobility Management Subsystem EPS Mobility Management
Author Frederic Maurel Author Frederic Maurel
Description Defines the tracking area update EMM procedure executed by the Description Defines the tracking area update EMM procedure executed by the
Non-Access Stratum. Non-Access Stratum.
The tracking area updating procedure is always initiated by the The tracking area updating procedure is always initiated by the
UE and is used to update the registration of the actual tracking UE and is used to update the registration of the actual tracking
area of a UE in the network, to periodically notify the availa- area of a UE in the network, to periodically notify the availa-
bility of the UE to the network, for MME load balancing, to up- bility of the UE to the network, for MME load balancing, to up-
date certain UE specific parameters in the network. date certain UE specific parameters in the network.
*****************************************************************************/ *****************************************************************************/
...@@ -50,7 +50,7 @@ Description Defines the tracking area update EMM procedure executed by the ...@@ -50,7 +50,7 @@ Description Defines the tracking area update EMM procedure executed by the
/* /*
* Timer handlers * Timer handlers
*/ */
void* _emm_tau_t3430_handler(void*); void *_emm_tau_t3430_handler(void *);
#endif // NAS_UE #endif // NAS_UE
/* /*
...@@ -72,27 +72,27 @@ void* _emm_tau_t3430_handler(void*); ...@@ -72,27 +72,27 @@ void* _emm_tau_t3430_handler(void*);
#ifdef NAS_UE #ifdef NAS_UE
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Timer handlers * Timer handlers
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
/**************************************************************************** /****************************************************************************
** ** ** **
** Name: _emm_tau_t3430_handler() ** ** Name: _emm_tau_t3430_handler() **
** ** ** **
** Description: T3430 timeout handler ** ** Description: T3430 timeout handler **
** ** ** **
** 3GPP TS 24.301, section 5.5.3.2.6 case c ** ** 3GPP TS 24.301, section 5.5.3.2.6 case c **
** ** ** **
** Inputs: args: handler parameters ** ** Inputs: args: handler parameters **
** Others: None ** ** Others: None **
** ** ** **
** Outputs: None ** ** Outputs: None **
** Return: None ** ** Return: None **
** Others: None ** ** Others: None **
** ** ** **
***************************************************************************/ ***************************************************************************/
void* _emm_tau_t3430_handler(void* args) void *_emm_tau_t3430_handler(void *args)
{ {
LOG_FUNC_IN; LOG_FUNC_IN;
......
...@@ -45,7 +45,7 @@ struct emm_data_context_s *emm_data_context_get( ...@@ -45,7 +45,7 @@ struct emm_data_context_s *emm_data_context_get(
return RB_FIND(emm_data_context_map, &emm_data->ctx_map, &reference); return RB_FIND(emm_data_context_map, &emm_data->ctx_map, &reference);
} }
struct emm_data_context_s * emm_data_context_remove( struct emm_data_context_s *emm_data_context_remove(
emm_data_t *emm_data, struct emm_data_context_s *elm) emm_data_t *emm_data, struct emm_data_context_s *elm)
{ {
return RB_REMOVE(emm_data_context_map, &emm_data->ctx_map, elm); return RB_REMOVE(emm_data_context_map, &emm_data->ctx_map, elm);
......
/***************************************************************************** /*****************************************************************************
Eurecom OpenAirInterface 3 Eurecom OpenAirInterface 3
Copyright(c) 2012 Eurecom Copyright(c) 2012 Eurecom
Source emm_main.h Source emm_main.h
Version 0.1 Version 0.1
Date 2012/10/10 Date 2012/10/10
Product NAS stack Product NAS stack
Subsystem EPS Mobility Management Subsystem EPS Mobility Management
Author Frederic Maurel Author Frederic Maurel
Description Defines the EPS Mobility Management procedure call manager, Description Defines the EPS Mobility Management procedure call manager,
the main entry point for elementary EMM processing. the main entry point for elementary EMM processing.
*****************************************************************************/ *****************************************************************************/
#ifndef __EMM_MAIN_H__ #ifndef __EMM_MAIN_H__
...@@ -41,7 +41,7 @@ Description Defines the EPS Mobility Management procedure call manager, ...@@ -41,7 +41,7 @@ Description Defines the EPS Mobility Management procedure call manager,
/****************************************************************************/ /****************************************************************************/
#ifdef NAS_UE #ifdef NAS_UE
void emm_main_initialize(emm_indication_callback_t cb, const char* imei); void emm_main_initialize(emm_indication_callback_t cb, const char *imei);
#endif #endif
#ifdef NAS_MME #ifdef NAS_MME
void emm_main_initialize(void); void emm_main_initialize(void);
...@@ -51,24 +51,24 @@ void emm_main_cleanup(void); ...@@ -51,24 +51,24 @@ void emm_main_cleanup(void);
#ifdef NAS_UE #ifdef NAS_UE
/* User's getter of UE's identity */ /* User's getter of UE's identity */
const imsi_t* emm_main_get_imsi(void); const imsi_t *emm_main_get_imsi(void);
/* User's getter of the subscriber dialing number */ /* User's getter of the subscriber dialing number */
const msisdn_t* emm_main_get_msisdn(void); const msisdn_t *emm_main_get_msisdn(void);
/* User's getter/setter for network selection */ /* User's getter/setter for network selection */
int emm_main_set_plmn_selection_mode(int mode, int format, int emm_main_set_plmn_selection_mode(int mode, int format,
const network_plmn_t* plmn, int rat); const network_plmn_t *plmn, int rat);
int emm_main_get_plmn_selection_mode(void); int emm_main_get_plmn_selection_mode(void);
int emm_main_get_plmn_list(const char** plist); int emm_main_get_plmn_list(const char **plist);
const char* emm_main_get_selected_plmn(network_plmn_t* plmn, int format); const char *emm_main_get_selected_plmn(network_plmn_t *plmn, int format);
/* User's getter for network registration */ /* User's getter for network registration */
Stat_t emm_main_get_plmn_status(void); Stat_t emm_main_get_plmn_status(void);
tac_t emm_main_get_plmn_tac(void); tac_t emm_main_get_plmn_tac(void);
ci_t emm_main_get_plmn_ci(void); ci_t emm_main_get_plmn_ci(void);
AcT_t emm_main_get_plmn_rat(void); AcT_t emm_main_get_plmn_rat(void);
const char* emm_main_get_registered_plmn(network_plmn_t* plmn, int format); const char *emm_main_get_registered_plmn(network_plmn_t *plmn, int format);
/* User's getter for network attachment */ /* User's getter for network attachment */
int emm_main_is_attached(void); int emm_main_is_attached(void);
......
/***************************************************************************** /*****************************************************************************
Eurecom OpenAirInterface 3 Eurecom OpenAirInterface 3
Copyright(c) 2012 Eurecom Copyright(c) 2012 Eurecom
Source emm_proc.h Source emm_proc.h
Version 0.1 Version 0.1
Date 2012/10/16 Date 2012/10/16
Product NAS stack Product NAS stack
Subsystem EPS Mobility Management Subsystem EPS Mobility Management
Author Frederic Maurel Author Frederic Maurel
Description Defines the EPS Mobility Management procedures executed at Description Defines the EPS Mobility Management procedures executed at
the EMM Service Access Points. the EMM Service Access Points.
*****************************************************************************/ *****************************************************************************/
#ifndef __EMM_PROC_H__ #ifndef __EMM_PROC_H__
...@@ -78,7 +78,7 @@ typedef enum { ...@@ -78,7 +78,7 @@ typedef enum {
/* /*
*--------------------------------------------------------------------------- *---------------------------------------------------------------------------
* EMM status procedure * EMM status procedure
*--------------------------------------------------------------------------- *---------------------------------------------------------------------------
*/ */
int emm_proc_status_ind(unsigned int ueid, int emm_cause); int emm_proc_status_ind(unsigned int ueid, int emm_cause);
...@@ -86,14 +86,14 @@ int emm_proc_status(unsigned int ueid, int emm_cause); ...@@ -86,14 +86,14 @@ int emm_proc_status(unsigned int ueid, int emm_cause);
/* /*
*--------------------------------------------------------------------------- *---------------------------------------------------------------------------
* Lower layer procedure * Lower layer procedure
*--------------------------------------------------------------------------- *---------------------------------------------------------------------------
*/ */
#ifdef NAS_UE #ifdef NAS_UE
int emm_proc_lowerlayer_initialize(lowerlayer_success_callback_t success, int emm_proc_lowerlayer_initialize(lowerlayer_success_callback_t success,
lowerlayer_failure_callback_t failure, lowerlayer_failure_callback_t failure,
lowerlayer_release_callback_t release, lowerlayer_release_callback_t release,
void* args); void *args);
int emm_proc_lowerlayer_success(void); int emm_proc_lowerlayer_success(void);
int emm_proc_lowerlayer_failure(int is_initial); int emm_proc_lowerlayer_failure(int is_initial);
int emm_proc_lowerlayer_release(void); int emm_proc_lowerlayer_release(void);
...@@ -101,7 +101,7 @@ int emm_proc_lowerlayer_release(void); ...@@ -101,7 +101,7 @@ int emm_proc_lowerlayer_release(void);
/* /*
*--------------------------------------------------------------------------- *---------------------------------------------------------------------------
* UE's Idle mode procedure * UE's Idle mode procedure
*--------------------------------------------------------------------------- *---------------------------------------------------------------------------
*/ */
#ifdef NAS_UE #ifdef NAS_UE
...@@ -112,17 +112,19 @@ int emm_proc_plmn_selection_end(int found, tac_t tac, ci_t ci, AcT_t rat); ...@@ -112,17 +112,19 @@ int emm_proc_plmn_selection_end(int found, tac_t tac, ci_t ci, AcT_t rat);
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Attach procedure * Attach procedure
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
#ifdef NAS_UE #ifdef NAS_UE
int emm_proc_attach(emm_proc_attach_type_t type); int emm_proc_attach(emm_proc_attach_type_t type);
int emm_proc_attach_request(void* args); int emm_proc_attach_request(void *args);
int emm_proc_attach_accept(long T3412, long T3402, long T3423, int n_tais, tai_t* tai, GUTI_t* guti, int n_eplmns, plmn_t* eplmn, const OctetString* esm_msg); int emm_proc_attach_accept(long T3412, long T3402, long T3423, int n_tais,
int emm_proc_attach_reject(int emm_cause, const OctetString* esm_msg); tai_t *tai, GUTI_t *guti, int n_eplmns, plmn_t *eplmn,
int emm_proc_attach_complete(void* args); const OctetString *esm_msg);
int emm_proc_attach_failure(int is_initial, void* args); int emm_proc_attach_reject(int emm_cause, const OctetString *esm_msg);
int emm_proc_attach_release(void* args); int emm_proc_attach_complete(void *args);
int emm_proc_attach_failure(int is_initial, void *args);
int emm_proc_attach_release(void *args);
int emm_proc_attach_restart(void); int emm_proc_attach_restart(void);
int emm_proc_attach_set_emergency(void); int emm_proc_attach_set_emergency(void);
...@@ -130,32 +132,36 @@ int emm_proc_attach_set_detach(void); ...@@ -130,32 +132,36 @@ int emm_proc_attach_set_detach(void);
#endif #endif
#ifdef NAS_MME #ifdef NAS_MME
int emm_proc_attach_request(unsigned int ueid, emm_proc_attach_type_t type, int native_ksi, int ksi, int native_guti, GUTI_t* guti, imsi_t* imsi, imei_t* imei, tai_t* tai, int eea, int eia, const OctetString* esm_msg); int emm_proc_attach_request(unsigned int ueid, emm_proc_attach_type_t type,
int native_ksi, int ksi, int native_guti, GUTI_t *guti, imsi_t *imsi,
imei_t *imei, tai_t *tai, int eea, int eia, const OctetString *esm_msg);
int emm_proc_attach_reject(unsigned int ueid, int emm_cause); int emm_proc_attach_reject(unsigned int ueid, int emm_cause);
int emm_proc_attach_complete(unsigned int ueid, const OctetString* esm_msg); int emm_proc_attach_complete(unsigned int ueid, const OctetString *esm_msg);
#endif #endif
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Detach procedure * Detach procedure
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
#ifdef NAS_UE #ifdef NAS_UE
int emm_proc_detach(emm_proc_detach_type_t type, int switch_off); int emm_proc_detach(emm_proc_detach_type_t type, int switch_off);
int emm_proc_detach_request(void* args); int emm_proc_detach_request(void *args);
int emm_proc_detach_accept(void); int emm_proc_detach_accept(void);
int emm_proc_detach_failure(int is_initial, void* args); int emm_proc_detach_failure(int is_initial, void *args);
int emm_proc_detach_release(void* args); int emm_proc_detach_release(void *args);
#endif #endif
#ifdef NAS_MME #ifdef NAS_MME
int emm_proc_detach(unsigned int ueid, emm_proc_detach_type_t type); int emm_proc_detach(unsigned int ueid, emm_proc_detach_type_t type);
int emm_proc_detach_request(unsigned int ueid, emm_proc_detach_type_t type, int switch_off, int native_ksi, int ksi, GUTI_t* guti, imsi_t* imsi, imei_t* imei); int emm_proc_detach_request(unsigned int ueid, emm_proc_detach_type_t type,
int switch_off, int native_ksi, int ksi, GUTI_t *guti, imsi_t *imsi,
imei_t *imei);
#endif #endif
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Identification procedure * Identification procedure
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
#ifdef NAS_UE #ifdef NAS_UE
...@@ -169,50 +175,54 @@ int emm_proc_identification(unsigned int ueid, ...@@ -169,50 +175,54 @@ int emm_proc_identification(unsigned int ueid,
emm_common_success_callback_t success, emm_common_success_callback_t success,
emm_common_reject_callback_t reject, emm_common_reject_callback_t reject,
emm_common_failure_callback_t failure); emm_common_failure_callback_t failure);
int emm_proc_identification_complete(unsigned int ueid, const imsi_t* imsi, const imei_t* imei, UInt32_t* tmsi); int emm_proc_identification_complete(unsigned int ueid, const imsi_t *imsi,
const imei_t *imei, UInt32_t *tmsi);
#endif #endif
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Authentication procedure * Authentication procedure
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
#ifdef NAS_UE #ifdef NAS_UE
int emm_proc_authentication_request(int native_ksi, int ksi, const OctetString* rand, const OctetString* autn); int emm_proc_authentication_request(int native_ksi, int ksi,
const OctetString *rand, const OctetString *autn);
int emm_proc_authentication_reject(void); int emm_proc_authentication_reject(void);
int emm_proc_authentication_delete(void); int emm_proc_authentication_delete(void);
#endif #endif
#ifdef NAS_MME #ifdef NAS_MME
int emm_proc_authentication(unsigned int ueid, int ksi, int emm_proc_authentication(unsigned int ueid, int ksi,
const OctetString* rand, const OctetString* autn, const OctetString *rand, const OctetString *autn,
emm_common_success_callback_t success, emm_common_success_callback_t success,
emm_common_reject_callback_t reject, emm_common_reject_callback_t reject,
emm_common_failure_callback_t failure); emm_common_failure_callback_t failure);
int emm_proc_authentication_complete(unsigned int ueid, int emm_cause, const OctetString* res); int emm_proc_authentication_complete(unsigned int ueid, int emm_cause,
const OctetString *res);
#endif #endif
/* /*
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
* Security mode control procedure * Security mode control procedure
* -------------------------------------------------------------------------- * --------------------------------------------------------------------------
*/ */
#ifdef NAS_UE #ifdef NAS_UE
int emm_proc_security_mode_command(int native_ksi, int ksi, int seea, int seia, int reea, int reia); int emm_proc_security_mode_command(int native_ksi, int ksi, int seea, int seia,
int reea, int reia);
#endif #endif
#ifdef NAS_MME #ifdef NAS_MME
int emm_proc_security_mode_control(unsigned int ueid, int ksi, int eea, int eia, int emm_proc_security_mode_control(unsigned int ueid, int ksi, int eea, int eia,
emm_common_success_callback_t success, emm_common_success_callback_t success,
emm_common_reject_callback_t reject, emm_common_reject_callback_t reject,
emm_common_failure_callback_t failure); emm_common_failure_callback_t failure);
int emm_proc_security_mode_complete(unsigned int ueid); int emm_proc_security_mode_complete(unsigned int ueid);
int emm_proc_security_mode_reject(unsigned int ueid); int emm_proc_security_mode_reject(unsigned int ueid);
#endif #endif
/* /*
*--------------------------------------------------------------------------- *---------------------------------------------------------------------------
* Network indication handlers * Network indication handlers
*--------------------------------------------------------------------------- *---------------------------------------------------------------------------
*/ */
#ifdef NAS_UE #ifdef NAS_UE
......
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