Removed duplicated "commonDef.h" from "openair-cn/COMMON" file and updated "Makefile.am" files.
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@4384 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -1,249 +0,0 @@
|
|||||||
/*****************************************************************************
|
|
||||||
Eurecom OpenAirInterface 3
|
|
||||||
Copyright(c) 2012 Eurecom
|
|
||||||
|
|
||||||
Source commonDef.h
|
|
||||||
|
|
||||||
Version 0.1
|
|
||||||
|
|
||||||
Date 2012/02/27
|
|
||||||
|
|
||||||
Product NAS stack
|
|
||||||
|
|
||||||
Subsystem include
|
|
||||||
|
|
||||||
Author Frederic Maurel
|
|
||||||
|
|
||||||
Description Contains global common definitions
|
|
||||||
|
|
||||||
*****************************************************************************/
|
|
||||||
#ifndef __COMMONDEF_H__
|
|
||||||
#define __COMMONDEF_H__
|
|
||||||
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
/********************* G L O B A L C O N S T A N T S *******************/
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#define RETURNok (0)
|
|
||||||
#define RETURNerror (-1)
|
|
||||||
|
|
||||||
#ifndef FALSE
|
|
||||||
#define FALSE (0)
|
|
||||||
#endif
|
|
||||||
#ifndef TRUE
|
|
||||||
#define TRUE (1)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Name of the environment variable which defines the default directory
|
|
||||||
* where the NAS application is executed and where are located files
|
|
||||||
* where non-volatile data are stored
|
|
||||||
*/
|
|
||||||
#define DEFAULT_NAS_PATH "PWD"
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
/************************ G L O B A L T Y P E S ************************/
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
/*
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
Standard data type definitions
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
typedef int8_t SByte_t; /* 8 bit signed integer */
|
|
||||||
typedef int8_t Int8_t; /* 8 bit signed integer */
|
|
||||||
typedef int16_t Int16_t; /* 16 bit signed integer */
|
|
||||||
typedef int32_t Int32_t; /* 32 bit signed integer */
|
|
||||||
typedef int64_t Int64_t; /* 64 bit signed integer */
|
|
||||||
|
|
||||||
|
|
||||||
typedef uint8_t Byte_t; /* 8 bit unsigned integer */
|
|
||||||
typedef uint8_t UInt8_t; /* 8 bit unsigned integer */
|
|
||||||
typedef uint16_t UInt16_t; /* 16 bit unsigned integer */
|
|
||||||
typedef uint32_t UInt32_t; /* 32 bit unsigned integer */
|
|
||||||
typedef uint64_t UInt64_t; /* 64 bit unsigned integer */
|
|
||||||
|
|
||||||
/*
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
Common NAS data type definitions
|
|
||||||
-----------------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
typedef UInt8_t Stat_t; /* Registration status */
|
|
||||||
typedef UInt16_t lac_t; /* Location Area Code */
|
|
||||||
typedef UInt8_t rac_t; /* Routing Area Code */
|
|
||||||
typedef UInt16_t tac_t; /* Tracking Area Code */
|
|
||||||
typedef UInt32_t ci_t; /* Cell Identifier */
|
|
||||||
typedef UInt8_t AcT_t; /* Access Technology */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* International Mobile Subscriber Identity
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
Byte_t length;
|
|
||||||
union {
|
|
||||||
struct {
|
|
||||||
Byte_t digit15:4;
|
|
||||||
Byte_t digit14:4;
|
|
||||||
Byte_t digit13:4;
|
|
||||||
Byte_t digit12:4;
|
|
||||||
Byte_t digit11:4;
|
|
||||||
Byte_t digit10:4;
|
|
||||||
Byte_t digit9:4;
|
|
||||||
Byte_t digit8:4;
|
|
||||||
Byte_t digit7:4;
|
|
||||||
Byte_t digit6:4;
|
|
||||||
Byte_t digit5:4;
|
|
||||||
Byte_t digit4:4;
|
|
||||||
Byte_t digit3:4;
|
|
||||||
Byte_t digit2:4;
|
|
||||||
Byte_t digit1:4;
|
|
||||||
#define EVEN_PARITY 0
|
|
||||||
#define ODD_PARITY 1
|
|
||||||
Byte_t parity:4;
|
|
||||||
} num;
|
|
||||||
#define IMSI_SIZE 8
|
|
||||||
Byte_t value[IMSI_SIZE];
|
|
||||||
} u;
|
|
||||||
} imsi_t;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Mobile subscriber dialing number
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
Byte_t ext:1;
|
|
||||||
/* Type Of Number */
|
|
||||||
#define MSISDN_TON_UNKNOWKN 0b000
|
|
||||||
#define MSISDN_TON_INTERNATIONAL 0b001
|
|
||||||
#define MSISDN_TON_NATIONAL 0b010
|
|
||||||
#define MSISDN_TON_NETWORK 0b011
|
|
||||||
#define MSISDN_TON_SUBCRIBER 0b100
|
|
||||||
#define MSISDN_TON_ABBREVIATED 0b110
|
|
||||||
#define MSISDN_TON_RESERVED 0b111
|
|
||||||
Byte_t ton:3;
|
|
||||||
/* Numbering Plan Identification */
|
|
||||||
#define MSISDN_NPI_UNKNOWN 0b0000
|
|
||||||
#define MSISDN_NPI_ISDN_TELEPHONY 0b0001
|
|
||||||
#define MSISDN_NPI_GENERIC 0b0010
|
|
||||||
#define MSISDN_NPI_DATA 0b0011
|
|
||||||
#define MSISDN_NPI_TELEX 0b0100
|
|
||||||
#define MSISDN_NPI_MARITIME_MOBILE 0b0101
|
|
||||||
#define MSISDN_NPI_LAND_MOBILE 0b0110
|
|
||||||
#define MSISDN_NPI_ISDN_MOBILE 0b0111
|
|
||||||
#define MSISDN_NPI_PRIVATE 0b1110
|
|
||||||
#define MSISDN_NPI_RESERVED 0b1111
|
|
||||||
Byte_t npi:4;
|
|
||||||
/* Dialing Number */
|
|
||||||
struct {
|
|
||||||
Byte_t lsb:4;
|
|
||||||
Byte_t msb:4;
|
|
||||||
#define MSISDN_DIGIT_SIZE 10
|
|
||||||
} digit[MSISDN_DIGIT_SIZE];
|
|
||||||
} msisdn_t;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* International Mobile Equipment Identity
|
|
||||||
*/
|
|
||||||
typedef imsi_t imei_t;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Public Land Mobile Network identifier
|
|
||||||
* PLMN = BCD encoding (Mobile Country Code + Mobile Network Code)
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
Byte_t MCCdigit2:4;
|
|
||||||
Byte_t MCCdigit1:4;
|
|
||||||
Byte_t MNCdigit3:4;
|
|
||||||
Byte_t MCCdigit3:4;
|
|
||||||
Byte_t MNCdigit2:4;
|
|
||||||
Byte_t MNCdigit1:4;
|
|
||||||
} plmn_t;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Location Area Identification
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
plmn_t plmn; /* <MCC> + <MNC> */
|
|
||||||
lac_t lac; /* Location Area Code */
|
|
||||||
} lai_t;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* GPRS Routing Area Identification
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
plmn_t plmn; /* <MCC> + <MNC> */
|
|
||||||
lac_t lac; /* Location Area Code */
|
|
||||||
rac_t rac; /* Routing Area Code */
|
|
||||||
} RAI_t;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EPS Tracking Area Identification
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
plmn_t plmn; /* <MCC> + <MNC> */
|
|
||||||
tac_t tac; /* Tracking Area Code */
|
|
||||||
} tai_t;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EPS Globally Unique MME Identity
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
plmn_t plmn; /* <MCC> + <MNC> */
|
|
||||||
UInt16_t MMEgid; /* MME group identifier */
|
|
||||||
UInt8_t MMEcode; /* MME code */
|
|
||||||
} gummei_t;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* EPS Globally Unique Temporary UE Identity
|
|
||||||
*/
|
|
||||||
typedef struct {
|
|
||||||
gummei_t gummei; /* Globally Unique MME Identity */
|
|
||||||
UInt32_t m_tmsi; /* M-Temporary Mobile Subscriber Identity */
|
|
||||||
} GUTI_t;
|
|
||||||
|
|
||||||
/* Checks PLMN validity */
|
|
||||||
#define PLMN_IS_VALID(plmn) (((plmn).MCCdigit1 & \
|
|
||||||
(plmn).MCCdigit2 & \
|
|
||||||
(plmn).MCCdigit3) != 0x0F)
|
|
||||||
|
|
||||||
/* Checks TAC validity */
|
|
||||||
#define TAC_IS_VALID(tac) (((tac) != 0x0000) && ((tac) != 0xFFF0))
|
|
||||||
|
|
||||||
/* Checks TAI validity */
|
|
||||||
#define TAI_IS_VALID(tai) (PLMN_IS_VALID((tai).plmn) && \
|
|
||||||
TAC_IS_VALID((tai).tac))
|
|
||||||
/*
|
|
||||||
* A list of PLMNs
|
|
||||||
*/
|
|
||||||
#define PLMN_LIST_T(SIZE) struct {Byte_t n_plmns; plmn_t plmn[SIZE];}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* A list of TACs
|
|
||||||
*/
|
|
||||||
#define TAC_LIST_T(SIZE) struct {Byte_t n_tacs; TAC_t tac[SIZE];}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* A list of TAIs
|
|
||||||
*/
|
|
||||||
#define TAI_LIST_T(SIZE) struct {Byte_t n_tais; tai_t tai[SIZE];}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* User notification callback, executed whenever a change of data with
|
|
||||||
* respect of network information (e.g. network registration and/or
|
|
||||||
* location change, new PLMN becomes available) is notified by the
|
|
||||||
* EPS Mobility Management sublayer
|
|
||||||
*/
|
|
||||||
typedef int (*indication_callback_t) (Stat_t, tac_t, ci_t, AcT_t, const char*, size_t);
|
|
||||||
|
|
||||||
/****************************************************************************/
|
|
||||||
/******************** 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 ******************/
|
|
||||||
/****************************************************************************/
|
|
||||||
|
|
||||||
#endif /* __COMMONDEF_H__*/
|
|
||||||
@@ -2,6 +2,8 @@ SUBDIRS = . HASHTABLE
|
|||||||
|
|
||||||
AM_CFLAGS = @ADD_CFLAGS@ \
|
AM_CFLAGS = @ADD_CFLAGS@ \
|
||||||
-I$(top_srcdir)/COMMON \
|
-I$(top_srcdir)/COMMON \
|
||||||
|
-I$(top_srcdir)/NAS/EURECOM-NAS/src/api/network \
|
||||||
|
-I$(top_srcdir)/NAS/EURECOM-NAS/src/include \
|
||||||
-I$(top_srcdir)/INTERTASK_INTERFACE
|
-I$(top_srcdir)/INTERTASK_INTERFACE
|
||||||
|
|
||||||
AM_YFLAGS = -d
|
AM_YFLAGS = -d
|
||||||
|
|||||||
Reference in New Issue
Block a user