blob: 717247cadb092b500060b2802b33b6645acbee90 [file] [log] [blame]
Harald Weltee844bf72019-05-06 15:25:10 +02001#pragma once
2
3#include <asn1c/asn_application.h>
4
5#include <osmocom/sabp/SABP_Available-Bandwidth.h>
6#include <osmocom/sabp/SABP_Broadcast-Message-Content-Validity-Indicator.h>
7#include <osmocom/sabp/SABP_Broadcast-Message-Content.h>
8#include <osmocom/sabp/SABP_Category.h>
9#include <osmocom/sabp/SABP_Cause.h>
10#include <osmocom/sabp/SABP_Criticality-Diagnostics.h>
11#include <osmocom/sabp/SABP_Criticality.h>
12#include <osmocom/sabp/SABP_CriticalityDiagnostics-IE-List.h>
13#include <osmocom/sabp/SABP_Data-Coding-Scheme.h>
14#include <osmocom/sabp/SABP_Error-Indication.h>
15#include <osmocom/sabp/SABP_Failure-List-Item.h>
16#include <osmocom/sabp/SABP_Failure-List.h>
17#include <osmocom/sabp/SABP_Failure.h>
18#include <osmocom/sabp/SABP_IE-Extensions.h>
19#include <osmocom/sabp/SABP_IE.h>
20#include <osmocom/sabp/SABP_InitiatingMessage.h>
21#include <osmocom/sabp/SABP_Kill-Complete.h>
22#include <osmocom/sabp/SABP_Kill-Failure.h>
23#include <osmocom/sabp/SABP_Kill.h>
24#include <osmocom/sabp/SABP_Load-Query-Complete.h>
25#include <osmocom/sabp/SABP_Load-Query-Failure.h>
26#include <osmocom/sabp/SABP_Load-Query.h>
27#include <osmocom/sabp/SABP_Message-Identifier.h>
28#include <osmocom/sabp/SABP_Message-Status-Query-Complete.h>
29#include <osmocom/sabp/SABP_Message-Status-Query-Failure.h>
30#include <osmocom/sabp/SABP_Message-Status-Query.h>
31#include <osmocom/sabp/SABP_MessageStructure.h>
32#include <osmocom/sabp/SABP_New-Serial-Number.h>
33#include <osmocom/sabp/SABP_Number-Of-Broadcasts-Completed-Info.h>
34#include <osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List-Item.h>
35#include <osmocom/sabp/SABP_Number-of-Broadcasts-Completed-List.h>
36#include <osmocom/sabp/SABP_Number-of-Broadcasts-Requested.h>
37#include <osmocom/sabp/SABP_Old-Serial-Number.h>
38#include <osmocom/sabp/SABP_Paging-ETWS-Indicator.h>
39#include <osmocom/sabp/SABP_Presence.h>
40#include <osmocom/sabp/SABP_ProcedureCode.h>
41#include <osmocom/sabp/SABP_ProtocolExtensionID.h>
42#include <osmocom/sabp/SABP_ProtocolIE-ID.h>
43#include <osmocom/sabp/SABP_Radio-Resource-Loading-List-Item.h>
44#include <osmocom/sabp/SABP_Radio-Resource-Loading-List.h>
45#include <osmocom/sabp/SABP_Recovery-Indication.h>
46#include <osmocom/sabp/SABP_Repetition-Period.h>
47#include <osmocom/sabp/SABP_RepetitionNumber0.h>
48#include <osmocom/sabp/SABP_RepetitionNumber1.h>
49#include <osmocom/sabp/SABP_Reset-Complete.h>
50#include <osmocom/sabp/SABP_Reset-Failure.h>
51#include <osmocom/sabp/SABP_Reset.h>
52#include <osmocom/sabp/SABP_Restart.h>
53#include <osmocom/sabp/SABP_SABP-PDU.h>
54#include <osmocom/sabp/SABP_Serial-Number.h>
55#include <osmocom/sabp/SABP_Service-Area-Identifier.h>
56#include <osmocom/sabp/SABP_Service-Areas-List.h>
57#include <osmocom/sabp/SABP_SuccessfulOutcome.h>
58#include <osmocom/sabp/SABP_TriggeringMessage.h>
59#include <osmocom/sabp/SABP_TypeOfError.h>
60#include <osmocom/sabp/SABP_UnsuccessfulOutcome.h>
61#include <osmocom/sabp/SABP_Warning-Type.h>
62#include <osmocom/sabp/SABP_WarningSecurityInfo.h>
63#include <osmocom/sabp/SABP_Write-Replace-Complete.h>
64#include <osmocom/sabp/SABP_Write-Replace-Failure.h>
65#include <osmocom/sabp/SABP_Write-Replace.h>
66
67#if (ASN1C_ENVIRONMENT_VERSION < 924)
68# error "You are compiling with the wrong version of ASN1C"
69#endif
70
71#include <osmocom/core/logging.h>
72#include <osmocom/core/utils.h>
73#include <osmocom/sabp/sabp_ies_defs.h>
74
75#define SABP_DEBUG(x, args ...) DEBUGP(_sabp_DSABP, x, ## args)
76extern int _sabp_DSABP;
77
78extern int asn1_xer_print;
79
80extern const struct value_string sabp_presence_vals[];
81extern const struct value_string sabp_procedure_code_vals[];
82extern const struct value_string sabp_cause_vals[];
83
84struct msgb *sabp_generate_initiating_message(e_SABP_ProcedureCode procedureCode,
85 SABP_Criticality_t criticality,
86 asn_TYPE_descriptor_t *td, void *sptr);
87
88struct msgb *sabp_generate_successful_outcome(
89 e_SABP_ProcedureCode procedureCode,
90 SABP_Criticality_t criticality,
91 asn_TYPE_descriptor_t * td,
92 void *sptr);
93
94struct msgb *sabp_generate_unsuccessful_outcome(
95 e_SABP_ProcedureCode procedureCode,
96 SABP_Criticality_t criticality,
97 asn_TYPE_descriptor_t * td,
98 void *sptr);
99
100SABP_IE_t *sabp_new_ie(SABP_ProtocolIE_ID_t id,
101 SABP_Criticality_t criticality,
102 asn_TYPE_descriptor_t * type, void *sptr);
103
104void sabp_set_log_area(int log_area);