Surprisingly, it touches every part of openair3, and most of the prototype. Moreover, a special attention have been put to callback review. However, there are still places to fix or review indicated by FIXME
92 lines
3.7 KiB
C
92 lines
3.7 KiB
C
/*
|
|
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
|
* contributor license agreements. See the NOTICE file distributed with
|
|
* this work for additional information regarding copyright ownership.
|
|
* The OpenAirInterface Software Alliance licenses this file to You under
|
|
* the OAI Public License, Version 1.0 (the "License"); you may not use this file
|
|
* except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.openairinterface.org/?page_id=698
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*-------------------------------------------------------------------------------
|
|
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
|
* contact@openairinterface.org
|
|
*/
|
|
|
|
/*****************************************************************************
|
|
Source lowerlayer.h
|
|
|
|
Version 0.1
|
|
|
|
Date 2013/06/19
|
|
|
|
Product NAS stack
|
|
|
|
Subsystem EPS Mobility Management
|
|
|
|
Author Frederic Maurel
|
|
|
|
Description Defines EMM procedures executed by the Non-Access Stratum
|
|
upon receiving notifications from lower layers so that data
|
|
transfer succeed or failed, or NAS signalling connection is
|
|
released, or ESM unit data has been received from under layer,
|
|
and to request ESM unit data transfer to under layer.
|
|
|
|
*****************************************************************************/
|
|
#ifndef __LOWERLAYER_H__
|
|
#define __LOWERLAYER_H__
|
|
|
|
#include "OctetString.h"
|
|
#include "user_defs.h"
|
|
|
|
/****************************************************************************/
|
|
/********************* G L O B A L C O N S T A N T S *******************/
|
|
/****************************************************************************/
|
|
|
|
/*
|
|
* Type of EMM procedure callback function executed whenever data are
|
|
* successfully delivered to the network
|
|
*/
|
|
typedef int (*lowerlayer_success_callback_t)(void *);
|
|
|
|
/*
|
|
* Type of EMM procedure callback function executed when data are not
|
|
* delivered to the network because a lower layer failure occurred
|
|
*/
|
|
typedef int (*lowerlayer_failure_callback_t)(int, void *);
|
|
|
|
/*
|
|
* Type of EMM procedure callback function executed when NAS signalling
|
|
* connection is released
|
|
*/
|
|
typedef int (*lowerlayer_release_callback_t)(void *);
|
|
|
|
/****************************************************************************/
|
|
/************************ G L O B A L T Y P E S ************************/
|
|
/****************************************************************************/
|
|
|
|
/****************************************************************************/
|
|
/******************** G L O B A L V A R I A B L E S ********************/
|
|
/****************************************************************************/
|
|
|
|
/****************************************************************************/
|
|
/****************** E X P O R T E D F U N C T I O N S ******************/
|
|
/****************************************************************************/
|
|
|
|
// FIXME prototype with ueid
|
|
int lowerlayer_success(nas_user_t *user, unsigned int ueid);
|
|
int lowerlayer_failure(nas_user_t *user, unsigned int ueid);
|
|
int lowerlayer_establish(nas_user_t *user);
|
|
int lowerlayer_release(nas_user_t *user, int cause);
|
|
|
|
int lowerlayer_data_ind(nas_user_t *user, unsigned int ueid, const OctetString *data);
|
|
int lowerlayer_data_req(nas_user_t *user, unsigned int ueid, const OctetString *data);
|
|
|
|
#endif /* __LOWERLAYER_H__*/
|