Files
openairinterface5g/openair3/NAS/UE/API/USER/user_indication.h
Robert Schmidt 8107939f08 Change OAI license to CSSL v1.0 (and others)
- all RAN code, CI code, configuration files, dockerfiles, in CSSL v1.0
- all deployment code (openshift, charts, ancillary files like shell
  scripts), in MIT
- documentation in CC-BY-4.0
- exceptions might apply and are listed in NOTICE
- there is a new LICENSES folder with all licenses
- CONTRIBUTIONS.md has been updated accordingly

For automated changes based on OAI PL v1.1:

    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.{c,h,cpp}
    perl -i~ -0pe 's/\/\*.*Licensed to the OpenAirInterface.*openairinterface.org\n#?/\/*\n * SPDX-License-Identifier: LicenseRef-CSSL-1.0\n/s' **/*.ts
    perl -i~ -0pe 's/<!--.*Licensed to the OpenAirInterface.*openairinterface.org\n.*-->/<!-- SPDX-License-Identifier: LicenseRef-CSSL-1.0 -->/s' **/*.xml

The rest (cmake, files with missing license, cmake) manually.
2026-03-27 16:36:37 +01:00

105 lines
3.4 KiB
C

/*
* SPDX-License-Identifier: LicenseRef-CSSL-1.0
*/
/*****************************************************************************
Source user_indication.h
Version 0.1
Date 2012/10/25
Product NAS stack
Subsystem Application Programming Interface
Description Defines functions which allow the user application to register
procedures to be executed upon receiving asynchronous notifi-
cation.
*****************************************************************************/
#ifndef __USER_IND_H__
#define __USER_IND_H__
#include "commonDef.h"
#include "networkDef.h"
#include "user_api_defs.h"
/****************************************************************************/
/********************* G L O B A L C O N S T A N T S *******************/
/****************************************************************************/
/*
* Type of notification that may be asynchronously received by the user
*/
typedef enum {
USER_IND_REG = 0, /* Registration notification */
USER_IND_LOC, /* Location notification */
USER_IND_PLMN, /* Network notification */
USER_IND_PDN, /* PDN connection notification */
USER_IND_MAX
} user_ind_t;
/*
* Registration notification are received whenever there is a change in the
* UE's network registration status in GERAN/UTRAN/E-UTRAN
*/
typedef struct {
Stat_t status; /* network registration status */
} user_ind_reg_t;
/*
* Location notification are received whenever there is a change in the
* network serving cell in GERAN/UTRAN/E-UTRAN
*/
typedef struct {
Stat_t status; /* network registration status */
tac_t tac; /* Location/Tracking area code */
ci_t ci; /* GERAN/UTRAN/E-UTRAN cell ID */
AcT_t AcT; /* Supported Access Technology */
} user_ind_loc_t;
/*
* PDN connection notification are received whenever the user or the network
* has activated or desactivated a PDN connection
*/
typedef struct {
uint8_t cid; /* PDN connection identifier */
network_pdn_state_t status; /* PDN connection status */
} user_ind_pdn_t;
/*
* Structure of asynchronous notification received by the user
*/
typedef struct {
union {
user_ind_reg_t reg; /* Registration notification */
user_ind_loc_t loc; /* Location notification */
user_ind_pdn_t pdn; /* PDN connection notification */
} notification;
} user_indication_t;
/*
* Type of procedure executed upon receiving registered notification
*/
typedef int (*user_ind_callback_t) (user_api_id_t *user_api_id, unsigned char, const void*, size_t);
/****************************************************************************/
/************************ 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 ******************/
/****************************************************************************/
int user_ind_register(user_ind_t ind, unsigned char id, user_ind_callback_t cb);
int user_ind_deregister(user_ind_t ind);
int user_ind_notify(user_api_id_t *user_api_id, user_ind_t ind, const void* data, size_t size);
#endif /* __USER_IND_H__*/