jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/onomondo-ipa/+/43052?usp=email )
Change subject: V1.2: Add new fields to IoTSpecificInfo ......................................................................
V1.2: Add new fields to IoTSpecificInfo
Add ecallSupported and fallbackSupported to IoTSpecificInfo, There is no impact on IPA process, because it is not used.
Reference: SGP.32 Section 5.9.2
Related: SYS#8101 Change-Id: Iba95ac8dd059ee48d46f2ace54ece7a3338ae79f --- M asn1/SGP32Definitions.asn M src/ipa/libasn/IoTSpecificInfo.c M src/ipa/libasn/IoTSpecificInfo.h 3 files changed, 34 insertions(+), 7 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/52/43052/1
diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index ee6478e..8537460 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -493,7 +493,9 @@ } -- Definition of IoTSpecificInfo IoTSpecificInfo ::= SEQUENCE { -iotVersion [0] SEQUENCE OF VersionType -- SGP.32 version(s) supported by the eUICC, at least one must be present + iotVersion [0] SEQUENCE OF VersionType, -- SGP.32 version(s) supported by the eUICC, at least one must be present + ecallSupported [1] NULL OPTIONAL, -- if present, eUICC supports the Emergency Mechanism + fallbackSupported [2] NULL OPTIONAL -- if present, eUICC supports the Fallback Mechanism } -- Definition of IpaMode IpaMode ::= INTEGER { diff --git a/src/ipa/libasn/IoTSpecificInfo.c b/src/ipa/libasn/IoTSpecificInfo.c index 6b0e5b0..c8f66ab 100644 --- a/src/ipa/libasn/IoTSpecificInfo.c +++ b/src/ipa/libasn/IoTSpecificInfo.c @@ -54,20 +54,42 @@ 0, 0, /* No default value */ "iotVersion" }, + { ATF_POINTER, 2, offsetof(struct IoTSpecificInfo, ecallSupported), + (ASN_TAG_CLASS_CONTEXT | (1 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ecallSupported" + }, + { ATF_POINTER, 1, offsetof(struct IoTSpecificInfo, fallbackSupported), + (ASN_TAG_CLASS_CONTEXT | (2 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NULL, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "fallbackSupported" + }, }; +static const int asn_MAP_IoTSpecificInfo_oms_1[] = { 1, 2 }; static const ber_tlv_tag_t asn_DEF_IoTSpecificInfo_tags_1[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static const asn_TYPE_tag2member_t asn_MAP_IoTSpecificInfo_tag2el_1[] = { - { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* iotVersion */ + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* iotVersion */ + { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* ecallSupported */ + { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* fallbackSupported */ }; asn_SEQUENCE_specifics_t asn_SPC_IoTSpecificInfo_specs_1 = { sizeof(struct IoTSpecificInfo), offsetof(struct IoTSpecificInfo, _asn_ctx), asn_MAP_IoTSpecificInfo_tag2el_1, - 1, /* Count of tags in the map */ - 0, 0, 0, /* Optional elements (not needed) */ - 1, /* First extension addition */ + 3, /* Count of tags in the map */ + asn_MAP_IoTSpecificInfo_oms_1, /* Optional members */ + 2, 0, /* Root/Additions */ + 3, /* First extension addition */ }; asn_TYPE_descriptor_t asn_DEF_IoTSpecificInfo = { "IoTSpecificInfo", @@ -81,7 +103,7 @@ /sizeof(asn_DEF_IoTSpecificInfo_tags_1[0]), /* 1 */ { 0, 0, SEQUENCE_constraint }, asn_MBR_IoTSpecificInfo_1, - 1, /* Elements count */ + 3, /* Elements count */ &asn_SPC_IoTSpecificInfo_specs_1 /* Additional specs */ };
diff --git a/src/ipa/libasn/IoTSpecificInfo.h b/src/ipa/libasn/IoTSpecificInfo.h index fd8b958..fe6c22a 100644 --- a/src/ipa/libasn/IoTSpecificInfo.h +++ b/src/ipa/libasn/IoTSpecificInfo.h @@ -12,6 +12,7 @@ #include <asn_application.h>
/* Including external dependencies */ +#include <NULL.h> #include "VersionType.h" #include <asn_SEQUENCE_OF.h> #include <constr_SEQUENCE_OF.h> @@ -29,6 +30,8 @@ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } iotVersion; + NULL_t *ecallSupported /* OPTIONAL */; + NULL_t *fallbackSupported /* OPTIONAL */; /* * This type is extensible, * possible extensions are below. @@ -41,7 +44,7 @@ /* Implementation */ extern asn_TYPE_descriptor_t asn_DEF_IoTSpecificInfo; extern asn_SEQUENCE_specifics_t asn_SPC_IoTSpecificInfo_specs_1; -extern asn_TYPE_member_t asn_MBR_IoTSpecificInfo_1[1]; +extern asn_TYPE_member_t asn_MBR_IoTSpecificInfo_1[3];
#ifdef __cplusplus }