blob: 25cb2f05aba35e6fcf284fdb6b6c7d7c8755fa38 [file] [log] [blame]
Harald Welte27f9c4a2015-08-30 22:47:18 +02001#pragma once
2
3#include "asn_application.h"
4
Neels Hofmeyrc04a96c2016-01-04 18:03:31 +01005#include <ANY.h>
6#include <BIT_STRING.h>
7#include <INTEGER.h>
8#include <NativeEnumerated.h>
9#include <NativeInteger.h>
10#include <OBJECT_IDENTIFIER.h>
11#include <OCTET_STRING.h>
12
Neels Hofmeyrf1f2d7c2016-01-05 12:00:06 +010013#include <osmocom/hnbap/Access-stratum-release-indicator.h>
14#include <osmocom/hnbap/AccessResult.h>
15#include <osmocom/hnbap/AdditionalNeighbourInfoList.h>
16#include <osmocom/hnbap/AltitudeAndDirection.h>
17#include <osmocom/hnbap/BackoffTimer.h>
18#include <osmocom/hnbap/BindingID.h>
19#include <osmocom/hnbap/CELL-FACHMobilitySupport.h>
20#include <osmocom/hnbap/CGI.h>
21#include <osmocom/hnbap/CI.h>
22#include <osmocom/hnbap/CN-DomainIndicator.h>
23#include <osmocom/hnbap/CSG-Capability.h>
24#include <osmocom/hnbap/CSG-ID.h>
25#include <osmocom/hnbap/CSGMembershipStatus.h>
26#include <osmocom/hnbap/CSGMembershipUpdate.h>
27#include <osmocom/hnbap/Cause.h>
28#include <osmocom/hnbap/CauseMisc.h>
29#include <osmocom/hnbap/CauseProtocol.h>
30#include <osmocom/hnbap/CauseRadioNetwork.h>
31#include <osmocom/hnbap/CauseTransport.h>
32#include <osmocom/hnbap/CellIdentity.h>
33#include <osmocom/hnbap/ConfigurationInformation.h>
34#include <osmocom/hnbap/Context-ID.h>
35#include <osmocom/hnbap/Criticality.h>
36#include <osmocom/hnbap/CriticalityDiagnostics-IE-List.h>
37#include <osmocom/hnbap/CriticalityDiagnostics.h>
38#include <osmocom/hnbap/ESN.h>
39#include <osmocom/hnbap/ErrorIndication.h>
40#include <osmocom/hnbap/GTP-TEI.h>
41#include <osmocom/hnbap/GeographicalCoordinates.h>
42#include <osmocom/hnbap/GeographicalLocation.h>
43#include <osmocom/hnbap/HNB-Cell-Access-Mode.h>
44#include <osmocom/hnbap/HNB-Cell-Identifier.h>
45#include <osmocom/hnbap/HNB-GWResponse.h>
46#include <osmocom/hnbap/HNB-Identity-Info.h>
47#include <osmocom/hnbap/HNB-Identity.h>
48#include <osmocom/hnbap/HNB-Location-Information.h>
49#include <osmocom/hnbap/HNB-RNL-Identity.h>
50#include <osmocom/hnbap/HNBAP-PDU.h>
51#include <osmocom/hnbap/HNBCapacity.h>
52#include <osmocom/hnbap/HNBConfigInfo.h>
53#include <osmocom/hnbap/HNBConfigTransferRequest.h>
54#include <osmocom/hnbap/HNBConfigTransferResponse.h>
55#include <osmocom/hnbap/HNBConfigurationInformationMissing.h>
56#include <osmocom/hnbap/HNBConfigurationInformationProvided.h>
57#include <osmocom/hnbap/HNBDe-Register.h>
58#include <osmocom/hnbap/HNBRegisterAccept.h>
59#include <osmocom/hnbap/HNBRegisterReject.h>
60#include <osmocom/hnbap/HNBRegisterRequest.h>
61#include <osmocom/hnbap/IE-Extensions.h>
62#include <osmocom/hnbap/IE.h>
63#include <osmocom/hnbap/IMEI.h>
64#include <osmocom/hnbap/IMSI.h>
65#include <osmocom/hnbap/IMSIDS41.h>
66#include <osmocom/hnbap/IMSIESN.h>
67#include <osmocom/hnbap/IP-Address.h>
68#include <osmocom/hnbap/InitiatingMessage.h>
69#include <osmocom/hnbap/Ipv4Address.h>
70#include <osmocom/hnbap/Ipv6Address.h>
71#include <osmocom/hnbap/Iurh-Signalling-TNL-AddressList.h>
72#include <osmocom/hnbap/LAC.h>
73#include <osmocom/hnbap/LAI.h>
74#include <osmocom/hnbap/MacroCellID.h>
75#include <osmocom/hnbap/MacroCoverageInformation.h>
76#include <osmocom/hnbap/MuxPortNumber.h>
77#include <osmocom/hnbap/NeighbourCellIdentityList.h>
78#include <osmocom/hnbap/NeighbourIdentity.h>
79#include <osmocom/hnbap/NeighbourInfoList.h>
80#include <osmocom/hnbap/NeighbourInfoRequestItem.h>
81#include <osmocom/hnbap/NeighbourInfoRequestList.h>
82#include <osmocom/hnbap/PLMNidentity.h>
83#include <osmocom/hnbap/PSC.h>
84#include <osmocom/hnbap/PTMSI.h>
85#include <osmocom/hnbap/PTMSIRAI.h>
86#include <osmocom/hnbap/Presence.h>
87#include <osmocom/hnbap/PrivateIE-ID.h>
88#include <osmocom/hnbap/PrivateMessage.h>
89#include <osmocom/hnbap/ProcedureCode.h>
90#include <osmocom/hnbap/ProtocolIE-ID.h>
91#include <osmocom/hnbap/RAB-ID.h>
92#include <osmocom/hnbap/RABList.h>
93#include <osmocom/hnbap/RABListItem.h>
94#include <osmocom/hnbap/RAC.h>
95#include <osmocom/hnbap/RAI.h>
96#include <osmocom/hnbap/RNC-ID.h>
97#include <osmocom/hnbap/Registration-Cause.h>
98#include <osmocom/hnbap/RelocationComplete.h>
99#include <osmocom/hnbap/S-RNTIPrefix.h>
100#include <osmocom/hnbap/SAC.h>
101#include <osmocom/hnbap/SuccessfulOutcome.h>
102#include <osmocom/hnbap/TMSIDS41.h>
103#include <osmocom/hnbap/TMSILAI.h>
104#include <osmocom/hnbap/TNLUpdateFailure.h>
105#include <osmocom/hnbap/TNLUpdateRequest.h>
106#include <osmocom/hnbap/TNLUpdateResponse.h>
107#include <osmocom/hnbap/TransportInfo.h>
108#include <osmocom/hnbap/TransportLayerAddress.h>
109#include <osmocom/hnbap/TriggeringMessage.h>
110#include <osmocom/hnbap/Tunnel-Information.h>
111#include <osmocom/hnbap/TypeOfError.h>
112#include <osmocom/hnbap/U-RNTI.h>
113#include <osmocom/hnbap/U-RNTIQueryRequest.h>
114#include <osmocom/hnbap/U-RNTIQueryResponse.h>
115#include <osmocom/hnbap/UDP-Port-Number.h>
116#include <osmocom/hnbap/UE-Capabilities.h>
117#include <osmocom/hnbap/UE-Identity.h>
118#include <osmocom/hnbap/UEDe-Register.h>
119#include <osmocom/hnbap/UERegisterAccept.h>
120#include <osmocom/hnbap/UERegisterReject.h>
121#include <osmocom/hnbap/UERegisterRequest.h>
122#include <osmocom/hnbap/URAIdentity.h>
123#include <osmocom/hnbap/URAIdentityList.h>
124#include <osmocom/hnbap/UTRANCellID.h>
125#include <osmocom/hnbap/UnknownU-RNTIIndication.h>
126#include <osmocom/hnbap/UnsuccessfulOutcome.h>
127#include <osmocom/hnbap/Update-cause.h>
Harald Welte27f9c4a2015-08-30 22:47:18 +0200128
129#if (ASN1C_ENVIRONMENT_VERSION < 924)
130# error "You are compiling with the wrong version of ASN1C"
131#endif
132
Harald Welte76427b72015-08-30 23:08:48 +0200133#include <osmocom/core/logging.h>
134
Daniel Willmannbded9842015-12-17 11:51:17 +0100135#define HNBAP_DEBUG(x, args ...) DEBUGP(1, x, ## args)
Harald Welte76427b72015-08-30 23:08:48 +0200136
Harald Welte27f9c4a2015-08-30 22:47:18 +0200137extern int asn1_xer_print;
138
Daniel Willmann0e8ef672015-12-07 17:19:40 +0100139struct msgb *hnbap_generate_initiating_message(
140 e_ProcedureCode procedureCode,
141 Criticality_t criticality,
142 asn_TYPE_descriptor_t * td, void *sptr);
143
Harald Welte339b8e22015-08-30 23:08:32 +0200144struct msgb *hnbap_generate_successful_outcome(
Harald Welte27f9c4a2015-08-30 22:47:18 +0200145 e_ProcedureCode procedureCode,
146 Criticality_t criticality,
147 asn_TYPE_descriptor_t * td,
148 void *sptr);
149
Harald Weltecbaaeef2015-12-16 20:17:26 +0100150struct msgb *hnbap_generate_unsuccessful_outcome(
151 e_ProcedureCode procedureCode,
152 Criticality_t criticality,
153 asn_TYPE_descriptor_t * td,
154 void *sptr);
155
Harald Welte27f9c4a2015-08-30 22:47:18 +0200156IE_t *hnbap_new_ie(ProtocolIE_ID_t id, Criticality_t criticality,
157 asn_TYPE_descriptor_t *type, void *sptr);
158
Harald Welte3af1db82015-09-11 17:03:16 +0200159char *hnbap_cause_str(Cause_t *cause);