diff --git a/src/rua/Makefile.am b/src/rua/Makefile.am
index 87f1940..908fc8e 100644
--- a/src/rua/Makefile.am
+++ b/src/rua/Makefile.am
@@ -85,5 +85,5 @@
 #	remove the local copy of the runtime code
 	@rm ANY.* BOOLEAN.* INTEGER.* NativeEnumerated.* NativeInteger.* OBJECT_IDENTIFIER.* asn_* OCTET_STRING.* converter-sample.c per_* xer_* constr* der_* ber_* BIT_STRING.*
 #	change include style to `#include <dir/foo.h>'
-	../../move-asn1-header-files.sh osmocom/osmo-iuh/rua $(ASN_MODULE_INC)
+	../../move-asn1-header-files.sh osmocom/rua $(ASN_MODULE_INC)
 
diff --git a/src/rua/RUA_Ansi-41-IDNNS.c b/src/rua/RUA_Ansi-41-IDNNS.c
index 1130fc6..3895632 100644
--- a/src/rua/RUA_Ansi-41-IDNNS.c
+++ b/src/rua/RUA_Ansi-41-IDNNS.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_Ansi-41-IDNNS.h>
+#include <osmocom/rua/RUA_Ansi-41-IDNNS.h>
 
 int
 RUA_Ansi_41_IDNNS_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_CN-DomainIndicator.c b/src/rua/RUA_CN-DomainIndicator.c
index 4a8812c..e7e137e 100644
--- a/src/rua/RUA_CN-DomainIndicator.c
+++ b/src/rua/RUA_CN-DomainIndicator.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_CN-DomainIndicator.h>
+#include <osmocom/rua/RUA_CN-DomainIndicator.h>
 
 int
 RUA_CN_DomainIndicator_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_CSGMembershipStatus.c b/src/rua/RUA_CSGMembershipStatus.c
index 91df987..718bd76 100644
--- a/src/rua/RUA_CSGMembershipStatus.c
+++ b/src/rua/RUA_CSGMembershipStatus.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_CSGMembershipStatus.h>
+#include <osmocom/rua/RUA_CSGMembershipStatus.h>
 
 int
 RUA_CSGMembershipStatus_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_Cause.c b/src/rua/RUA_Cause.c
