jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/onomondo-ipa/+/43040?usp=email )
Change subject: V1.2: Add profileDownloadErrorReason to ProfileDownloadTriggerResult ......................................................................
V1.2: Add profileDownloadErrorReason to ProfileDownloadTriggerResult
Reference: SGP.32 Section 2.11.2.3
Related: SYS#8101 Change-Id: Ia5da46a793db54f2e2671be2b50dd1dddc97e318 --- M asn1/SGP32Definitions.asn M src/ipa/libasn/ProfileDownloadTriggerResult.c M src/ipa/libasn/ProfileDownloadTriggerResult.h 3 files changed, 26 insertions(+), 6 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/40/43040/1
diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index c380182..7c5821c 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -342,6 +342,10 @@ profileDownloadTriggerResultData CHOICE { profileInstallationResult [55] SGP32-ProfileInstallationResult, -- see SGP.22 [4] profileDownloadError SEQUENCE { + profileDownloadErrorReason [0] INTEGER { + ecallActive (104), + undefinedError(127) + }, errorResponse OCTET STRING OPTIONAL } } diff --git a/src/ipa/libasn/ProfileDownloadTriggerResult.c b/src/ipa/libasn/ProfileDownloadTriggerResult.c index f5e7188..faa7065 100644 --- a/src/ipa/libasn/ProfileDownloadTriggerResult.c +++ b/src/ipa/libasn/ProfileDownloadTriggerResult.c @@ -16,9 +16,18 @@ 0, 0 /* No PER value map */ }; static asn_TYPE_member_t asn_MBR_profileDownloadError_5[] = { - { ATF_POINTER, 1, offsetof(struct ProfileDownloadTriggerResult__profileDownloadTriggerResultData__profileDownloadError, errorResponse), + { ATF_NOFLAGS, 0, offsetof(struct ProfileDownloadTriggerResult__profileDownloadTriggerResultData__profileDownloadError, profileDownloadErrorReason), (ASN_TAG_CLASS_CONTEXT | (0 << 2)), -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "profileDownloadErrorReason" + }, + { ATF_POINTER, 1, offsetof(struct ProfileDownloadTriggerResult__profileDownloadTriggerResultData__profileDownloadError, errorResponse), + (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), + 0, &asn_DEF_OCTET_STRING, 0, { 0, 0, 0 }, @@ -26,21 +35,22 @@ "errorResponse" }, }; -static const int asn_MAP_profileDownloadError_oms_5[] = { 0 }; +static const int asn_MAP_profileDownloadError_oms_5[] = { 1 }; static const ber_tlv_tag_t asn_DEF_profileDownloadError_tags_5[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_profileDownloadError_tag2el_5[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* errorResponse */ + { (ASN_TAG_CLASS_UNIVERSAL | (4 << 2)), 1, 0, 0 }, /* errorResponse */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* profileDownloadErrorReason */ }; static asn_SEQUENCE_specifics_t asn_SPC_profileDownloadError_specs_5 = { sizeof(struct ProfileDownloadTriggerResult__profileDownloadTriggerResultData__profileDownloadError), offsetof(struct ProfileDownloadTriggerResult__profileDownloadTriggerResultData__profileDownloadError, _asn_ctx), asn_MAP_profileDownloadError_tag2el_5, - 1, /* Count of tags in the map */ + 2, /* Count of tags in the map */ asn_MAP_profileDownloadError_oms_5, /* Optional members */ 1, 0, /* Root/Additions */ - 1, /* First extension addition */ + 2, /* First extension addition */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_profileDownloadError_5 = { @@ -55,7 +65,7 @@ /sizeof(asn_DEF_profileDownloadError_tags_5[0]), /* 1 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_profileDownloadError_5, - 1, /* Elements count */ + 2, /* Elements count */ &asn_SPC_profileDownloadError_specs_5 /* Additional specs */ };
diff --git a/src/ipa/libasn/ProfileDownloadTriggerResult.h b/src/ipa/libasn/ProfileDownloadTriggerResult.h index 744c8ae..090bcb7 100644 --- a/src/ipa/libasn/ProfileDownloadTriggerResult.h +++ b/src/ipa/libasn/ProfileDownloadTriggerResult.h @@ -14,6 +14,7 @@ /* Including external dependencies */ #include "TransactionId.h" #include "SGP32-ProfileInstallationResult.h" +#include <NativeInteger.h> #include <OCTET_STRING.h> #include <constr_SEQUENCE.h> #include <constr_CHOICE.h> @@ -30,6 +31,10 @@ /* Extensions may appear below */ } ProfileDownloadTriggerResult__profileDownloadTriggerResultData_PR; +typedef enum ProfileDownloadTriggerResult__profileDownloadTriggerResultData__profileDownloadError__profileDownloadErrorReason { + ProfileDownloadTriggerResult__profileDownloadTriggerResultData__profileDownloadError__profileDownloadErrorReason_ecallActive = 104, + ProfileDownloadTriggerResult__profileDownloadTriggerResultData__profileDownloadError__profileDownloadErrorReason_undefinedError = 127 +} e_ProfileDownloadTriggerResult__profileDownloadTriggerResultData__profileDownloadError__profileDownloadErrorReason;
/* ProfileDownloadTriggerResult */ typedef struct ProfileDownloadTriggerResult { @@ -39,6 +44,7 @@ union ProfileDownloadTriggerResult__profileDownloadTriggerResultData_u { SGP32_ProfileInstallationResult_t profileInstallationResult; struct ProfileDownloadTriggerResult__profileDownloadTriggerResultData__profileDownloadError { + long profileDownloadErrorReason; OCTET_STRING_t *errorResponse /* OPTIONAL */; /* * This type is extensible,