jolly has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/onomondo-ipa/+/43049?usp=email )


Change subject: V1.2: Add SGP.32-custom StoreMetadata
......................................................................

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 https://gerrit.osmocom.org/c/onomondo-ipa/+/43049?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: onomondo-ipa
Gerrit-Branch: master
Gerrit-Change-Id: Icfbc141dda82f091bcc9a1d7177e9fdb5b424750
Gerrit-Change-Number: 43049
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <[email protected]>

Reply via email to