index 7b580ae..abd2b40 100644
--- a/src/rua/RUA_Cause.c
+++ b/src/rua/RUA_Cause.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_Cause.h>
+#include <osmocom/rua/RUA_Cause.h>
 
 static asn_per_constraints_t asn_PER_type_RUA_Cause_constr_1 GCC_NOTUSED = {
 	{ APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0l,  3l }	/* (0..3,...) */,
diff --git a/src/rua/RUA_CauseMisc.c b/src/rua/RUA_CauseMisc.c
index ff4945b..ab68490 100644
--- a/src/rua/RUA_CauseMisc.c
+++ b/src/rua/RUA_CauseMisc.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_CauseMisc.h>
+#include <osmocom/rua/RUA_CauseMisc.h>
 
 int
 RUA_CauseMisc_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_CauseProtocol.c b/src/rua/RUA_CauseProtocol.c
index 010cfa2..0c03177 100644
--- a/src/rua/RUA_CauseProtocol.c
+++ b/src/rua/RUA_CauseProtocol.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_CauseProtocol.h>
+#include <osmocom/rua/RUA_CauseProtocol.h>
 
 int
 RUA_CauseProtocol_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_CauseRadioNetwork.c b/src/rua/RUA_CauseRadioNetwork.c
index 69f426c..b098555 100644
--- a/src/rua/RUA_CauseRadioNetwork.c
+++ b/src/rua/RUA_CauseRadioNetwork.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_CauseRadioNetwork.h>
+#include <osmocom/rua/RUA_CauseRadioNetwork.h>
 
 int
 RUA_CauseRadioNetwork_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_CauseTransport.c b/src/rua/RUA_CauseTransport.c
index a0e6e4a..95ccbcc 100644
--- a/src/rua/RUA_CauseTransport.c
+++ b/src/rua/RUA_CauseTransport.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_CauseTransport.h>
+#include <osmocom/rua/RUA_CauseTransport.h>
 
 int
 RUA_CauseTransport_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_Connect.c b/src/rua/RUA_Connect.c
index e8f4afa..19d56a1 100644
--- a/src/rua/RUA_Connect.c
+++ b/src/rua/RUA_Connect.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_Connect.h>
+#include <osmocom/rua/RUA_Connect.h>
 
 static int
 memb_connect_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_ConnectionlessTransfer.c b/src/rua/RUA_ConnectionlessTransfer.c
index 4a8df71..086a240 100644
--- a/src/rua/RUA_ConnectionlessTransfer.c
+++ b/src/rua/RUA_ConnectionlessTransfer.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_ConnectionlessTransfer.h>
+#include <osmocom/rua/RUA_ConnectionlessTransfer.h>
 
 static int
 memb_connectionlessTransfer_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_Context-ID.c b/src/rua/RUA_Context-ID.c
index ea08305..e6d7780 100644
--- a/src/rua/RUA_Context-ID.c
+++ b/src/rua/RUA_Context-ID.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_Context-ID.h>
+#include <osmocom/rua/RUA_Context-ID.h>
 
 int
 RUA_Context_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_Criticality.c b/src/rua/RUA_Criticality.c
index 464236e..9e3a1f2 100644
--- a/src/rua/RUA_Criticality.c
+++ b/src/rua/RUA_Criticality.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-CommonDataTypes.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_Criticality.h>
+#include <osmocom/rua/RUA_Criticality.h>
 
 int
 RUA_Criticality_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_CriticalityDiagnostics-IE-List.c b/src/rua/RUA_CriticalityDiagnostics-IE-List.c
index f707540..55e4657 100644
--- a/src/rua/RUA_CriticalityDiagnostics-IE-List.c
+++ b/src/rua/RUA_CriticalityDiagnostics-IE-List.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_CriticalityDiagnostics-IE-List.h>
+#include <osmocom/rua/RUA_CriticalityDiagnostics-IE-List.h>
 
 static asn_per_constraints_t asn_PER_type_RUA_CriticalityDiagnostics_IE_List_constr_1 GCC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
diff --git a/src/rua/RUA_CriticalityDiagnostics.c b/src/rua/RUA_CriticalityDiagnostics.c
index 757415b..a279f5a 100644
--- a/src/rua/RUA_CriticalityDiagnostics.c
+++ b/src/rua/RUA_CriticalityDiagnostics.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_CriticalityDiagnostics.h>
+#include <osmocom/rua/RUA_CriticalityDiagnostics.h>
 
 static asn_TYPE_member_t asn_MBR_RUA_CriticalityDiagnostics_1[] = {
 	{ ATF_POINTER, 5, offsetof(struct RUA_CriticalityDiagnostics, procedureCode),
diff --git a/src/rua/RUA_DirectTransfer.c b/src/rua/RUA_DirectTransfer.c
index bdc2e77..8036517 100644
--- a/src/rua/RUA_DirectTransfer.c
+++ b/src/rua/RUA_DirectTransfer.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_DirectTransfer.h>
+#include <osmocom/rua/RUA_DirectTransfer.h>
 
 static int
 memb_directTransfer_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_Disconnect.c b/src/rua/RUA_Disconnect.c
index 956f4c6..898bd90 100644
--- a/src/rua/RUA_Disconnect.c
+++ b/src/rua/RUA_Disconnect.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_Disconnect.h>
+#include <osmocom/rua/RUA_Disconnect.h>
 
 static int
 memb_disconnect_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_ErrorIndication.c b/src/rua/RUA_ErrorIndication.c
index 2d7fc89..d95ff32 100644
--- a/src/rua/RUA_ErrorIndication.c
+++ b/src/rua/RUA_ErrorIndication.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_ErrorIndication.h>
+#include <osmocom/rua/RUA_ErrorIndication.h>
 
 static int
 memb_errorIndication_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_Establishment-Cause.c b/src/rua/RUA_Establishment-Cause.c
index 0bec81c..2bdace5 100644
--- a/src/rua/RUA_Establishment-Cause.c
+++ b/src/rua/RUA_Establishment-Cause.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_Establishment-Cause.h>
+#include <osmocom/rua/RUA_Establishment-Cause.h>
 
 int
 RUA_Establishment_Cause_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_Gsm-map-IDNNS.c b/src/rua/RUA_Gsm-map-IDNNS.c
index bdf8880..75bdb96 100644
--- a/src/rua/RUA_Gsm-map-IDNNS.c
+++ b/src/rua/RUA_Gsm-map-IDNNS.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_Gsm-map-IDNNS.h>
+#include <osmocom/rua/RUA_Gsm-map-IDNNS.h>
 
 static asn_per_constraints_t asn_PER_type_routingbasis_constr_2 GCC_NOTUSED = {
 	{ APC_CONSTRAINED,	 3,  3,  0l,  7l }	/* (0..7) */,
diff --git a/src/rua/RUA_IE-Extensions.c b/src/rua/RUA_IE-Extensions.c
index 6c287eb..80fa907 100644
--- a/src/rua/RUA_IE-Extensions.c
+++ b/src/rua/RUA_IE-Extensions.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_IE-Extensions.h>
+#include <osmocom/rua/RUA_IE-Extensions.h>
 
 static asn_per_constraints_t asn_PER_type_RUA_IE_Extensions_constr_1 GCC_NOTUSED = {
 	{ APC_UNCONSTRAINED,	-1, -1,  0,  0 },
diff --git a/src/rua/RUA_IE.c b/src/rua/RUA_IE.c
index 1f978e9..77378f4 100644
--- a/src/rua/RUA_IE.c
+++ b/src/rua/RUA_IE.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_IE.h>
+#include <osmocom/rua/RUA_IE.h>
 
 static asn_TYPE_member_t asn_MBR_RUA_IE_1[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct RUA_IE, id),
diff --git a/src/rua/RUA_InitiatingMessage.c b/src/rua/RUA_InitiatingMessage.c
index e1a7d6f..bcadd0f 100644
--- a/src/rua/RUA_InitiatingMessage.c
+++ b/src/rua/RUA_InitiatingMessage.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_InitiatingMessage.h>
+#include <osmocom/rua/RUA_InitiatingMessage.h>
 
 static asn_TYPE_member_t asn_MBR_RUA_InitiatingMessage_1[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct RUA_InitiatingMessage, procedureCode),
diff --git a/src/rua/RUA_IntraDomainNasNodeSelector.c b/src/rua/RUA_IntraDomainNasNodeSelector.c
index f8d9007..b266c6f 100644
--- a/src/rua/RUA_IntraDomainNasNodeSelector.c
+++ b/src/rua/RUA_IntraDomainNasNodeSelector.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_IntraDomainNasNodeSelector.h>
+#include <osmocom/rua/RUA_IntraDomainNasNodeSelector.h>
 
 static int
 memb_futurecoding_constraint_7(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_Presence.c b/src/rua/RUA_Presence.c
index 42fec3f..6da824c 100644
--- a/src/rua/RUA_Presence.c
+++ b/src/rua/RUA_Presence.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-CommonDataTypes.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_Presence.h>
+#include <osmocom/rua/RUA_Presence.h>
 
 int
 RUA_Presence_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_PrivateIE-ID.c b/src/rua/RUA_PrivateIE-ID.c
index c20efe4..729333e 100644
--- a/src/rua/RUA_PrivateIE-ID.c
+++ b/src/rua/RUA_PrivateIE-ID.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-CommonDataTypes.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_PrivateIE-ID.h>
+#include <osmocom/rua/RUA_PrivateIE-ID.h>
 
 static int
 memb_local_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_PrivateMessage.c b/src/rua/RUA_PrivateMessage.c
index 7d32db2..c549409 100644
--- a/src/rua/RUA_PrivateMessage.c
+++ b/src/rua/RUA_PrivateMessage.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_PrivateMessage.h>
+#include <osmocom/rua/RUA_PrivateMessage.h>
 
 static int
 memb_privateMessage_ies_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_ProcedureCode.c b/src/rua/RUA_ProcedureCode.c
index a661b77..61b31ff 100644
--- a/src/rua/RUA_ProcedureCode.c
+++ b/src/rua/RUA_ProcedureCode.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-CommonDataTypes.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_ProcedureCode.h>
+#include <osmocom/rua/RUA_ProcedureCode.h>
 
 int
 RUA_ProcedureCode_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_ProtocolIE-ID.c b/src/rua/RUA_ProtocolIE-ID.c
index c89d413..5260eed 100644
--- a/src/rua/RUA_ProtocolIE-ID.c
+++ b/src/rua/RUA_ProtocolIE-ID.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-CommonDataTypes.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_ProtocolIE-ID.h>
+#include <osmocom/rua/RUA_ProtocolIE-ID.h>
 
 int
 RUA_ProtocolIE_ID_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_RANAP-Message.c b/src/rua/RUA_RANAP-Message.c
index e4bf8f5..28911c6 100644
--- a/src/rua/RUA_RANAP-Message.c
+++ b/src/rua/RUA_RANAP-Message.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_RANAP-Message.h>
+#include <osmocom/rua/RUA_RANAP-Message.h>
 
 int
 RUA_RANAP_Message_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_RUA-PDU.c b/src/rua/RUA_RUA-PDU.c
index 6f329a7..92215f6 100644
--- a/src/rua/RUA_RUA-PDU.c
+++ b/src/rua/RUA_RUA-PDU.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_RUA-PDU.h>
+#include <osmocom/rua/RUA_RUA-PDU.h>
 
 static asn_per_constraints_t asn_PER_type_RUA_RUA_PDU_constr_1 GCC_NOTUSED = {
 	{ APC_CONSTRAINED | APC_EXTENSIBLE,  2,  2,  0l,  2l }	/* (0..2,...) */,
diff --git a/src/rua/RUA_RoutingParameter.c b/src/rua/RUA_RoutingParameter.c
index cd574f8..be2e102 100644
--- a/src/rua/RUA_RoutingParameter.c
+++ b/src/rua/RUA_RoutingParameter.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_RoutingParameter.h>
+#include <osmocom/rua/RUA_RoutingParameter.h>
 
 int
 RUA_RoutingParameter_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_SuccessfulOutcome.c b/src/rua/RUA_SuccessfulOutcome.c
index 0471197..f446ec8 100644
--- a/src/rua/RUA_SuccessfulOutcome.c
+++ b/src/rua/RUA_SuccessfulOutcome.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_SuccessfulOutcome.h>
+#include <osmocom/rua/RUA_SuccessfulOutcome.h>
 
 static asn_TYPE_member_t asn_MBR_RUA_SuccessfulOutcome_1[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct RUA_SuccessfulOutcome, procedureCode),
diff --git a/src/rua/RUA_TriggeringMessage.c b/src/rua/RUA_TriggeringMessage.c
index 3a17f79..8b2de60 100644
--- a/src/rua/RUA_TriggeringMessage.c
+++ b/src/rua/RUA_TriggeringMessage.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-CommonDataTypes.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_TriggeringMessage.h>
+#include <osmocom/rua/RUA_TriggeringMessage.h>
 
 int
 RUA_TriggeringMessage_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_TypeOfError.c b/src/rua/RUA_TypeOfError.c
index 699d84d..c48d852 100644
--- a/src/rua/RUA_TypeOfError.c
+++ b/src/rua/RUA_TypeOfError.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-IEs.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_TypeOfError.h>
+#include <osmocom/rua/RUA_TypeOfError.h>
 
 int
 RUA_TypeOfError_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
diff --git a/src/rua/RUA_UnsuccessfulOutcome.c b/src/rua/RUA_UnsuccessfulOutcome.c
index f3e8843..95e6dd5 100644
--- a/src/rua/RUA_UnsuccessfulOutcome.c
+++ b/src/rua/RUA_UnsuccessfulOutcome.c
@@ -4,7 +4,7 @@
  * 	found in "../../asn1/rua/RUA-PDU.asn"
  */
 
-#include <osmocom/osmo-iuh/rua/RUA_UnsuccessfulOutcome.h>
+#include <osmocom/rua/RUA_UnsuccessfulOutcome.h>
 
 static asn_TYPE_member_t asn_MBR_RUA_UnsuccessfulOutcome_1[] = {
 	{ ATF_NOFLAGS, 0, offsetof(struct RUA_UnsuccessfulOutcome, procedureCode),
