blob: da5fc6fe3c86fd13f96bf3bde797b21395ba723e [file] [log] [blame]
Harald Weltee180c162015-08-29 20:34:40 +02001/*******************************************************************************
2
3 Eurecom OpenAirInterface
4 Copyright(c) 1999 - 2012 Eurecom
5
6 This program is free software; you can redistribute it and/or modify it
7 under the terms and conditions of the GNU General Public License,
8 version 2, as published by the Free Software Foundation.
9
10 This program is distributed in the hope it will be useful, but WITHOUT
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13 more details.
14
15 You should have received a copy of the GNU General Public License along with
16 this program; if not, write to the Free Software Foundation, Inc.,
17 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
18
19 The full GNU General Public License is included in this distribution in
20 the file called "COPYING".
21
22 Contact Information
23 Openair Admin: openair_admin@eurecom.fr
24 Openair Tech : openair_tech@eurecom.fr
25 Forums : http://forums.eurecom.fr/openairinterface
26 Address : EURECOM, Campus SophiaTech, 450 Route des Chappes
27 06410 Biot FRANCE
28
29*******************************************************************************/
30
31/*******************************************************************************
32 * This file had been created by asn1tostruct.py script v0.5
33 * Please do not modify this file but regenerate it via script.
34 * Created on: 2015-08-29 14:31:31.107080 by laforge
35 * from ['../RUA-CommonDataTypes.asn', '../RUA-Constants.asn', '../RUA-Containers.asn', '../RUA-IEs.asn', '../RUA-PDU-Contents.asn', '../RUA-PDU-Descriptions.asn']
36 ******************************************************************************/
37#include "rua_common.h"
38
39#ifndef RUA_IES_DEFS_H_
40#define RUA_IES_DEFS_H_
41
42#define CONNECTIES_INTRADOMAINNASNODESELECTOR_PRESENT (1 << 0)
43
44typedef struct ConnectIEs_s {
45 uint16_t presenceMask;
46 CN_DomainIndicator_t cN_DomainIndicator;
47 Context_ID_t context_ID;
48 IntraDomainNasNodeSelector_t intraDomainNasNodeSelector; ///< Optional field
49 Establishment_Cause_t establishment_Cause;
50 RANAP_Message_t ranaP_Message;
51} ConnectIEs_t;
52
53#define DISCONNECTIES_RANAP_MESSAGE_PRESENT (1 << 0)
54
55typedef struct DisconnectIEs_s {
56 uint16_t presenceMask;
57 CN_DomainIndicator_t cN_DomainIndicator;
58 Context_ID_t context_ID;
59 Cause_t cause;
60 RANAP_Message_t ranaP_Message; ///< Conditional field
61} DisconnectIEs_t;
62
63#define ERRORINDICATIONIES_CRITICALITYDIAGNOSTICS_PRESENT (1 << 0)
64
65typedef struct ErrorIndicationIEs_s {
66 uint16_t presenceMask;
67 Cause_t cause;
68 CriticalityDiagnostics_t criticalityDiagnostics; ///< Optional field
69} ErrorIndicationIEs_t;
70
71typedef struct ConnectionlessTransferIEs_s {
72 RANAP_Message_t ranaP_Message;
73} ConnectionlessTransferIEs_t;
74
75typedef struct DirectTransferIEs_s {
76 CN_DomainIndicator_t cN_DomainIndicator;
77 Context_ID_t context_ID;
78 RANAP_Message_t ranaP_Message;
79} DirectTransferIEs_t;
80
81typedef struct rua_message_s {
82 uint8_t procedureCode;
83 uint8_t criticality;
84 uint8_t direction;
85 union {
86 ConnectIEs_t connectIEs;
87 ConnectionlessTransferIEs_t connectionlessTransferIEs;
88 DirectTransferIEs_t directTransferIEs;
89 DisconnectIEs_t disconnectIEs;
90 ErrorIndicationIEs_t errorIndicationIEs;
91 } msg;
92} rua_message;
93
94/** \brief Decode function for ConnectIEs ies.
95 * \param connectIEs Pointer to ASN1 structure in which data will be stored
96 * \param any_p Pointer to the ANY value to decode.
97 **/
98int rua_decode_connecties(
99 ConnectIEs_t *connectIEs,
100 ANY_t *any_p);
101
102/** \brief Encode function for ConnectIEs ies.
103 * \param connect Pointer to the ASN1 structure.
104 * \param connectIEs Pointer to the IES structure.
105 **/
106int rua_encode_connecties(
107 Connect_t *connect,
108 ConnectIEs_t *connectIEs);
109
110/** \brief Decode function for DisconnectIEs ies.
111 * \param disconnectIEs Pointer to ASN1 structure in which data will be stored
112 * \param any_p Pointer to the ANY value to decode.
113 **/
114int rua_decode_disconnecties(
115 DisconnectIEs_t *disconnectIEs,
116 ANY_t *any_p);
117
118/** \brief Encode function for DisconnectIEs ies.
119 * \param disconnect Pointer to the ASN1 structure.
120 * \param disconnectIEs Pointer to the IES structure.
121 **/
122int rua_encode_disconnecties(
123 Disconnect_t *disconnect,
124 DisconnectIEs_t *disconnectIEs);
125
126/** \brief Decode function for ErrorIndicationIEs ies.
127 * \param errorIndicationIEs Pointer to ASN1 structure in which data will be stored
128 * \param any_p Pointer to the ANY value to decode.
129 **/
130int rua_decode_errorindicationies(
131 ErrorIndicationIEs_t *errorIndicationIEs,
132 ANY_t *any_p);
133
134/** \brief Encode function for ErrorIndicationIEs ies.
135 * \param errorIndication Pointer to the ASN1 structure.
136 * \param errorIndicationIEs Pointer to the IES structure.
137 **/
138int rua_encode_errorindicationies(
139 ErrorIndication_t *errorIndication,
140 ErrorIndicationIEs_t *errorIndicationIEs);
141
142/** \brief Decode function for ConnectionlessTransferIEs ies.
143 * \param connectionlessTransferIEs Pointer to ASN1 structure in which data will be stored
144 * \param any_p Pointer to the ANY value to decode.
145 **/
146int rua_decode_connectionlesstransferies(
147 ConnectionlessTransferIEs_t *connectionlessTransferIEs,
148 ANY_t *any_p);
149
150/** \brief Encode function for ConnectionlessTransferIEs ies.
151 * \param connectionlessTransfer Pointer to the ASN1 structure.
152 * \param connectionlessTransferIEs Pointer to the IES structure.
153 **/
154int rua_encode_connectionlesstransferies(
155 ConnectionlessTransfer_t *connectionlessTransfer,
156 ConnectionlessTransferIEs_t *connectionlessTransferIEs);
157
158/** \brief Decode function for DirectTransferIEs ies.
159 * \param directTransferIEs Pointer to ASN1 structure in which data will be stored
160 * \param any_p Pointer to the ANY value to decode.
161 **/
162int rua_decode_directtransferies(
163 DirectTransferIEs_t *directTransferIEs,
164 ANY_t *any_p);
165
166/** \brief Encode function for DirectTransferIEs ies.
167 * \param directTransfer Pointer to the ASN1 structure.
168 * \param directTransferIEs Pointer to the IES structure.
169 **/
170int rua_encode_directtransferies(
171 DirectTransfer_t *directTransfer,
172 DirectTransferIEs_t *directTransferIEs);
173
174#endif /* RUA_IES_DEFS_H_ */
175