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

UE/EMM: fix emm_proc_lowerlayer_* prototype

parent 5367d5dc
...@@ -240,7 +240,7 @@ int emm_proc_attach(nas_user_t *user, emm_proc_attach_type_t type) ...@@ -240,7 +240,7 @@ int emm_proc_attach(nas_user_t *user, emm_proc_attach_type_t type)
if (rc != RETURNerror) { if (rc != RETURNerror) {
/* Setup EMM procedure handler to be executed upon receiving /* Setup EMM procedure handler to be executed upon receiving
* lower layer notification */ * lower layer notification */
rc = emm_proc_lowerlayer_initialize(emm_proc_attach_request, rc = emm_proc_lowerlayer_initialize(user->lowerlayer_data, emm_proc_attach_request,
emm_proc_attach_failure, emm_proc_attach_failure,
emm_proc_attach_release, user); emm_proc_attach_release, user);
...@@ -423,7 +423,7 @@ int emm_proc_attach_accept(nas_user_t *user, long t3412, long t3402, long t3423, ...@@ -423,7 +423,7 @@ int emm_proc_attach_accept(nas_user_t *user, long t3412, long t3402, long t3423,
if ( (rc != RETURNerror) && (esm_sap.err == ESM_SAP_SUCCESS) ) { if ( (rc != RETURNerror) && (esm_sap.err == ESM_SAP_SUCCESS) ) {
/* Setup EMM procedure handler to be executed upon receiving /* Setup EMM procedure handler to be executed upon receiving
* lower layer notification */ * lower layer notification */
rc = emm_proc_lowerlayer_initialize(emm_proc_attach_complete, rc = emm_proc_lowerlayer_initialize(user->lowerlayer_data, emm_proc_attach_complete,
emm_proc_attach_failure, emm_proc_attach_failure,
NULL, user); NULL, user);
...@@ -721,7 +721,7 @@ int emm_proc_attach_complete(void *args) ...@@ -721,7 +721,7 @@ int emm_proc_attach_complete(void *args)
LOG_TRACE(INFO, "EMM-PROC - EPS attach complete"); LOG_TRACE(INFO, "EMM-PROC - EPS attach complete");
/* Reset EMM procedure handler */ /* Reset EMM procedure handler */
(void) emm_proc_lowerlayer_initialize(NULL, NULL, NULL, NULL); emm_proc_lowerlayer_initialize(user->lowerlayer_data, NULL, NULL, NULL, NULL);
/* Reset the attach attempt counter */ /* Reset the attach attempt counter */
emm_attach_data->attempt_count = 0; emm_attach_data->attempt_count = 0;
...@@ -787,7 +787,7 @@ int emm_proc_attach_failure(int is_initial, void *args) ...@@ -787,7 +787,7 @@ int emm_proc_attach_failure(int is_initial, void *args)
LOG_TRACE(WARNING, "EMM-PROC - EPS attach failure"); LOG_TRACE(WARNING, "EMM-PROC - EPS attach failure");
/* Reset EMM procedure handler */ /* Reset EMM procedure handler */
(void) emm_proc_lowerlayer_initialize(NULL, NULL, NULL, NULL); emm_proc_lowerlayer_initialize(user->lowerlayer_data, NULL, NULL, NULL, NULL);
/* Stop timer T3410 if still running */ /* Stop timer T3410 if still running */
if (emm_timers->T3410.id != NAS_TIMER_INACTIVE_ID) { if (emm_timers->T3410.id != NAS_TIMER_INACTIVE_ID) {
......
...@@ -289,7 +289,7 @@ int emm_proc_authentication_request(nas_user_t *user, int native_ksi, int ksi, ...@@ -289,7 +289,7 @@ int emm_proc_authentication_request(nas_user_t *user, int native_ksi, int ksi,
/* Setup EMM procedure handler to be executed upon receiving /* Setup EMM procedure handler to be executed upon receiving
* lower layer notification */ * lower layer notification */
rc = emm_proc_lowerlayer_initialize(NULL, NULL, NULL, NULL); rc = emm_proc_lowerlayer_initialize(user->lowerlayer_data, NULL, NULL, NULL, NULL);
if (rc != RETURNok) { if (rc != RETURNok) {
LOG_TRACE(WARNING, LOG_TRACE(WARNING,
......
...@@ -132,7 +132,7 @@ int emm_proc_detach(nas_user_t *user, emm_proc_detach_type_t type, int switch_of ...@@ -132,7 +132,7 @@ int emm_proc_detach(nas_user_t *user, emm_proc_detach_type_t type, int switch_of
/* Setup EMM procedure handler to be executed upon receiving /* Setup EMM procedure handler to be executed upon receiving
* lower layer notification */ * lower layer notification */
rc = emm_proc_lowerlayer_initialize(emm_proc_detach_request, rc = emm_proc_lowerlayer_initialize(user->lowerlayer_data, emm_proc_detach_request,
emm_proc_detach_failure, emm_proc_detach_failure,
emm_proc_detach_release, user); emm_proc_detach_release, user);
...@@ -240,7 +240,7 @@ int emm_proc_detach_accept(void* args) ...@@ -240,7 +240,7 @@ int emm_proc_detach_accept(void* args)
LOG_TRACE(INFO, "EMM-PROC - UE initiated detach procedure completion"); LOG_TRACE(INFO, "EMM-PROC - UE initiated detach procedure completion");
/* Reset EMM procedure handler */ /* Reset EMM procedure handler */
(void) emm_proc_lowerlayer_initialize(NULL, NULL, NULL, NULL); (void) emm_proc_lowerlayer_initialize(user->lowerlayer_data, NULL, NULL, NULL, NULL);
/* Stop timer T3421 */ /* Stop timer T3421 */
emm_timers->T3421.id = nas_timer_stop(emm_timers->T3421.id); emm_timers->T3421.id = nas_timer_stop(emm_timers->T3421.id);
...@@ -292,7 +292,7 @@ int emm_proc_detach_failure(int is_initial, void *args) ...@@ -292,7 +292,7 @@ int emm_proc_detach_failure(int is_initial, void *args)
LOG_TRACE(WARNING, "EMM-PROC - Network detach failure"); LOG_TRACE(WARNING, "EMM-PROC - Network detach failure");
/* Reset EMM procedure handler */ /* Reset EMM procedure handler */
(void) emm_proc_lowerlayer_initialize(NULL, NULL, NULL, NULL); (void) emm_proc_lowerlayer_initialize(user->lowerlayer_data, NULL, NULL, NULL, NULL);
/* Stop timer T3421 */ /* Stop timer T3421 */
emm_timers->T3421.id = nas_timer_stop(emm_timers->T3421.id); emm_timers->T3421.id = nas_timer_stop(emm_timers->T3421.id);
...@@ -458,7 +458,7 @@ static int _emm_detach_abort(nas_user_t *user, emm_proc_detach_type_t type) ...@@ -458,7 +458,7 @@ static int _emm_detach_abort(nas_user_t *user, emm_proc_detach_type_t type)
LOG_TRACE(WARNING, "EMM-PROC - Abort the detach procedure"); LOG_TRACE(WARNING, "EMM-PROC - Abort the detach procedure");
/* Reset EMM procedure handler */ /* Reset EMM procedure handler */
(void) emm_proc_lowerlayer_initialize(NULL, NULL, NULL, NULL); emm_proc_lowerlayer_initialize(user->lowerlayer_data, NULL, NULL, NULL, NULL);
/* Stop timer T3421 */ /* Stop timer T3421 */
emm_timers->T3421.id = nas_timer_stop(emm_timers->T3421.id); emm_timers->T3421.id = nas_timer_stop(emm_timers->T3421.id);
......
...@@ -115,7 +115,7 @@ int emm_proc_identification_request(nas_user_t *user, emm_proc_identity_type_t t ...@@ -115,7 +115,7 @@ int emm_proc_identification_request(nas_user_t *user, emm_proc_identity_type_t t
/* Setup EMM procedure handler to be executed upon receiving /* Setup EMM procedure handler to be executed upon receiving
* lower layer notification */ * lower layer notification */
rc = emm_proc_lowerlayer_initialize(NULL, NULL, NULL, NULL); rc = emm_proc_lowerlayer_initialize(user->lowerlayer_data, NULL, NULL, NULL, NULL);
if (rc != RETURNok) { if (rc != RETURNok) {
LOG_TRACE(WARNING, LOG_TRACE(WARNING,
......
...@@ -62,6 +62,20 @@ Description Defines EMM procedures executed by the Non-Access Stratum ...@@ -62,6 +62,20 @@ Description Defines EMM procedures executed by the Non-Access Stratum
/****************** 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 ******************/
/****************************************************************************/ /****************************************************************************/
/*
*---------------------------------------------------------------------------
* Lower layer procedure
*---------------------------------------------------------------------------
*/
int emm_proc_lowerlayer_initialize(lowerlayer_data_t *lowerlayer_data, lowerlayer_success_callback_t success,
lowerlayer_failure_callback_t failure,
lowerlayer_release_callback_t release,
void *args);
int emm_proc_lowerlayer_success(lowerlayer_data_t *lowerlayer_data);
int emm_proc_lowerlayer_failure(lowerlayer_data_t *lowerlayer_data, int is_initial);
int emm_proc_lowerlayer_release(lowerlayer_data_t *lowerlayer_data);
int lowerlayer_success(nas_user_t *user); int lowerlayer_success(nas_user_t *user);
int lowerlayer_failure(nas_user_t *user); int lowerlayer_failure(nas_user_t *user);
int lowerlayer_establish(nas_user_t *user); int lowerlayer_establish(nas_user_t *user);
......
...@@ -113,14 +113,14 @@ int EmmDeregisteredAttemptingToAttach(nas_user_t *user, const emm_reg_t *evt) ...@@ -113,14 +113,14 @@ int EmmDeregisteredAttemptingToAttach(nas_user_t *user, const emm_reg_t *evt)
/* /*
* Data successfully delivered to the network * Data successfully delivered to the network
*/ */
rc = emm_proc_lowerlayer_success(); rc = emm_proc_lowerlayer_success(user->lowerlayer_data);
break; break;
case _EMMREG_LOWERLAYER_FAILURE: case _EMMREG_LOWERLAYER_FAILURE:
/* /*
* Data failed to be delivered to the network * Data failed to be delivered to the network
*/ */
rc = emm_proc_lowerlayer_failure(FALSE); rc = emm_proc_lowerlayer_failure(user->lowerlayer_data, FALSE);
break; break;
default: default:
......
...@@ -124,7 +124,7 @@ int EmmDeregisteredInitiated(nas_user_t *user, const emm_reg_t *evt) ...@@ -124,7 +124,7 @@ int EmmDeregisteredInitiated(nas_user_t *user, const emm_reg_t *evt)
* before the Detach Accept is received * before the Detach Accept is received
*/ */
// FIXME review // FIXME review
rc = emm_proc_lowerlayer_release(); rc = emm_proc_lowerlayer_release(user->lowerlayer_data);
break; break;
default: default:
......
...@@ -126,21 +126,21 @@ int EmmDeregisteredLimitedService(nas_user_t *user, const emm_reg_t *evt) ...@@ -126,21 +126,21 @@ int EmmDeregisteredLimitedService(nas_user_t *user, const emm_reg_t *evt)
* Initial NAS message has been successfully delivered * Initial NAS message has been successfully delivered
* to the network * to the network
*/ */
rc = emm_proc_lowerlayer_success(); rc = emm_proc_lowerlayer_success(user->lowerlayer_data);
break; break;
case _EMMREG_LOWERLAYER_FAILURE: case _EMMREG_LOWERLAYER_FAILURE:
/* /*
* Initial NAS message failed to be delivered to the network * Initial NAS message failed to be delivered to the network
*/ */
rc = emm_proc_lowerlayer_failure(TRUE); rc = emm_proc_lowerlayer_failure(user->lowerlayer_data, TRUE);
break; break;
case _EMMREG_LOWERLAYER_RELEASE: case _EMMREG_LOWERLAYER_RELEASE:
/* /*
* NAS signalling connection has been released * NAS signalling connection has been released
*/ */
rc = emm_proc_lowerlayer_release(); rc = emm_proc_lowerlayer_release(user->lowerlayer_data);
break; break;
default: default:
......
...@@ -134,21 +134,21 @@ int EmmDeregisteredNormalService(nas_user_t *user, const emm_reg_t *evt) ...@@ -134,21 +134,21 @@ int EmmDeregisteredNormalService(nas_user_t *user, const emm_reg_t *evt)
* Initial NAS message has been successfully delivered * Initial NAS message has been successfully delivered
* to the network * to the network
*/ */
rc = emm_proc_lowerlayer_success(); rc = emm_proc_lowerlayer_success(user->lowerlayer_data);
break; break;
case _EMMREG_LOWERLAYER_FAILURE: case _EMMREG_LOWERLAYER_FAILURE:
/* /*
* Initial NAS message failed to be delivered to the network * Initial NAS message failed to be delivered to the network
*/ */
rc = emm_proc_lowerlayer_failure(TRUE); rc = emm_proc_lowerlayer_failure(user->lowerlayer_data, TRUE);
break; break;
case _EMMREG_LOWERLAYER_RELEASE: case _EMMREG_LOWERLAYER_RELEASE:
/* /*
* NAS signalling connection has been released * NAS signalling connection has been released
*/ */
rc = emm_proc_lowerlayer_release(); rc = emm_proc_lowerlayer_release(user->lowerlayer_data);
break; break;
case _EMMREG_ATTACH_CNF: case _EMMREG_ATTACH_CNF:
......
...@@ -136,21 +136,21 @@ int EmmRegistered(nas_user_t *user, const emm_reg_t *evt) ...@@ -136,21 +136,21 @@ int EmmRegistered(nas_user_t *user, const emm_reg_t *evt)
/* /*
* Data transfer message has been successfully delivered * Data transfer message has been successfully delivered
*/ */
rc = emm_proc_lowerlayer_success(); rc = emm_proc_lowerlayer_success(user->lowerlayer_data);
break; break;
case _EMMREG_LOWERLAYER_FAILURE: case _EMMREG_LOWERLAYER_FAILURE:
/* /*
* Data transfer message failed to be delivered * Data transfer message failed to be delivered
*/ */
rc = emm_proc_lowerlayer_failure(FALSE); rc = emm_proc_lowerlayer_failure(user->lowerlayer_data, FALSE);
break; break;
case _EMMREG_LOWERLAYER_RELEASE: case _EMMREG_LOWERLAYER_RELEASE:
/* /*
* NAS signalling connection has been released * NAS signalling connection has been released
*/ */
rc = emm_proc_lowerlayer_release(); rc = emm_proc_lowerlayer_release(user->lowerlayer_data);
break; break;
default: default:
......
...@@ -230,7 +230,7 @@ int EmmRegisteredInitiated(nas_user_t *user, const emm_reg_t *evt) ...@@ -230,7 +230,7 @@ int EmmRegisteredInitiated(nas_user_t *user, const emm_reg_t *evt)
* any message transfered by EMM common procedures requested * any message transfered by EMM common procedures requested
* by the network. * by the network.
*/ */
rc = emm_proc_lowerlayer_success(); rc = emm_proc_lowerlayer_success(user->lowerlayer_data);
break; break;
case _EMMREG_LOWERLAYER_FAILURE: case _EMMREG_LOWERLAYER_FAILURE:
...@@ -240,7 +240,7 @@ int EmmRegisteredInitiated(nas_user_t *user, const emm_reg_t *evt) ...@@ -240,7 +240,7 @@ int EmmRegisteredInitiated(nas_user_t *user, const emm_reg_t *evt)
* any message transfered by EMM common procedures requested * any message transfered by EMM common procedures requested
* by the network. * by the network.
*/ */
rc = emm_proc_lowerlayer_failure(FALSE); rc = emm_proc_lowerlayer_failure(user->lowerlayer_data, FALSE);
break; break;
case _EMMREG_LOWERLAYER_RELEASE: case _EMMREG_LOWERLAYER_RELEASE:
...@@ -249,7 +249,7 @@ int EmmRegisteredInitiated(nas_user_t *user, const emm_reg_t *evt) ...@@ -249,7 +249,7 @@ int EmmRegisteredInitiated(nas_user_t *user, const emm_reg_t *evt)
* Accept, Attach Reject, or any message transfered by EMM common * Accept, Attach Reject, or any message transfered by EMM common
* procedures requested by the network, is received. * procedures requested by the network, is received.
*/ */
rc = emm_proc_lowerlayer_release(); rc = emm_proc_lowerlayer_release(user->lowerlayer_data);
break; break;
default: default:
......
...@@ -308,7 +308,7 @@ int emm_proc_security_mode_command(nas_user_t *user, int native_ksi, int ksi, ...@@ -308,7 +308,7 @@ int emm_proc_security_mode_command(nas_user_t *user, int native_ksi, int ksi,
/* Setup EMM procedure handler to be executed upon receiving /* Setup EMM procedure handler to be executed upon receiving
* lower layer notification */ * lower layer notification */
rc = emm_proc_lowerlayer_initialize(NULL, NULL, NULL, NULL); rc = emm_proc_lowerlayer_initialize(user->lowerlayer_data, NULL, NULL, NULL, NULL);
if (rc != RETURNok) { if (rc != RETURNok) {
LOG_TRACE(WARNING, LOG_TRACE(WARNING,
......
...@@ -68,19 +68,6 @@ Description Defines the EPS Mobility Management procedures executed at ...@@ -68,19 +68,6 @@ Description Defines the EPS Mobility Management procedures executed at
int emm_proc_status_ind(unsigned int ueid, int emm_cause); int emm_proc_status_ind(unsigned int ueid, int emm_cause);
int emm_proc_status(nas_user_t *user, int emm_cause); int emm_proc_status(nas_user_t *user, int emm_cause);
/*
*---------------------------------------------------------------------------
* Lower layer procedure
*---------------------------------------------------------------------------
*/
int emm_proc_lowerlayer_initialize(lowerlayer_success_callback_t success,
lowerlayer_failure_callback_t failure,
lowerlayer_release_callback_t release,
void *args);
int emm_proc_lowerlayer_success(void);
int emm_proc_lowerlayer_failure(int is_initial);
int emm_proc_lowerlayer_release(void);
/* /*
*--------------------------------------------------------------------------- *---------------------------------------------------------------------------
* UE's Idle mode procedure * UE's Idle mode procedure
......
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