jolly has submitted this change. ( 
https://gerrit.osmocom.org/c/onomondo-ipa/+/43072?usp=email )

 (

2 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted 
one.
 )Change subject: V1.2: Add eimId to GetEimConfigurationDataRequest
......................................................................

V1.2: Add eimId to GetEimConfigurationDataRequest

Add search criteria eimId to GetEimConfigurationDataRequest. The IoT
eUICC emulation does not require this, because it returns an empty
result anyway.

Reference: SGP.23 Section: 5.9.18

Related: SYS#8101
Change-Id: Ia8aacd9d5b8ec7a9d524a446114557efdb0614f5
---
M asn1/SGP32Definitions.asn
M src/ipa/libasn/GetEimConfigurationDataRequest.c
M src/ipa/libasn/GetEimConfigurationDataRequest.h
3 files changed, 135 insertions(+), 5 deletions(-)

Approvals:
  dexter: Looks good to me, approved
  Jenkins Builder: Verified




diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn
index 605b3be..bded05f 100644
--- a/asn1/SGP32Definitions.asn
+++ b/asn1/SGP32Definitions.asn
@@ -644,6 +644,9 @@
 -- Section 5.9.18
 -- ASN1START
 GetEimConfigurationDataRequest ::= [85] SEQUENCE { -- Tag 'BF55'
+  searchCriteria CHOICE {
+    eimId [0] UTF8String (SIZE(1..128))
+  } OPTIONAL
 }
 -- ASN1STOP
 -- ASN1START
diff --git a/src/ipa/libasn/GetEimConfigurationDataRequest.c 
b/src/ipa/libasn/GetEimConfigurationDataRequest.c
index b321df9..d33b8fb 100644
--- a/src/ipa/libasn/GetEimConfigurationDataRequest.c
+++ b/src/ipa/libasn/GetEimConfigurationDataRequest.c
@@ -7,17 +7,120 @@

 #include "GetEimConfigurationDataRequest.h"

+static int
+memb_eimId_constraint_2(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 >= 1 && size <= 128)) {
+               /* 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_eimId_constr_3 CC_NOTUSED = {
+       { 0, 0 },
+       -1      /* (SIZE(0..MAX)) */};
+static asn_per_constraints_t asn_PER_memb_eimId_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_type_searchCriteria_constr_2 CC_NOTUSED = 
{
+       { 0, 0 },
+       -1};
+static asn_per_constraints_t asn_PER_type_searchCriteria_constr_2 CC_NOTUSED = 
{
+       { APC_CONSTRAINED | APC_EXTENSIBLE,  0,  0,  0,  0 }    /* (0..0,...) 
*/,
+       { APC_UNCONSTRAINED,    -1, -1,  0,  0 },
+       0, 0    /* No PER value map */
+};
+static asn_TYPE_member_t asn_MBR_searchCriteria_2[] = {
+       { ATF_NOFLAGS, 0, offsetof(struct 
GetEimConfigurationDataRequest__searchCriteria, choice.eimId),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               -1,     /* IMPLICIT tag at current level */
+               &asn_DEF_UTF8String,
+               0,
+               { &asn_OER_memb_eimId_constr_3, &asn_PER_memb_eimId_constr_3,  
memb_eimId_constraint_2 },
+               0, 0, /* No default value */
+               "eimId"
+               },
+};
+static const asn_TYPE_tag2member_t asn_MAP_searchCriteria_tag2el_2[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* eimId */
+};
+static asn_CHOICE_specifics_t asn_SPC_searchCriteria_specs_2 = {
+       sizeof(struct GetEimConfigurationDataRequest__searchCriteria),
+       offsetof(struct GetEimConfigurationDataRequest__searchCriteria, 
_asn_ctx),
+       offsetof(struct GetEimConfigurationDataRequest__searchCriteria, 
present),
+       sizeof(((struct GetEimConfigurationDataRequest__searchCriteria 
*)0)->present),
+       asn_MAP_searchCriteria_tag2el_2,
+       1,      /* Count of tags in the map */
+       0, 0,
+       1       /* Extensions start */
+};
+static /* Use -fall-defs-global to expose */
+asn_TYPE_descriptor_t asn_DEF_searchCriteria_2 = {
+       "searchCriteria",
+       "searchCriteria",
+       &asn_OP_CHOICE,
+       0,      /* No effective tags (pointer) */
+       0,      /* No effective tags (count) */
+       0,      /* No tags (pointer) */
+       0,      /* No tags (count) */
+       { &asn_OER_type_searchCriteria_constr_2, 
&asn_PER_type_searchCriteria_constr_2, CHOICE_constraint },
+       asn_MBR_searchCriteria_2,
+       1,      /* Elements count */
+       &asn_SPC_searchCriteria_specs_2 /* Additional specs */
+};
+
+static asn_TYPE_member_t asn_MBR_GetEimConfigurationDataRequest_1[] = {
+       { ATF_POINTER, 1, offsetof(struct GetEimConfigurationDataRequest, 
searchCriteria),
+               (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
+               +1,     /* EXPLICIT tag at current level */
+               &asn_DEF_searchCriteria_2,
+               0,
+               { 0, 0, 0 },
+               0, 0, /* No default value */
+               "searchCriteria"
+               },
+};
+static const int asn_MAP_GetEimConfigurationDataRequest_oms_1[] = { 0 };
 static const ber_tlv_tag_t asn_DEF_GetEimConfigurationDataRequest_tags_1[] = {
        (ASN_TAG_CLASS_CONTEXT | (85 << 2)),
        (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
 };
+static const asn_TYPE_tag2member_t 
asn_MAP_GetEimConfigurationDataRequest_tag2el_1[] = {
+    { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* searchCriteria */
+};
 static asn_SEQUENCE_specifics_t asn_SPC_GetEimConfigurationDataRequest_specs_1 
= {
        sizeof(struct GetEimConfigurationDataRequest),
        offsetof(struct GetEimConfigurationDataRequest, _asn_ctx),
-       0,      /* No top level tags */
-       0,      /* No tags in the map */
-       0, 0, 0,        /* Optional elements (not needed) */
-       -1,     /* First extension addition */
+       asn_MAP_GetEimConfigurationDataRequest_tag2el_1,
+       1,      /* Count of tags in the map */
+       asn_MAP_GetEimConfigurationDataRequest_oms_1,   /* Optional members */
+       1, 0,   /* Root/Additions */
+       1,      /* First extension addition */
 };
 asn_TYPE_descriptor_t asn_DEF_GetEimConfigurationDataRequest = {
        "GetEimConfigurationDataRequest",
@@ -30,7 +133,8 @@
        sizeof(asn_DEF_GetEimConfigurationDataRequest_tags_1)
                /sizeof(asn_DEF_GetEimConfigurationDataRequest_tags_1[0]), /* 2 
*/
        { 0, 0, SEQUENCE_constraint },
-       0, 0,   /* No members */
+       asn_MBR_GetEimConfigurationDataRequest_1,
+       1,      /* Elements count */
        &asn_SPC_GetEimConfigurationDataRequest_specs_1 /* Additional specs */
 };

diff --git a/src/ipa/libasn/GetEimConfigurationDataRequest.h 
b/src/ipa/libasn/GetEimConfigurationDataRequest.h
index 385ea6e..ab0c3f2 100644
--- a/src/ipa/libasn/GetEimConfigurationDataRequest.h
+++ b/src/ipa/libasn/GetEimConfigurationDataRequest.h
@@ -12,14 +12,37 @@
 #include <asn_application.h>

 /* Including external dependencies */
+#include <UTF8String.h>
+#include <constr_CHOICE.h>
 #include <constr_SEQUENCE.h>

 #ifdef __cplusplus
 extern "C" {
 #endif

+/* Dependencies */
+typedef enum GetEimConfigurationDataRequest__searchCriteria_PR {
+       GetEimConfigurationDataRequest__searchCriteria_PR_NOTHING,      /* No 
components present */
+       GetEimConfigurationDataRequest__searchCriteria_PR_eimId
+       /* Extensions may appear below */
+
+} GetEimConfigurationDataRequest__searchCriteria_PR;
+
 /* GetEimConfigurationDataRequest */
 typedef struct GetEimConfigurationDataRequest {
+       struct GetEimConfigurationDataRequest__searchCriteria {
+               GetEimConfigurationDataRequest__searchCriteria_PR present;
+               union GetEimConfigurationDataRequest__searchCriteria_u {
+                       UTF8String_t     eimId;
+                       /*
+                        * This type is extensible,
+                        * possible extensions are below.
+                        */
+               } choice;
+
+               /* Context for parsing across buffer boundaries */
+               asn_struct_ctx_t _asn_ctx;
+       } *searchCriteria;
        /*
         * This type is extensible,
         * possible extensions are below.

--
To view, visit https://gerrit.osmocom.org/c/onomondo-ipa/+/43072?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: merged
Gerrit-Project: onomondo-ipa
Gerrit-Branch: master
Gerrit-Change-Id: Ia8aacd9d5b8ec7a9d524a446114557efdb0614f5
Gerrit-Change-Number: 43072
Gerrit-PatchSet: 14
Gerrit-Owner: jolly <[email protected]>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: dexter <[email protected]>
Gerrit-Reviewer: jolly <[email protected]>

Reply via email to