RICPLT-2910

libe2ap library updated and moved to 3rdparty directory
e2ap_wrapper library to be used from go:
 - message wrappers (used now only in tests)
 - function wrappers that manipulates message
Go wrappers for messages
Initial unittest implementation.

Change-Id: Ie77cc2ae90b83b12e5c738e6f570fe4661961da6
Signed-off-by: Juha Hyttinen <juha.hyttinen@nokia.com>
diff --git a/3rdparty/libe2ap/ProtocolIE-ID.h b/3rdparty/libe2ap/ProtocolIE-ID.h
new file mode 100644
index 0000000..558b9c1
--- /dev/null
+++ b/3rdparty/libe2ap/ProtocolIE-ID.h
@@ -0,0 +1,172 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "X2AP-CommonDataTypes"
+ * 	found in "Spec/e2_and_x2-combined-and-minimized.asn1"
+ * 	`asn1c -pdu=auto -fincludes-quoted -fcompound-names -fno-include-deps -gen-PER -no-gen-OER -no-gen-example`
+ */
+
+#ifndef	_ProtocolIE_ID_H_
+#define	_ProtocolIE_ID_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "NativeInteger.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ProtocolIE-ID */
+typedef long	 ProtocolIE_ID_t;
+
+/* Implementation */
+#define ProtocolIE_ID_id_RANfunction_Item	((ProtocolIE_ID_t)60001)
+#define ProtocolIE_ID_id_RANfunctionDefinition	((ProtocolIE_ID_t)60002)
+#define ProtocolIE_ID_id_RANfunctionID	((ProtocolIE_ID_t)60003)
+#define ProtocolIE_ID_id_RANfunctionID_Item	((ProtocolIE_ID_t)60004)
+#define ProtocolIE_ID_id_RANfunctionIEcause_Item	((ProtocolIE_ID_t)60005)
+#define ProtocolIE_ID_id_RANfunctionsAccepted	((ProtocolIE_ID_t)60006)
+#define ProtocolIE_ID_id_RANfunctionsAdded	((ProtocolIE_ID_t)60007)
+#define ProtocolIE_ID_id_RANfunctionsDeleted	((ProtocolIE_ID_t)60008)
+#define ProtocolIE_ID_id_RANfunctionsModified	((ProtocolIE_ID_t)60009)
+#define ProtocolIE_ID_id_RANfunctionsRejected	((ProtocolIE_ID_t)60010)
+#define ProtocolIE_ID_id_RICaction_ToBeSetup_Item	((ProtocolIE_ID_t)60011)
+#define ProtocolIE_ID_id_RICactions_Admitted	((ProtocolIE_ID_t)60012)
+#define ProtocolIE_ID_id_RICaction_Admitted_Item	((ProtocolIE_ID_t)60013)
+#define ProtocolIE_ID_id_RICactions_NotAdmitted	((ProtocolIE_ID_t)60014)
+#define ProtocolIE_ID_id_RICaction_NotAdmitted_Item	((ProtocolIE_ID_t)60015)
+#define ProtocolIE_ID_id_RICactionDefinition	((ProtocolIE_ID_t)60016)
+#define ProtocolIE_ID_id_RICactionID	((ProtocolIE_ID_t)60017)
+#define ProtocolIE_ID_id_RICactionType	((ProtocolIE_ID_t)60018)
+#define ProtocolIE_ID_id_RICcallProcessID	((ProtocolIE_ID_t)60019)
+#define ProtocolIE_ID_id_RICcause	((ProtocolIE_ID_t)60020)
+#define ProtocolIE_ID_id_RICcontrolAckRequest	((ProtocolIE_ID_t)60021)
+#define ProtocolIE_ID_id_RICcontrolHeader	((ProtocolIE_ID_t)60022)
+#define ProtocolIE_ID_id_RICcontrolMessage	((ProtocolIE_ID_t)60023)
+#define ProtocolIE_ID_id_RICcontrolStatus	((ProtocolIE_ID_t)60024)
+#define ProtocolIE_ID_id_RICeventTriggerDefinition	((ProtocolIE_ID_t)60025)
+#define ProtocolIE_ID_id_RICindicationHeader	((ProtocolIE_ID_t)60026)
+#define ProtocolIE_ID_id_RICindicationMessage	((ProtocolIE_ID_t)60027)
+#define ProtocolIE_ID_id_RICindicationSN	((ProtocolIE_ID_t)60028)
+#define ProtocolIE_ID_id_RICindicationType	((ProtocolIE_ID_t)60029)
+#define ProtocolIE_ID_id_RICrequestID	((ProtocolIE_ID_t)60030)
+#define ProtocolIE_ID_id_RICrequestorID	((ProtocolIE_ID_t)60031)
+#define ProtocolIE_ID_id_RICrequestSequenceNumber	((ProtocolIE_ID_t)60032)
+#define ProtocolIE_ID_id_RICsubscription	((ProtocolIE_ID_t)60033)
+#define ProtocolIE_ID_id_RICsubsequentAction	((ProtocolIE_ID_t)60034)
+#define ProtocolIE_ID_id_RICsubsequentActionType	((ProtocolIE_ID_t)60035)
+#define ProtocolIE_ID_id_RICtimeToWait	((ProtocolIE_ID_t)60036)
+extern asn_per_constraints_t asn_PER_type_ProtocolIE_ID_constr_1;
+extern asn_TYPE_descriptor_t asn_DEF_ProtocolIE_ID;
+asn_struct_free_f ProtocolIE_ID_free;
+asn_struct_print_f ProtocolIE_ID_print;
+asn_constr_check_f ProtocolIE_ID_constraint;
+ber_type_decoder_f ProtocolIE_ID_decode_ber;
+der_type_encoder_f ProtocolIE_ID_encode_der;
+xer_type_decoder_f ProtocolIE_ID_decode_xer;
+xer_type_encoder_f ProtocolIE_ID_encode_xer;
+per_type_decoder_f ProtocolIE_ID_decode_uper;
+per_type_encoder_f ProtocolIE_ID_encode_uper;
+per_type_decoder_f ProtocolIE_ID_decode_aper;
+per_type_encoder_f ProtocolIE_ID_encode_aper;
+#define ProtocolIE_ID_id_Cause	((ProtocolIE_ID_t)5)
+#define ProtocolIE_ID_id_CellInformation	((ProtocolIE_ID_t)6)
+#define ProtocolIE_ID_id_CellInformation_Item	((ProtocolIE_ID_t)7)
+#define ProtocolIE_ID_id_New_eNB_UE_X2AP_ID	((ProtocolIE_ID_t)9)
+#define ProtocolIE_ID_id_Old_eNB_UE_X2AP_ID	((ProtocolIE_ID_t)10)
+#define ProtocolIE_ID_id_CriticalityDiagnostics	((ProtocolIE_ID_t)17)
+#define ProtocolIE_ID_id_ServedCells	((ProtocolIE_ID_t)20)
+#define ProtocolIE_ID_id_GlobalENB_ID	((ProtocolIE_ID_t)21)
+#define ProtocolIE_ID_id_TimeToWait	((ProtocolIE_ID_t)22)
+#define ProtocolIE_ID_id_GUGroupIDList	((ProtocolIE_ID_t)24)
+#define ProtocolIE_ID_id_ServedCellsToAdd	((ProtocolIE_ID_t)25)
+#define ProtocolIE_ID_id_ServedCellsToModify	((ProtocolIE_ID_t)26)
+#define ProtocolIE_ID_id_ServedCellsToDelete	((ProtocolIE_ID_t)27)
+#define ProtocolIE_ID_id_Registration_Request	((ProtocolIE_ID_t)28)
+#define ProtocolIE_ID_id_CellToReport	((ProtocolIE_ID_t)29)
+#define ProtocolIE_ID_id_ReportingPeriodicity	((ProtocolIE_ID_t)30)
+#define ProtocolIE_ID_id_CellToReport_Item	((ProtocolIE_ID_t)31)
+#define ProtocolIE_ID_id_CellMeasurementResult	((ProtocolIE_ID_t)32)
+#define ProtocolIE_ID_id_CellMeasurementResult_Item	((ProtocolIE_ID_t)33)
+#define ProtocolIE_ID_id_GUGroupIDToAddList	((ProtocolIE_ID_t)34)
+#define ProtocolIE_ID_id_GUGroupIDToDeleteList	((ProtocolIE_ID_t)35)
+#define ProtocolIE_ID_id_ReportCharacteristics	((ProtocolIE_ID_t)38)
+#define ProtocolIE_ID_id_ENB1_Measurement_ID	((ProtocolIE_ID_t)39)
+#define ProtocolIE_ID_id_ENB2_Measurement_ID	((ProtocolIE_ID_t)40)
+#define ProtocolIE_ID_id_Number_of_Antennaports	((ProtocolIE_ID_t)41)
+#define ProtocolIE_ID_id_CompositeAvailableCapacityGroup	((ProtocolIE_ID_t)42)
+#define ProtocolIE_ID_id_PRACH_Configuration	((ProtocolIE_ID_t)55)
+#define ProtocolIE_ID_id_MBSFN_Subframe_Info	((ProtocolIE_ID_t)56)
+#define ProtocolIE_ID_id_DeactivationIndication	((ProtocolIE_ID_t)59)
+#define ProtocolIE_ID_id_ABSInformation	((ProtocolIE_ID_t)61)
+#define ProtocolIE_ID_id_InvokeIndication	((ProtocolIE_ID_t)62)
+#define ProtocolIE_ID_id_ABS_Status	((ProtocolIE_ID_t)63)
+#define ProtocolIE_ID_id_PartialSuccessIndicator	((ProtocolIE_ID_t)64)
+#define ProtocolIE_ID_id_MeasurementInitiationResult_List	((ProtocolIE_ID_t)65)
+#define ProtocolIE_ID_id_MeasurementInitiationResult_Item	((ProtocolIE_ID_t)66)
+#define ProtocolIE_ID_id_MeasurementFailureCause_Item	((ProtocolIE_ID_t)67)
+#define ProtocolIE_ID_id_CompleteFailureCauseInformation_List	((ProtocolIE_ID_t)68)
+#define ProtocolIE_ID_id_CompleteFailureCauseInformation_Item	((ProtocolIE_ID_t)69)
+#define ProtocolIE_ID_id_CSG_Id	((ProtocolIE_ID_t)70)
+#define ProtocolIE_ID_id_NeighbourTAC	((ProtocolIE_ID_t)76)
+#define ProtocolIE_ID_id_MBMS_Service_Area_List	((ProtocolIE_ID_t)79)
+#define ProtocolIE_ID_id_MultibandInfoList	((ProtocolIE_ID_t)84)
+#define ProtocolIE_ID_id_eARFCNExtension	((ProtocolIE_ID_t)94)
+#define ProtocolIE_ID_id_UL_EARFCNExtension	((ProtocolIE_ID_t)95)
+#define ProtocolIE_ID_id_DL_EARFCNExtension	((ProtocolIE_ID_t)96)
+#define ProtocolIE_ID_id_AdditionalSpecialSubframe_Info	((ProtocolIE_ID_t)97)
+#define ProtocolIE_ID_id_IntendedULDLConfiguration	((ProtocolIE_ID_t)99)
+#define ProtocolIE_ID_id_ExtendedULInterferenceOverloadInfo	((ProtocolIE_ID_t)100)
+#define ProtocolIE_ID_id_DynamicDLTransmissionInformation	((ProtocolIE_ID_t)106)
+#define ProtocolIE_ID_id_CoMPInformation	((ProtocolIE_ID_t)108)
+#define ProtocolIE_ID_id_ReportingPeriodicityRSRPMR	((ProtocolIE_ID_t)109)
+#define ProtocolIE_ID_id_RSRPMRList	((ProtocolIE_ID_t)110)
+#define ProtocolIE_ID_id_MeNB_UE_X2AP_ID	((ProtocolIE_ID_t)111)
+#define ProtocolIE_ID_id_SeNB_UE_X2AP_ID	((ProtocolIE_ID_t)112)
+#define ProtocolIE_ID_id_ResponseInformationSeNBReconfComp	((ProtocolIE_ID_t)123)
+#define ProtocolIE_ID_id_CoverageModificationList	((ProtocolIE_ID_t)143)
+#define ProtocolIE_ID_id_ReportingPeriodicityCSIR	((ProtocolIE_ID_t)145)
+#define ProtocolIE_ID_id_CSIReportList	((ProtocolIE_ID_t)146)
+#define ProtocolIE_ID_id_UEID	((ProtocolIE_ID_t)147)
+#define ProtocolIE_ID_id_enhancedRNTP	((ProtocolIE_ID_t)148)
+#define ProtocolIE_ID_id_New_eNB_UE_X2AP_ID_Extension	((ProtocolIE_ID_t)155)
+#define ProtocolIE_ID_id_Old_eNB_UE_X2AP_ID_Extension	((ProtocolIE_ID_t)156)
+#define ProtocolIE_ID_id_MeNB_UE_X2AP_ID_Extension	((ProtocolIE_ID_t)157)
+#define ProtocolIE_ID_id_SeNB_UE_X2AP_ID_Extension	((ProtocolIE_ID_t)158)
+#define ProtocolIE_ID_id_LHN_ID	((ProtocolIE_ID_t)159)
+#define ProtocolIE_ID_id_FreqBandIndicatorPriority	((ProtocolIE_ID_t)160)
+#define ProtocolIE_ID_id_CellReportingIndicator	((ProtocolIE_ID_t)170)
+#define ProtocolIE_ID_id_OffsetOfNbiotChannelNumberToDL_EARFCN	((ProtocolIE_ID_t)177)
+#define ProtocolIE_ID_id_OffsetOfNbiotChannelNumberToUL_EARFCN	((ProtocolIE_ID_t)178)
+#define ProtocolIE_ID_id_AdditionalSpecialSubframeExtension_Info	((ProtocolIE_ID_t)179)
+#define ProtocolIE_ID_id_BandwidthReducedSI	((ProtocolIE_ID_t)180)
+#define ProtocolIE_ID_id_DL_scheduling_PDCCH_CCE_usage	((ProtocolIE_ID_t)193)
+#define ProtocolIE_ID_id_UL_scheduling_PDCCH_CCE_usage	((ProtocolIE_ID_t)194)
+#define ProtocolIE_ID_id_SgNB_UE_X2AP_ID	((ProtocolIE_ID_t)207)
+#define ProtocolIE_ID_id_ResponseInformationSgNBReconfComp	((ProtocolIE_ID_t)214)
+#define ProtocolIE_ID_id_InitiatingNodeType_EndcX2Setup	((ProtocolIE_ID_t)244)
+#define ProtocolIE_ID_id_InitiatingNodeType_EndcConfigUpdate	((ProtocolIE_ID_t)245)
+#define ProtocolIE_ID_id_RespondingNodeType_EndcX2Setup	((ProtocolIE_ID_t)246)
+#define ProtocolIE_ID_id_RespondingNodeType_EndcConfigUpdate	((ProtocolIE_ID_t)247)
+#define ProtocolIE_ID_id_ServedEUTRAcellsENDCX2ManagementList	((ProtocolIE_ID_t)250)
+#define ProtocolIE_ID_id_CellAssistanceInformation	((ProtocolIE_ID_t)251)
+#define ProtocolIE_ID_id_Globalen_gNB_ID	((ProtocolIE_ID_t)252)
+#define ProtocolIE_ID_id_ServedNRcellsENDCX2ManagementList	((ProtocolIE_ID_t)253)
+#define ProtocolIE_ID_id_ServedEUTRAcellsToModifyListENDCConfUpd	((ProtocolIE_ID_t)259)
+#define ProtocolIE_ID_id_ServedEUTRAcellsToDeleteListENDCConfUpd	((ProtocolIE_ID_t)260)
+#define ProtocolIE_ID_id_ServedNRcellsToModifyListENDCConfUpd	((ProtocolIE_ID_t)261)
+#define ProtocolIE_ID_id_ServedNRcellsToDeleteListENDCConfUpd	((ProtocolIE_ID_t)262)
+#define ProtocolIE_ID_id_Old_SgNB_UE_X2AP_ID	((ProtocolIE_ID_t)264)
+#define ProtocolIE_ID_id_NRS_NSSS_PowerOffset	((ProtocolIE_ID_t)282)
+#define ProtocolIE_ID_id_NSSS_NumOccasionDifferentPrecoder	((ProtocolIE_ID_t)283)
+#define ProtocolIE_ID_id_ProtectedEUTRAResourceIndication	((ProtocolIE_ID_t)284)
+#define ProtocolIE_ID_id_GNBOverloadInformation	((ProtocolIE_ID_t)310)
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ProtocolIE_ID_H_ */
+#include "asn_internal.h"