diff --git a/src/s1ap/asn1c/asnGenFiles/MDTMode.h b/src/s1ap/asn1c/asnGenFiles/MDTMode.h
new file mode 100644
index 0000000..8594543
--- /dev/null
+++ b/src/s1ap/asn1c/asnGenFiles/MDTMode.h
@@ -0,0 +1,63 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "S1AP-IEs"
+ * 	found in "./asn1c/S1AP-IEs.asn"
+ * 	`asn1c -fcompound-names -fno-include-deps -gen-PER -findirect-choice -pdu=S1AP-PDU`
+ */
+
+#ifndef	_MDTMode_H_
+#define	_MDTMode_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include <constr_CHOICE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Dependencies */
+typedef enum MDTMode_PR {
+	MDTMode_PR_NOTHING,	/* No components present */
+	MDTMode_PR_immediateMDT,
+	MDTMode_PR_loggedMDT,
+	/* Extensions may appear below */
+	MDTMode_PR_mDTMode_Extension
+} MDTMode_PR;
+
+/* Forward declarations */
+struct ImmediateMDT;
+struct LoggedMDT;
+struct MDTMode_Extension;
+
+/* MDTMode */
+typedef struct MDTMode {
+	MDTMode_PR present;
+	union MDTMode_u {
+		struct ImmediateMDT	*immediateMDT;
+		struct LoggedMDT	*loggedMDT;
+		/*
+		 * This type is extensible,
+		 * possible extensions are below.
+		 */
+		struct MDTMode_Extension	*mDTMode_Extension;
+	} choice;
+	
+	/* Context for parsing across buffer boundaries */
+	asn_struct_ctx_t _asn_ctx;
+} MDTMode_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_MDTMode;
+extern asn_CHOICE_specifics_t asn_SPC_MDTMode_specs_1;
+extern asn_TYPE_member_t asn_MBR_MDTMode_1[3];
+extern asn_per_constraints_t asn_PER_type_MDTMode_constr_1;
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif	/* _MDTMode_H_ */
+#include <asn_internal.h>
