diff --git a/3rdparty/libe2ap/NRFreqInfo.h b/3rdparty/libe2ap/NRFreqInfo.h
new file mode 100644
index 0000000..0e3fe2a
--- /dev/null
+++ b/3rdparty/libe2ap/NRFreqInfo.h
@@ -0,0 +1,59 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "X2AP-IEs"
+ * 	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	_NRFreqInfo_H_
+#define	_NRFreqInfo_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "NativeInteger.h"
+#include "asn_SEQUENCE_OF.h"
+#include "constr_SEQUENCE_OF.h"
+#include "constr_SEQUENCE.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct SULInformation;
+struct ProtocolExtensionContainer;
+struct FreqBandNrItem;
+
+/* NRFreqInfo */
+typedef struct NRFreqInfo {
+	long	 nRARFCN;
+	struct NRFreqInfo__freqBandListNr {
+		A_SEQUENCE_OF(struct FreqBandNrItem) list;
+		
+		/* Context for parsing across buffer boundaries */
+		asn_struct_ctx_t _asn_ctx;
+	} freqBandListNr;
+	struct SULInformation	*sULInformation;	/* OPTIONAL */
+	struct ProtocolExtensionContainer	*iE_Extensions;	/* OPTIONAL */
+	/*
+	 * This type is extensible,
+	 * possible extensions are below.
+	 */
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} NRFreqInfo_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_NRFreqInfo;
+extern asn_SEQUENCE_specifics_t asn_SPC_NRFreqInfo_specs_1;
+extern asn_TYPE_member_t asn_MBR_NRFreqInfo_1[4];
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _NRFreqInfo_H_ */
+#include "asn_internal.h"
