jolly has uploaded this change for review.

View Change

V1.2: Add SGP.32-custom StoreMetadata

Add new StoreMetadata, which overrides and expands StoreMetadata from
SGP.22. There is no impact on IPA process, because it is optional and
not used.

Reference: SGP.32 Section 5.5

Related: SYS#8101
Change-Id: Icfbc141dda82f091bcc9a1d7177e9fdb5b424750
---
M asn1/SGP32Definitions.asn
M src/ipa/libasn/AuthenticateClientOkDPEsipa.c
M src/ipa/libasn/AuthenticateClientOkDPEsipa.h
M src/ipa/libasn/CMakeLists.txt
A src/ipa/libasn/SGP32-StoreMetadataRequest.c
A src/ipa/libasn/SGP32-StoreMetadataRequest.h
6 files changed, 452 insertions(+), 5 deletions(-)

git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/49/43049/1
diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn
index e9e9c46..aea5a52 100644
--- a/asn1/SGP32Definitions.asn
+++ b/asn1/SGP32Definitions.asn
@@ -419,6 +419,25 @@
}
-- ASN1STOP

+-- Section 5.5
+-- ASN1START
+SGP32-StoreMetadataRequest ::= [37] SEQUENCE { -- Tag 'BF25'
+ iccid Iccid,
+ serviceProviderName [17] UTF8String (SIZE(0..32)), -- Tag '91'
+ profileName [18] UTF8String (SIZE(0..64)), -- Tag '92' (corresponds to 'Short Description' defined in SGP.21 [2])
+ iconType [19] IconType OPTIONAL, -- Tag '93' (JPG or PNG)
+ icon [20] OCTET STRING (SIZE(0..1024)) OPTIONAL, -- Tag '94' (Data of the icon. Size 64 x 64 pixel. This field SHALL only be present if iconType is present)
+ profileClass [21] ProfileClass DEFAULT operational, -- Tag '95'
+ notificationConfigurationInfo [22] SEQUENCE OF NotificationConfigurationInformation OPTIONAL,
+ profileOwner [23] OperatorId OPTIONAL, -- Tag 'B7'
+ profilePolicyRules [25] PprIds OPTIONAL, -- Tag '99'
+ serviceSpecificDataStoredInEuicc [34] VendorSpecificExtension OPTIONAL, -- Tag 'BF22'
+ serviceSpecificDataNotStoredInEuicc [35] VendorSpecificExtension OPTIONAL, -- Tag ‘BF23’
+ ecallIndication [123] BOOLEAN OPTIONAL, -- Tag '9F7B'
+ fallbackAllowed [103] BOOLEAN OPTIONAL -- Tag '9F67'
+}
+-- ASN1STOP
+
-- Section 5.9.2
-- ASN1START
SGP32-EUICCInfo2 ::= [34] SEQUENCE { -- Tag 'BF22'
@@ -869,7 +888,7 @@
}
AuthenticateClientOkDPEsipa ::= SEQUENCE {
transactionId [0] TransactionId OPTIONAL,
- profileMetaData [37] StoreMetadataRequest OPTIONAL,
+ profileMetaData [37] SGP32-StoreMetadataRequest OPTIONAL,
smdpSigned2 SmdpSigned2, -- Signed information
smdpSignature2 [APPLICATION 55] OCTET STRING, -- Tag '5F37'
smdpCertificate Certificate, -- CERT.DPpb.ECDSA
diff --git a/src/ipa/libasn/AuthenticateClientOkDPEsipa.c b/src/ipa/libasn/AuthenticateClientOkDPEsipa.c
index 9ec34be..0b9b281 100644
--- a/src/ipa/libasn/AuthenticateClientOkDPEsipa.c
+++ b/src/ipa/libasn/AuthenticateClientOkDPEsipa.c
@@ -20,7 +20,7 @@
{ ATF_POINTER, 1, offsetof(struct AuthenticateClientOkDPEsipa, profileMetaData),
(ASN_TAG_CLASS_CONTEXT | (37 << 2)),
-1, /* IMPLICIT tag at current level */
- &asn_DEF_StoreMetadataRequest,
+ &asn_DEF_SGP32_StoreMetadataRequest,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
diff --git a/src/ipa/libasn/AuthenticateClientOkDPEsipa.h b/src/ipa/libasn/AuthenticateClientOkDPEsipa.h
index 3094af8..5d8e656 100644
--- a/src/ipa/libasn/AuthenticateClientOkDPEsipa.h
+++ b/src/ipa/libasn/AuthenticateClientOkDPEsipa.h
@@ -24,12 +24,12 @@
#endif

/* Forward declarations */
-struct StoreMetadataRequest;
+struct SGP32_StoreMetadataRequest;

/* AuthenticateClientOkDPEsipa */
typedef struct AuthenticateClientOkDPEsipa {
TransactionId_t *transactionId /* OPTIONAL */;
- struct StoreMetadataRequest *profileMetaData /* OPTIONAL */;
+ struct SGP32_StoreMetadataRequest *profileMetaData /* OPTIONAL */;
SmdpSigned2_t smdpSigned2;
OCTET_STRING_t smdpSignature2;
Certificate_t smdpCertificate;
@@ -53,7 +53,7 @@
#endif

/* Referred external types */
-#include "StoreMetadataRequest.h"
+#include "SGP32-StoreMetadataRequest.h"

#endif /* _AuthenticateClientOkDPEsipa_H_ */
#include <asn_internal.h>
diff --git a/src/ipa/libasn/CMakeLists.txt b/src/ipa/libasn/CMakeLists.txt
index 0eb5264..cb1999c 100644
--- a/src/ipa/libasn/CMakeLists.txt
+++ b/src/ipa/libasn/CMakeLists.txt
@@ -854,6 +854,8 @@
SGP32-SetDefaultDpAddressRequest.h
SGP32-SetDefaultDpAddressResponse.c
SGP32-SetDefaultDpAddressResponse.h
+SGP32-StoreMetadataRequest.c
+SGP32-StoreMetadataRequest.h
SkipCerts.c
SkipCerts.h
SmdpSigned2.c
diff --git a/src/ipa/libasn/SGP32-StoreMetadataRequest.c b/src/ipa/libasn/SGP32-StoreMetadataRequest.c
new file mode 100644
index 0000000..e42d4a8
--- /dev/null
+++ b/src/ipa/libasn/SGP32-StoreMetadataRequest.c
@@ -0,0 +1,347 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "SGP32Definitions"
+ * found in "../../../asn1/SGP32Definitions.asn"
+ * `asn1c -fcompound-names -no-gen-example`
+ */
+
+#include "SGP32-StoreMetadataRequest.h"
+
+static int
+memb_serviceProviderName_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const UTF8String_t *st = (const UTF8String_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = UTF8String_length(st);
+ if((ssize_t)size < 0) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: UTF-8: broken encoding (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if((size <= 32)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_profileName_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const UTF8String_t *st = (const UTF8String_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = UTF8String_length(st);
+ if((ssize_t)size < 0) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: UTF-8: broken encoding (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ if((size <= 64)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static int
+memb_icon_constraint_1(const asn_TYPE_descriptor_t *td, const void *sptr,
+ asn_app_constraint_failed_f *ctfailcb, void *app_key) {
+ const OCTET_STRING_t *st = (const OCTET_STRING_t *)sptr;
+ size_t size;
+
+ if(!sptr) {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: value not given (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+
+ size = st->size;
+
+ if((size <= 1024)) {
+ /* Constraint check succeeded */
+ return 0;
+ } else {
+ ASN__CTFAIL(app_key, td, sptr,
+ "%s: constraint failed (%s:%d)",
+ td->name, __FILE__, __LINE__);
+ return -1;
+ }
+}
+
+static asn_oer_constraints_t asn_OER_memb_serviceProviderName_constr_3 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..MAX)) */};
+static asn_per_constraints_t asn_PER_memb_serviceProviderName_constr_3 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_profileName_constr_4 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..MAX)) */};
+static asn_per_constraints_t asn_PER_memb_profileName_constr_4 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ 0, 0 /* No PER value map */
+};
+static asn_oer_constraints_t asn_OER_memb_icon_constr_6 CC_NOTUSED = {
+ { 0, 0 },
+ -1 /* (SIZE(0..1024)) */};
+static asn_per_constraints_t asn_PER_memb_icon_constr_6 CC_NOTUSED = {
+ { APC_UNCONSTRAINED, -1, -1, 0, 0 },
+ { APC_CONSTRAINED, 11, 11, 0, 1024 } /* (SIZE(0..1024)) */,
+ 0, 0 /* No PER value map */
+};
+static int asn_DFL_7_cmp_2(const void *sptr) {
+ const ProfileClass_t *st = sptr;
+
+ if(!st) {
+ return -1; /* No value is not a default value */
+ }
+
+ /* Test default value 2 */
+ return (*st != 2);
+}
+static int asn_DFL_7_set_2(void **sptr) {
+ ProfileClass_t *st = *sptr;
+
+ if(!st) {
+ st = (*sptr = CALLOC(1, sizeof(*st)));
+ if(!st) return -1;
+ }
+
+ /* Install default value 2 */
+ *st = 2;
+ return 0;
+}
+static asn_TYPE_member_t asn_MBR_notificationConfigurationInfo_8[] = {
+ { ATF_POINTER, 0, 0,
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)),
+ 0,
+ &asn_DEF_NotificationConfigurationInformation,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ ""
+ },
+};
+static const ber_tlv_tag_t asn_DEF_notificationConfigurationInfo_tags_8[] = {
+ (ASN_TAG_CLASS_CONTEXT | (22 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static asn_SET_OF_specifics_t asn_SPC_notificationConfigurationInfo_specs_8 = {
+ sizeof(struct SGP32_StoreMetadataRequest__notificationConfigurationInfo),
+ offsetof(struct SGP32_StoreMetadataRequest__notificationConfigurationInfo, _asn_ctx),
+ 0, /* XER encoding is XMLDelimitedItemList */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_notificationConfigurationInfo_8 = {
+ "notificationConfigurationInfo",
+ "notificationConfigurationInfo",
+ &asn_OP_SEQUENCE_OF,
+ asn_DEF_notificationConfigurationInfo_tags_8,
+ sizeof(asn_DEF_notificationConfigurationInfo_tags_8)
+ /sizeof(asn_DEF_notificationConfigurationInfo_tags_8[0]) - 1, /* 1 */
+ asn_DEF_notificationConfigurationInfo_tags_8, /* Same as above */
+ sizeof(asn_DEF_notificationConfigurationInfo_tags_8)
+ /sizeof(asn_DEF_notificationConfigurationInfo_tags_8[0]), /* 2 */
+ { 0, 0, SEQUENCE_OF_constraint },
+ asn_MBR_notificationConfigurationInfo_8,
+ 1, /* Single element */
+ &asn_SPC_notificationConfigurationInfo_specs_8 /* Additional specs */
+};
+
+asn_TYPE_member_t asn_MBR_SGP32_StoreMetadataRequest_1[] = {
+ { ATF_NOFLAGS, 0, offsetof(struct SGP32_StoreMetadataRequest, iccid),
+ (ASN_TAG_CLASS_APPLICATION | (26 << 2)),
+ 0,
+ &asn_DEF_Iccid,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "iccid"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct SGP32_StoreMetadataRequest, serviceProviderName),
+ (ASN_TAG_CLASS_CONTEXT | (17 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UTF8String,
+ 0,
+ { &asn_OER_memb_serviceProviderName_constr_3, &asn_PER_memb_serviceProviderName_constr_3, memb_serviceProviderName_constraint_1 },
+ 0, 0, /* No default value */
+ "serviceProviderName"
+ },
+ { ATF_NOFLAGS, 0, offsetof(struct SGP32_StoreMetadataRequest, profileName),
+ (ASN_TAG_CLASS_CONTEXT | (18 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_UTF8String,
+ 0,
+ { &asn_OER_memb_profileName_constr_4, &asn_PER_memb_profileName_constr_4, memb_profileName_constraint_1 },
+ 0, 0, /* No default value */
+ "profileName"
+ },
+ { ATF_POINTER, 10, offsetof(struct SGP32_StoreMetadataRequest, iconType),
+ (ASN_TAG_CLASS_CONTEXT | (19 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_IconType,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "iconType"
+ },
+ { ATF_POINTER, 9, offsetof(struct SGP32_StoreMetadataRequest, icon),
+ (ASN_TAG_CLASS_CONTEXT | (20 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OCTET_STRING,
+ 0,
+ { &asn_OER_memb_icon_constr_6, &asn_PER_memb_icon_constr_6, memb_icon_constraint_1 },
+ 0, 0, /* No default value */
+ "icon"
+ },
+ { ATF_POINTER, 8, offsetof(struct SGP32_StoreMetadataRequest, profileClass),
+ (ASN_TAG_CLASS_CONTEXT | (21 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_ProfileClass,
+ 0,
+ { 0, 0, 0 },
+ &asn_DFL_7_cmp_2, /* Compare DEFAULT 2 */
+ &asn_DFL_7_set_2, /* Set DEFAULT 2 */
+ "profileClass"
+ },
+ { ATF_POINTER, 7, offsetof(struct SGP32_StoreMetadataRequest, notificationConfigurationInfo),
+ (ASN_TAG_CLASS_CONTEXT | (22 << 2)),
+ 0,
+ &asn_DEF_notificationConfigurationInfo_8,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "notificationConfigurationInfo"
+ },
+ { ATF_POINTER, 6, offsetof(struct SGP32_StoreMetadataRequest, profileOwner),
+ (ASN_TAG_CLASS_CONTEXT | (23 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_OperatorId,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "profileOwner"
+ },
+ { ATF_POINTER, 5, offsetof(struct SGP32_StoreMetadataRequest, profilePolicyRules),
+ (ASN_TAG_CLASS_CONTEXT | (25 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PprIds,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "profilePolicyRules"
+ },
+ { ATF_POINTER, 4, offsetof(struct SGP32_StoreMetadataRequest, serviceSpecificDataStoredInEuicc),
+ (ASN_TAG_CLASS_CONTEXT | (34 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_VendorSpecificExtension,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "serviceSpecificDataStoredInEuicc"
+ },
+ { ATF_POINTER, 3, offsetof(struct SGP32_StoreMetadataRequest, serviceSpecificDataNotStoredInEuicc),
+ (ASN_TAG_CLASS_CONTEXT | (35 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_VendorSpecificExtension,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "serviceSpecificDataNotStoredInEuicc"
+ },
+ { ATF_POINTER, 2, offsetof(struct SGP32_StoreMetadataRequest, ecallIndication),
+ (ASN_TAG_CLASS_CONTEXT | (123 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BOOLEAN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "ecallIndication"
+ },
+ { ATF_POINTER, 1, offsetof(struct SGP32_StoreMetadataRequest, fallbackAllowed),
+ (ASN_TAG_CLASS_CONTEXT | (103 << 2)),
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_BOOLEAN,
+ 0,
+ { 0, 0, 0 },
+ 0, 0, /* No default value */
+ "fallbackAllowed"
+ },
+};
+static const int asn_MAP_SGP32_StoreMetadataRequest_oms_1[] = { 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
+static const ber_tlv_tag_t asn_DEF_SGP32_StoreMetadataRequest_tags_1[] = {
+ (ASN_TAG_CLASS_CONTEXT | (37 << 2)),
+ (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
+};
+static const asn_TYPE_tag2member_t asn_MAP_SGP32_StoreMetadataRequest_tag2el_1[] = {
+ { (ASN_TAG_CLASS_APPLICATION | (26 << 2)), 0, 0, 0 }, /* iccid */
+ { (ASN_TAG_CLASS_CONTEXT | (17 << 2)), 1, 0, 0 }, /* serviceProviderName */
+ { (ASN_TAG_CLASS_CONTEXT | (18 << 2)), 2, 0, 0 }, /* profileName */
+ { (ASN_TAG_CLASS_CONTEXT | (19 << 2)), 3, 0, 0 }, /* iconType */
+ { (ASN_TAG_CLASS_CONTEXT | (20 << 2)), 4, 0, 0 }, /* icon */
+ { (ASN_TAG_CLASS_CONTEXT | (21 << 2)), 5, 0, 0 }, /* profileClass */
+ { (ASN_TAG_CLASS_CONTEXT | (22 << 2)), 6, 0, 0 }, /* notificationConfigurationInfo */
+ { (ASN_TAG_CLASS_CONTEXT | (23 << 2)), 7, 0, 0 }, /* profileOwner */
+ { (ASN_TAG_CLASS_CONTEXT | (25 << 2)), 8, 0, 0 }, /* profilePolicyRules */
+ { (ASN_TAG_CLASS_CONTEXT | (34 << 2)), 9, 0, 0 }, /* serviceSpecificDataStoredInEuicc */
+ { (ASN_TAG_CLASS_CONTEXT | (35 << 2)), 10, 0, 0 }, /* serviceSpecificDataNotStoredInEuicc */
+ { (ASN_TAG_CLASS_CONTEXT | (103 << 2)), 12, 0, 0 }, /* fallbackAllowed */
+ { (ASN_TAG_CLASS_CONTEXT | (123 << 2)), 11, 0, 0 } /* ecallIndication */
+};
+asn_SEQUENCE_specifics_t asn_SPC_SGP32_StoreMetadataRequest_specs_1 = {
+ sizeof(struct SGP32_StoreMetadataRequest),
+ offsetof(struct SGP32_StoreMetadataRequest, _asn_ctx),
+ asn_MAP_SGP32_StoreMetadataRequest_tag2el_1,
+ 13, /* Count of tags in the map */
+ asn_MAP_SGP32_StoreMetadataRequest_oms_1, /* Optional members */
+ 10, 0, /* Root/Additions */
+ 13, /* First extension addition */
+};
+asn_TYPE_descriptor_t asn_DEF_SGP32_StoreMetadataRequest = {
+ "SGP32-StoreMetadataRequest",
+ "SGP32-StoreMetadataRequest",
+ &asn_OP_SEQUENCE,
+ asn_DEF_SGP32_StoreMetadataRequest_tags_1,
+ sizeof(asn_DEF_SGP32_StoreMetadataRequest_tags_1)
+ /sizeof(asn_DEF_SGP32_StoreMetadataRequest_tags_1[0]) - 1, /* 1 */
+ asn_DEF_SGP32_StoreMetadataRequest_tags_1, /* Same as above */
+ sizeof(asn_DEF_SGP32_StoreMetadataRequest_tags_1)
+ /sizeof(asn_DEF_SGP32_StoreMetadataRequest_tags_1[0]), /* 2 */
+ { 0, 0, SEQUENCE_constraint },
+ asn_MBR_SGP32_StoreMetadataRequest_1,
+ 13, /* Elements count */
+ &asn_SPC_SGP32_StoreMetadataRequest_specs_1 /* Additional specs */
+};
+
diff --git a/src/ipa/libasn/SGP32-StoreMetadataRequest.h b/src/ipa/libasn/SGP32-StoreMetadataRequest.h
new file mode 100644
index 0000000..8f4e536
--- /dev/null
+++ b/src/ipa/libasn/SGP32-StoreMetadataRequest.h
@@ -0,0 +1,79 @@
+/*
+ * Generated by asn1c-0.9.29 (http://lionet.info/asn1c)
+ * From ASN.1 module "SGP32Definitions"
+ * found in "../../../asn1/SGP32Definitions.asn"
+ * `asn1c -fcompound-names -no-gen-example`
+ */
+
+#ifndef _SGP32_StoreMetadataRequest_H_
+#define _SGP32_StoreMetadataRequest_H_
+
+
+#include <asn_application.h>
+
+/* Including external dependencies */
+#include "Iccid.h"
+#include <UTF8String.h>
+#include "IconType.h"
+#include <OCTET_STRING.h>
+#include "ProfileClass.h"
+#include "PprIds.h"
+#include <BOOLEAN.h>
+#include <asn_SEQUENCE_OF.h>
+#include <constr_SEQUENCE_OF.h>
+#include <constr_SEQUENCE.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Forward declarations */
+struct OperatorId;
+struct VendorSpecificExtension;
+struct NotificationConfigurationInformation;
+
+/* SGP32-StoreMetadataRequest */
+typedef struct SGP32_StoreMetadataRequest {
+ Iccid_t iccid;
+ UTF8String_t serviceProviderName;
+ UTF8String_t profileName;
+ IconType_t *iconType /* OPTIONAL */;
+ OCTET_STRING_t *icon /* OPTIONAL */;
+ ProfileClass_t *profileClass /* DEFAULT 2 */;
+ struct SGP32_StoreMetadataRequest__notificationConfigurationInfo {
+ A_SEQUENCE_OF(struct NotificationConfigurationInformation) list;
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+ } *notificationConfigurationInfo;
+ struct OperatorId *profileOwner /* OPTIONAL */;
+ PprIds_t *profilePolicyRules /* OPTIONAL */;
+ struct VendorSpecificExtension *serviceSpecificDataStoredInEuicc /* OPTIONAL */;
+ struct VendorSpecificExtension *serviceSpecificDataNotStoredInEuicc /* OPTIONAL */;
+ BOOLEAN_t *ecallIndication /* OPTIONAL */;
+ BOOLEAN_t *fallbackAllowed /* OPTIONAL */;
+ /*
+ * This type is extensible,
+ * possible extensions are below.
+ */
+
+ /* Context for parsing across buffer boundaries */
+ asn_struct_ctx_t _asn_ctx;
+} SGP32_StoreMetadataRequest_t;
+
+/* Implementation */
+extern asn_TYPE_descriptor_t asn_DEF_SGP32_StoreMetadataRequest;
+extern asn_SEQUENCE_specifics_t asn_SPC_SGP32_StoreMetadataRequest_specs_1;
+extern asn_TYPE_member_t asn_MBR_SGP32_StoreMetadataRequest_1[13];
+
+#ifdef __cplusplus
+}
+#endif
+
+/* Referred external types */
+#include "OperatorId.h"
+#include "VendorSpecificExtension.h"
+#include "NotificationConfigurationInformation.h"
+
+#endif /* _SGP32_StoreMetadataRequest_H_ */
+#include <asn_internal.h>

To view, visit change 43049. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: onomondo-ipa
Gerrit-Branch: master
Gerrit-Change-Id: Icfbc141dda82f091bcc9a1d7177e9fdb5b424750
Gerrit-Change-Number: 43049
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <andreas@eversberg.eu>