add ffasn1c generated code for HNBAP, RANAP and RUA
diff --git a/asn1/rua/ffasn1c/out.h b/asn1/rua/ffasn1c/out.h
new file mode 100644
index 0000000..7d102f1
--- /dev/null
+++ b/asn1/rua/ffasn1c/out.h
@@ -0,0 +1,683 @@
+/* Automatically generated file - do not edit */
+#ifndef _FFASN1_OUT_H
+#define _FFASN1_OUT_H
+
+#include "asn1defs.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef enum Criticality {
+ Criticality_reject,
+ Criticality_ignore,
+ Criticality_notify,
+} Criticality;
+
+extern const ASN1CType asn1_type_Criticality[];
+
+typedef enum Presence {
+ Presence_optional,
+ Presence_conditional,
+ Presence_mandatory,
+} Presence;
+
+extern const ASN1CType asn1_type_Presence[];
+
+typedef int ProcedureCode;
+
+extern const ASN1CType asn1_type_ProcedureCode[];
+
+typedef enum {
+ PrivateIE_ID_local,
+ PrivateIE_ID_global,
+} PrivateIE_ID_choice;
+
+typedef struct PrivateIE_ID {
+ PrivateIE_ID_choice choice;
+ union {
+ int local;
+ ASN1ObjectIdentifier global;
+ } u;
+} PrivateIE_ID;
+
+extern const ASN1CType asn1_type_PrivateIE_ID[];
+
+typedef int ProtocolIE_ID;
+
+extern const ASN1CType asn1_type_ProtocolIE_ID[];
+
+typedef enum TriggeringMessage {
+ TriggeringMessage_initiating_message,
+ TriggeringMessage_successful_outcome,
+ TriggeringMessage_unsuccessful_outcome,
+} TriggeringMessage;
+
+extern const ASN1CType asn1_type_TriggeringMessage[];
+
+typedef struct RUA_PRIVATE_IES { /* object class definition */
+ ASN1CType id;
+ ASN1CType criticality;
+ ASN1CType Value;
+ ASN1CType presence;
+} RUA_PRIVATE_IES;
+
+
+extern const ASN1CType asn1_type_RUA_PRIVATE_IES[];
+
+typedef struct RUA_PROTOCOL_IES { /* object class definition */
+ ASN1CType id;
+ ASN1CType criticality;
+ ASN1CType Value;
+ ASN1CType presence;
+} RUA_PROTOCOL_IES;
+
+
+extern const ASN1CType asn1_type_RUA_PROTOCOL_IES[];
+
+typedef struct RUA_PROTOCOL_EXTENSION { /* object class definition */
+ ASN1CType id;
+ ASN1CType criticality;
+ ASN1CType Extension;
+ ASN1CType presence;
+} RUA_PROTOCOL_EXTENSION;
+
+
+extern const ASN1CType asn1_type_RUA_PROTOCOL_EXTENSION[];
+
+typedef enum CN_DomainIndicator {
+ CN_DomainIndicator_cs_domain,
+ CN_DomainIndicator_ps_domain,
+} CN_DomainIndicator;
+
+extern const ASN1CType asn1_type_CN_DomainIndicator[];
+
+typedef enum CSGMembershipStatus {
+ CSGMembershipStatus_member,
+ CSGMembershipStatus_non_member,
+} CSGMembershipStatus;
+
+extern const ASN1CType asn1_type_CSGMembershipStatus[];
+
+typedef enum Establishment_Cause {
+ Establishment_Cause_emergency_call,
+ Establishment_Cause_normal_call,
+} Establishment_Cause;
+
+extern const ASN1CType asn1_type_Establishment_Cause[];
+
+typedef ASN1BitString Context_ID;
+
+extern const ASN1CType asn1_type_Context_ID[];
+
+typedef ASN1BitString RoutingParameter;
+
+extern const ASN1CType asn1_type_RoutingParameter[];
+
+typedef struct Gsm_map_IDNNS_1 {
+ RoutingParameter routingparameter;
+} Gsm_map_IDNNS_1;
+
+
+extern const ASN1CType asn1_type_Gsm_map_IDNNS_1[];
+
+typedef struct Gsm_map_IDNNS_2 {
+ RoutingParameter routingparameter;
+} Gsm_map_IDNNS_2;
+
+
+extern const ASN1CType asn1_type_Gsm_map_IDNNS_2[];
+
+typedef struct Gsm_map_IDNNS_3 {
+ RoutingParameter routingparameter;
+} Gsm_map_IDNNS_3;
+
+
+extern const ASN1CType asn1_type_Gsm_map_IDNNS_3[];
+
+typedef struct Gsm_map_IDNNS_4 {
+ RoutingParameter routingparameter;
+} Gsm_map_IDNNS_4;
+
+
+extern const ASN1CType asn1_type_Gsm_map_IDNNS_4[];
+
+typedef struct Gsm_map_IDNNS_5 {
+ RoutingParameter routingparameter;
+} Gsm_map_IDNNS_5;
+
+
+extern const ASN1CType asn1_type_Gsm_map_IDNNS_5[];
+
+typedef struct Gsm_map_IDNNS_6 {
+ RoutingParameter routingparameter;
+} Gsm_map_IDNNS_6;
+
+
+extern const ASN1CType asn1_type_Gsm_map_IDNNS_6[];
+
+typedef struct Gsm_map_IDNNS_7 {
+ RoutingParameter routingparameter;
+} Gsm_map_IDNNS_7;
+
+
+extern const ASN1CType asn1_type_Gsm_map_IDNNS_7[];
+
+typedef struct Gsm_map_IDNNS_8 {
+ RoutingParameter routingparameter;
+} Gsm_map_IDNNS_8;
+
+
+extern const ASN1CType asn1_type_Gsm_map_IDNNS_8[];
+
+typedef enum {
+ Gsm_map_IDNNS_9_localPTMSI,
+ Gsm_map_IDNNS_9_tMSIofsamePLMN,
+ Gsm_map_IDNNS_9_tMSIofdifferentPLMN,
+ Gsm_map_IDNNS_9_iMSIresponsetopaging,
+ Gsm_map_IDNNS_9_iMSIcauseUEinitiatedEvent,
+ Gsm_map_IDNNS_9_iMEI,
+ Gsm_map_IDNNS_9_spare2,
+ Gsm_map_IDNNS_9_spare1,
+} Gsm_map_IDNNS_9_choice;
+
+typedef struct Gsm_map_IDNNS_9 {
+ Gsm_map_IDNNS_9_choice choice;
+ union {
+ Gsm_map_IDNNS_1 localPTMSI;
+ Gsm_map_IDNNS_2 tMSIofsamePLMN;
+ Gsm_map_IDNNS_3 tMSIofdifferentPLMN;
+ Gsm_map_IDNNS_4 iMSIresponsetopaging;
+ Gsm_map_IDNNS_5 iMSIcauseUEinitiatedEvent;
+ Gsm_map_IDNNS_6 iMEI;
+ Gsm_map_IDNNS_7 spare2;
+ Gsm_map_IDNNS_8 spare1;
+ } u;
+} Gsm_map_IDNNS_9;
+
+extern const ASN1CType asn1_type_Gsm_map_IDNNS_9[];
+
+typedef struct Gsm_map_IDNNS {
+ Gsm_map_IDNNS_9 routingbasis;
+ BOOL dummy;
+} Gsm_map_IDNNS;
+
+
+extern const ASN1CType asn1_type_Gsm_map_IDNNS[];
+
+typedef ASN1BitString Ansi_41_IDNNS;
+
+extern const ASN1CType asn1_type_Ansi_41_IDNNS[];
+
+typedef enum {
+ IntraDomainNasNodeSelector_1_gsm_Map_IDNNS,
+ IntraDomainNasNodeSelector_1_ansi_41_IDNNS,
+} IntraDomainNasNodeSelector_1_choice;
+
+typedef struct IntraDomainNasNodeSelector_1 {
+ IntraDomainNasNodeSelector_1_choice choice;
+ union {
+ Gsm_map_IDNNS gsm_Map_IDNNS;
+ Ansi_41_IDNNS ansi_41_IDNNS;
+ } u;
+} IntraDomainNasNodeSelector_1;
+
+extern const ASN1CType asn1_type_IntraDomainNasNodeSelector_1[];
+
+typedef struct IntraDomainNasNodeSelector_2 {
+ IntraDomainNasNodeSelector_1 cn_Type;
+} IntraDomainNasNodeSelector_2;
+
+
+extern const ASN1CType asn1_type_IntraDomainNasNodeSelector_2[];
+
+typedef struct IntraDomainNasNodeSelector_3 {
+ ASN1BitString futurecoding;
+} IntraDomainNasNodeSelector_3;
+
+
+extern const ASN1CType asn1_type_IntraDomainNasNodeSelector_3[];
+
+typedef enum {
+ IntraDomainNasNodeSelector_4_release99,
+ IntraDomainNasNodeSelector_4_later,
+} IntraDomainNasNodeSelector_4_choice;
+
+typedef struct IntraDomainNasNodeSelector_4 {
+ IntraDomainNasNodeSelector_4_choice choice;
+ union {
+ IntraDomainNasNodeSelector_2 release99;
+ IntraDomainNasNodeSelector_3 later;
+ } u;
+} IntraDomainNasNodeSelector_4;
+
+extern const ASN1CType asn1_type_IntraDomainNasNodeSelector_4[];
+
+typedef struct IntraDomainNasNodeSelector {
+ IntraDomainNasNodeSelector_4 version;
+} IntraDomainNasNodeSelector;
+
+
+extern const ASN1CType asn1_type_IntraDomainNasNodeSelector[];
+
+typedef ASN1String RANAP_Message;
+
+extern const ASN1CType asn1_type_RANAP_Message[];
+
+typedef enum CauseRadioNetwork {
+ CauseRadioNetwork_normal,
+ CauseRadioNetwork_connect_failed,
+ CauseRadioNetwork_network_release,
+ CauseRadioNetwork_unspecified,
+} CauseRadioNetwork;
+
+extern const ASN1CType asn1_type_CauseRadioNetwork[];
+
+typedef enum CauseTransport {
+ CauseTransport_transport_resource_unavailable,
+ CauseTransport_unspecified,
+} CauseTransport;
+
+extern const ASN1CType asn1_type_CauseTransport[];
+
+typedef enum CauseProtocol {
+ CauseProtocol_transfer_syntax_error,
+ CauseProtocol_abstract_syntax_error_reject,
+ CauseProtocol_abstract_syntax_error_ignore_and_notify,
+ CauseProtocol_message_not_compatible_with_receiver_state,
+ CauseProtocol_semantic_error,
+ CauseProtocol_unspecified,
+ CauseProtocol_abstract_syntax_error_falsely_constructed_message,
+} CauseProtocol;
+
+extern const ASN1CType asn1_type_CauseProtocol[];
+
+typedef enum CauseMisc {
+ CauseMisc_processing_overload,
+ CauseMisc_hardware_failure,
+ CauseMisc_o_and_m_intervention,
+ CauseMisc_unspecified,
+} CauseMisc;
+
+extern const ASN1CType asn1_type_CauseMisc[];
+
+typedef enum {
+ Cause_radioNetwork,
+ Cause_transport,
+ Cause_protocol,
+ Cause_misc,
+} Cause_choice;
+
+typedef struct Cause {
+ Cause_choice choice;
+ union {
+ CauseRadioNetwork radioNetwork;
+ CauseTransport transport;
+ CauseProtocol protocol;
+ CauseMisc misc;
+ } u;
+} Cause;
+
+extern const ASN1CType asn1_type_Cause[];
+
+typedef enum TypeOfError {
+ TypeOfError_not_understood,
+ TypeOfError_missing,
+} TypeOfError;
+
+extern const ASN1CType asn1_type_TypeOfError[];
+
+typedef struct ProtocolExtensionField_2 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType extensionValue;
+} ProtocolExtensionField_2;
+
+
+extern const ASN1CType asn1_type_ProtocolExtensionField_2[];
+
+typedef struct ProtocolExtensionContainer_2 {
+ ProtocolExtensionField_2 *tab;
+ int count;
+} ProtocolExtensionContainer_2;
+
+extern const ASN1CType asn1_type_ProtocolExtensionContainer_2[];
+
+typedef struct CriticalityDiagnostics_IE_List_1 {
+ Criticality iECriticality;
+ ProtocolIE_ID iE_ID;
+ TypeOfError typeOfError;
+ BOOL iE_Extensions_option;
+ ProtocolExtensionContainer_2 iE_Extensions;
+} CriticalityDiagnostics_IE_List_1;
+
+
+extern const ASN1CType asn1_type_CriticalityDiagnostics_IE_List_1[];
+
+typedef struct CriticalityDiagnostics_IE_List {
+ CriticalityDiagnostics_IE_List_1 *tab;
+ int count;
+} CriticalityDiagnostics_IE_List;
+
+extern const ASN1CType asn1_type_CriticalityDiagnostics_IE_List[];
+
+typedef struct ProtocolExtensionField_1 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType extensionValue;
+} ProtocolExtensionField_1;
+
+
+extern const ASN1CType asn1_type_ProtocolExtensionField_1[];
+
+typedef struct ProtocolExtensionContainer_1 {
+ ProtocolExtensionField_1 *tab;
+ int count;
+} ProtocolExtensionContainer_1;
+
+extern const ASN1CType asn1_type_ProtocolExtensionContainer_1[];
+
+typedef struct CriticalityDiagnostics {
+ BOOL procedureCode_option;
+ ProcedureCode procedureCode;
+ BOOL triggeringMessage_option;
+ TriggeringMessage triggeringMessage;
+ BOOL procedureCriticality_option;
+ Criticality procedureCriticality;
+ BOOL iEsCriticalityDiagnostics_option;
+ CriticalityDiagnostics_IE_List iEsCriticalityDiagnostics;
+ BOOL iE_Extensions_option;
+ ProtocolExtensionContainer_1 iE_Extensions;
+} CriticalityDiagnostics;
+
+
+extern const ASN1CType asn1_type_CriticalityDiagnostics[];
+
+typedef struct ProtocolIE_Field_1 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType value;
+} ProtocolIE_Field_1;
+
+
+extern const ASN1CType asn1_type_ProtocolIE_Field_1[];
+
+typedef struct ProtocolIE_Container_1 {
+ ProtocolIE_Field_1 *tab;
+ int count;
+} ProtocolIE_Container_1;
+
+extern const ASN1CType asn1_type_ProtocolIE_Container_1[];
+
+typedef struct ProtocolExtensionField_3 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType extensionValue;
+} ProtocolExtensionField_3;
+
+
+extern const ASN1CType asn1_type_ProtocolExtensionField_3[];
+
+typedef struct ProtocolExtensionContainer_3 {
+ ProtocolExtensionField_3 *tab;
+ int count;
+} ProtocolExtensionContainer_3;
+
+extern const ASN1CType asn1_type_ProtocolExtensionContainer_3[];
+
+typedef struct Connect {
+ ProtocolIE_Container_1 protocolIEs;
+ BOOL protocolExtensions_option;
+ ProtocolExtensionContainer_3 protocolExtensions;
+} Connect;
+
+
+extern const ASN1CType asn1_type_Connect[];
+
+typedef struct ProtocolIE_Field_2 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType value;
+} ProtocolIE_Field_2;
+
+
+extern const ASN1CType asn1_type_ProtocolIE_Field_2[];
+
+typedef struct ProtocolIE_Container_2 {
+ ProtocolIE_Field_2 *tab;
+ int count;
+} ProtocolIE_Container_2;
+
+extern const ASN1CType asn1_type_ProtocolIE_Container_2[];
+
+typedef struct ProtocolExtensionField_4 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType extensionValue;
+} ProtocolExtensionField_4;
+
+
+extern const ASN1CType asn1_type_ProtocolExtensionField_4[];
+
+typedef struct ProtocolExtensionContainer_4 {
+ ProtocolExtensionField_4 *tab;
+ int count;
+} ProtocolExtensionContainer_4;
+
+extern const ASN1CType asn1_type_ProtocolExtensionContainer_4[];
+
+typedef struct DirectTransfer {
+ ProtocolIE_Container_2 protocolIEs;
+ BOOL protocolExtensions_option;
+ ProtocolExtensionContainer_4 protocolExtensions;
+} DirectTransfer;
+
+
+extern const ASN1CType asn1_type_DirectTransfer[];
+
+typedef struct ProtocolIE_Field_3 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType value;
+} ProtocolIE_Field_3;
+
+
+extern const ASN1CType asn1_type_ProtocolIE_Field_3[];
+
+typedef struct ProtocolIE_Container_3 {
+ ProtocolIE_Field_3 *tab;
+ int count;
+} ProtocolIE_Container_3;
+
+extern const ASN1CType asn1_type_ProtocolIE_Container_3[];
+
+typedef struct ProtocolExtensionField_5 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType extensionValue;
+} ProtocolExtensionField_5;
+
+
+extern const ASN1CType asn1_type_ProtocolExtensionField_5[];
+
+typedef struct ProtocolExtensionContainer_5 {
+ ProtocolExtensionField_5 *tab;
+ int count;
+} ProtocolExtensionContainer_5;
+
+extern const ASN1CType asn1_type_ProtocolExtensionContainer_5[];
+
+typedef struct Disconnect {
+ ProtocolIE_Container_3 protocolIEs;
+ BOOL protocolExtensions_option;
+ ProtocolExtensionContainer_5 protocolExtensions;
+} Disconnect;
+
+
+extern const ASN1CType asn1_type_Disconnect[];
+
+typedef struct ProtocolIE_Field_4 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType value;
+} ProtocolIE_Field_4;
+
+
+extern const ASN1CType asn1_type_ProtocolIE_Field_4[];
+
+typedef struct ProtocolIE_Container_4 {
+ ProtocolIE_Field_4 *tab;
+ int count;
+} ProtocolIE_Container_4;
+
+extern const ASN1CType asn1_type_ProtocolIE_Container_4[];
+
+typedef struct ProtocolExtensionField_6 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType extensionValue;
+} ProtocolExtensionField_6;
+
+
+extern const ASN1CType asn1_type_ProtocolExtensionField_6[];
+
+typedef struct ProtocolExtensionContainer_6 {
+ ProtocolExtensionField_6 *tab;
+ int count;
+} ProtocolExtensionContainer_6;
+
+extern const ASN1CType asn1_type_ProtocolExtensionContainer_6[];
+
+typedef struct ConnectionlessTransfer {
+ ProtocolIE_Container_4 protocolIEs;
+ BOOL protocolExtensions_option;
+ ProtocolExtensionContainer_6 protocolExtensions;
+} ConnectionlessTransfer;
+
+
+extern const ASN1CType asn1_type_ConnectionlessTransfer[];
+
+typedef struct ProtocolIE_Field_5 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType value;
+} ProtocolIE_Field_5;
+
+
+extern const ASN1CType asn1_type_ProtocolIE_Field_5[];
+
+typedef struct ProtocolIE_Container_5 {
+ ProtocolIE_Field_5 *tab;
+ int count;
+} ProtocolIE_Container_5;
+
+extern const ASN1CType asn1_type_ProtocolIE_Container_5[];
+
+typedef struct ProtocolExtensionField_7 {
+ ProtocolIE_ID id;
+ Criticality criticality;
+ ASN1OpenType extensionValue;
+} ProtocolExtensionField_7;
+
+
+extern const ASN1CType asn1_type_ProtocolExtensionField_7[];
+
+typedef struct ProtocolExtensionContainer_7 {
+ ProtocolExtensionField_7 *tab;
+ int count;
+} ProtocolExtensionContainer_7;
+
+extern const ASN1CType asn1_type_ProtocolExtensionContainer_7[];
+
+typedef struct ErrorIndication {
+ ProtocolIE_Container_5 protocolIEs;
+ BOOL protocolExtensions_option;
+ ProtocolExtensionContainer_7 protocolExtensions;
+} ErrorIndication;
+
+
+extern const ASN1CType asn1_type_ErrorIndication[];
+
+typedef struct PrivateIE_Field_1 {
+ PrivateIE_ID id;
+ Criticality criticality;
+ ASN1OpenType value;
+} PrivateIE_Field_1;
+
+
+extern const ASN1CType asn1_type_PrivateIE_Field_1[];
+
+typedef struct PrivateIE_Container_1 {
+ PrivateIE_Field_1 *tab;
+ int count;
+} PrivateIE_Container_1;
+
+extern const ASN1CType asn1_type_PrivateIE_Container_1[];
+
+typedef struct PrivateMessage {
+ PrivateIE_Container_1 privateIEs;
+} PrivateMessage;
+
+
+extern const ASN1CType asn1_type_PrivateMessage[];
+
+typedef struct RUA_ELEMENTARY_PROCEDURE { /* object class definition */
+ ASN1CType InitiatingMessage;
+ ASN1CType SuccessfulOutcome;
+ ASN1CType UnsuccessfulOutcome;
+ ASN1CType procedureCode;
+ ASN1CType criticality;
+} RUA_ELEMENTARY_PROCEDURE;
+
+
+extern const ASN1CType asn1_type_RUA_ELEMENTARY_PROCEDURE[];
+
+typedef struct InitiatingMessage {
+ ProcedureCode procedureCode;
+ Criticality criticality;
+ ASN1OpenType value;
+} InitiatingMessage;
+
+
+extern const ASN1CType asn1_type_InitiatingMessage[];
+
+typedef struct SuccessfulOutcome {
+ ProcedureCode procedureCode;
+ Criticality criticality;
+ ASN1OpenType value;
+} SuccessfulOutcome;
+
+
+extern const ASN1CType asn1_type_SuccessfulOutcome[];
+
+typedef struct UnsuccessfulOutcome {
+ ProcedureCode procedureCode;
+ Criticality criticality;
+ ASN1OpenType value;
+} UnsuccessfulOutcome;
+
+
+extern const ASN1CType asn1_type_UnsuccessfulOutcome[];
+
+typedef enum {
+ RUA_PDU_initiatingMessage,
+ RUA_PDU_successfulOutcome,
+ RUA_PDU_unsuccessfulOutcome,
+} RUA_PDU_choice;
+
+typedef struct RUA_PDU {
+ RUA_PDU_choice choice;
+ union {
+ InitiatingMessage initiatingMessage;
+ SuccessfulOutcome successfulOutcome;
+ UnsuccessfulOutcome unsuccessfulOutcome;
+ } u;
+} RUA_PDU;
+
+extern const ASN1CType asn1_type_RUA_PDU[];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _FFASN1_OUT_H */