jolly has uploaded this change for review.
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,
To view, visit change 43040. To unsubscribe, or for help writing mail filters, visit settings.