diff --git a/3rdparty/libe2ap/ActionParameter-Value.h b/3rdparty/libe2ap/ActionParameter-Value.h
new file mode 100644
index 0000000..9074e2d
--- /dev/null
+++ b/3rdparty/libe2ap/ActionParameter-Value.h
@@ -0,0 +1,70 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "E2SM-gNB-X2-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	_ActionParameter_Value_H_
+#define	_ActionParameter_Value_H_
+
+
+#include "asn_application.h"
+
+/* Including external dependencies */
+#include "NativeInteger.h"
+#include "BOOLEAN.h"
+#include "BIT_STRING.h"
+#include "OCTET_STRING.h"
+#include "PrintableString.h"
+#include "constr_CHOICE.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum ActionParameter_Value_PR {
+	ActionParameter_Value_PR_NOTHING,	/* No components present */
+	ActionParameter_Value_PR_valueInt,
+	ActionParameter_Value_PR_valueEnum,
+	ActionParameter_Value_PR_valueBool,
+	ActionParameter_Value_PR_valueBitS,
+	ActionParameter_Value_PR_valueOctS,
+	ActionParameter_Value_PR_valuePrtS
+	/* Extensions may appear below */
+	
+} ActionParameter_Value_PR;
+
+/* ActionParameter-Value */
+typedef struct ActionParameter_Value {
+	ActionParameter_Value_PR present;
+	union ActionParameter_Value_u {
+		long	 valueInt;
+		long	 valueEnum;
+		BOOLEAN_t	 valueBool;
+		BIT_STRING_t	 valueBitS;
+		OCTET_STRING_t	 valueOctS;
+		PrintableString_t	 valuePrtS;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} ActionParameter_Value_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_ActionParameter_Value;
+extern asn_CHOICE_specifics_t asn_SPC_ActionParameter_Value_specs_1;
+extern asn_TYPE_member_t asn_MBR_ActionParameter_Value_1[6];
+extern asn_per_constraints_t asn_PER_type_ActionParameter_Value_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _ActionParameter_Value_H_ */
+#include "asn_internal.h"
