jolly has uploaded this change for review.
V1.2: Change fields in RetrieveNotificationsListResponse
Remove notificationAndEprList and restructure definitions in
RetrieveNotificationsListResponse.
This requires name changes in IPA process. The notificationAndEprList
case is removed.
Reference: SGP.32 Section 5.9.11
Related: SYS#8101
Change-Id: I757586e92c5eb1ca54ddf8ab6f71eb418de20f6e
---
M asn1/SGP32Definitions.asn
M src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.c
M src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.h
M src/ipa/libipa/es10b_retr_notif_from_lst.c
4 files changed, 20 insertions(+), 277 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/53/43053/1
diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn
index 8537460..09fda46 100644
--- a/asn1/SGP32Definitions.asn
+++ b/asn1/SGP32Definitions.asn
@@ -577,13 +577,9 @@
-- ASN1START
SGP32-RetrieveNotificationsListResponse ::= [43] CHOICE { -- Tag 'BF2B'
- notificationList SEQUENCE OF SGP32-PendingNotification,
- notificationsListResultError INTEGER { undefinedError(127)},
- euiccPackageResultList SEQUENCE OF EuiccPackageResult,
- notificationAndEprList SEQUENCE {
- notificationList SEQUENCE OF SGP32-PendingNotification,
- euiccPackageResultList SEQUENCE OF EuiccPackageResult
- }
+ notificationList PendingNotificationList, -- Tag 'A0'
+ notificationsListResultError INTEGER { undefinedError(127)}, -- Tag '81'
+ euiccPackageResultList EuiccPackageResultList -- Tag 'A2'
}
-- ASN1STOP
diff --git a/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.c b/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.c
index 13b4b61..29fb7c0 100644
--- a/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.c
+++ b/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.c
@@ -11,216 +11,15 @@
{ 0, 0 },
-1};
asn_per_constraints_t asn_PER_type_SGP32_RetrieveNotificationsListResponse_constr_1 CC_NOTUSED = {
- { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 3 } /* (0..3,...) */,
+ { APC_CONSTRAINED | APC_EXTENSIBLE, 2, 2, 0, 2 } /* (0..2,...) */,
{ APC_UNCONSTRAINED, -1, -1, 0, 0 },
0, 0 /* No PER value map */
};
-static asn_TYPE_member_t asn_MBR_notificationList_2[] = {
- { ATF_POINTER, 0, 0,
- -1 /* Ambiguous tag (CHOICE?) */,
- 0,
- &asn_DEF_SGP32_PendingNotification,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_notificationList_tags_2[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_notificationList_specs_2 = {
- sizeof(struct SGP32_RetrieveNotificationsListResponse__notificationList),
- offsetof(struct SGP32_RetrieveNotificationsListResponse__notificationList, _asn_ctx),
- 2, /* XER encoding is XMLValueList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_notificationList_2 = {
- "notificationList",
- "notificationList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_notificationList_tags_2,
- sizeof(asn_DEF_notificationList_tags_2)
- /sizeof(asn_DEF_notificationList_tags_2[0]) - 1, /* 1 */
- asn_DEF_notificationList_tags_2, /* Same as above */
- sizeof(asn_DEF_notificationList_tags_2)
- /sizeof(asn_DEF_notificationList_tags_2[0]), /* 2 */
- { 0, 0, SEQUENCE_OF_constraint },
- asn_MBR_notificationList_2,
- 1, /* Single element */
- &asn_SPC_notificationList_specs_2 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_euiccPackageResultList_6[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_CONTEXT | (81 << 2)),
- 0,
- &asn_DEF_EuiccPackageResult,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_euiccPackageResultList_tags_6[] = {
- (ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_euiccPackageResultList_specs_6 = {
- sizeof(struct SGP32_RetrieveNotificationsListResponse__euiccPackageResultList),
- offsetof(struct SGP32_RetrieveNotificationsListResponse__euiccPackageResultList, _asn_ctx),
- 2, /* XER encoding is XMLValueList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_euiccPackageResultList_6 = {
- "euiccPackageResultList",
- "euiccPackageResultList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_euiccPackageResultList_tags_6,
- sizeof(asn_DEF_euiccPackageResultList_tags_6)
- /sizeof(asn_DEF_euiccPackageResultList_tags_6[0]) - 1, /* 1 */
- asn_DEF_euiccPackageResultList_tags_6, /* Same as above */
- sizeof(asn_DEF_euiccPackageResultList_tags_6)
- /sizeof(asn_DEF_euiccPackageResultList_tags_6[0]), /* 2 */
- { 0, 0, SEQUENCE_OF_constraint },
- asn_MBR_euiccPackageResultList_6,
- 1, /* Single element */
- &asn_SPC_euiccPackageResultList_specs_6 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_notificationList_9[] = {
- { ATF_POINTER, 0, 0,
- -1 /* Ambiguous tag (CHOICE?) */,
- 0,
- &asn_DEF_SGP32_PendingNotification,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_notificationList_tags_9[] = {
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_notificationList_specs_9 = {
- sizeof(struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList__notificationList),
- offsetof(struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList__notificationList, _asn_ctx),
- 2, /* XER encoding is XMLValueList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_notificationList_9 = {
- "notificationList",
- "notificationList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_notificationList_tags_9,
- sizeof(asn_DEF_notificationList_tags_9)
- /sizeof(asn_DEF_notificationList_tags_9[0]) - 1, /* 1 */
- asn_DEF_notificationList_tags_9, /* Same as above */
- sizeof(asn_DEF_notificationList_tags_9)
- /sizeof(asn_DEF_notificationList_tags_9[0]), /* 2 */
- { 0, 0, SEQUENCE_OF_constraint },
- asn_MBR_notificationList_9,
- 1, /* Single element */
- &asn_SPC_notificationList_specs_9 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_euiccPackageResultList_11[] = {
- { ATF_POINTER, 0, 0,
- (ASN_TAG_CLASS_CONTEXT | (81 << 2)),
- 0,
- &asn_DEF_EuiccPackageResult,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- ""
- },
-};
-static const ber_tlv_tag_t asn_DEF_euiccPackageResultList_tags_11[] = {
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static asn_SET_OF_specifics_t asn_SPC_euiccPackageResultList_specs_11 = {
- sizeof(struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList__euiccPackageResultList),
- offsetof(struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList__euiccPackageResultList, _asn_ctx),
- 2, /* XER encoding is XMLValueList */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_euiccPackageResultList_11 = {
- "euiccPackageResultList",
- "euiccPackageResultList",
- &asn_OP_SEQUENCE_OF,
- asn_DEF_euiccPackageResultList_tags_11,
- sizeof(asn_DEF_euiccPackageResultList_tags_11)
- /sizeof(asn_DEF_euiccPackageResultList_tags_11[0]) - 1, /* 1 */
- asn_DEF_euiccPackageResultList_tags_11, /* Same as above */
- sizeof(asn_DEF_euiccPackageResultList_tags_11)
- /sizeof(asn_DEF_euiccPackageResultList_tags_11[0]), /* 2 */
- { 0, 0, SEQUENCE_OF_constraint },
- asn_MBR_euiccPackageResultList_11,
- 1, /* Single element */
- &asn_SPC_euiccPackageResultList_specs_11 /* Additional specs */
-};
-
-static asn_TYPE_member_t asn_MBR_notificationAndEprList_8[] = {
- { ATF_NOFLAGS, 0, offsetof(struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList, notificationList),
- (ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_notificationList_9,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "notificationList"
- },
- { ATF_NOFLAGS, 0, offsetof(struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList, euiccPackageResultList),
- (ASN_TAG_CLASS_CONTEXT | (1 << 2)),
- 0,
- &asn_DEF_euiccPackageResultList_11,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "euiccPackageResultList"
- },
-};
-static const ber_tlv_tag_t asn_DEF_notificationAndEprList_tags_8[] = {
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
-};
-static const asn_TYPE_tag2member_t asn_MAP_notificationAndEprList_tag2el_8[] = {
- { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* notificationList */
- { (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 } /* euiccPackageResultList */
-};
-static asn_SEQUENCE_specifics_t asn_SPC_notificationAndEprList_specs_8 = {
- sizeof(struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList),
- offsetof(struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList, _asn_ctx),
- asn_MAP_notificationAndEprList_tag2el_8,
- 2, /* Count of tags in the map */
- 0, 0, 0, /* Optional elements (not needed) */
- 2, /* First extension addition */
-};
-static /* Use -fall-defs-global to expose */
-asn_TYPE_descriptor_t asn_DEF_notificationAndEprList_8 = {
- "notificationAndEprList",
- "notificationAndEprList",
- &asn_OP_SEQUENCE,
- asn_DEF_notificationAndEprList_tags_8,
- sizeof(asn_DEF_notificationAndEprList_tags_8)
- /sizeof(asn_DEF_notificationAndEprList_tags_8[0]) - 1, /* 1 */
- asn_DEF_notificationAndEprList_tags_8, /* Same as above */
- sizeof(asn_DEF_notificationAndEprList_tags_8)
- /sizeof(asn_DEF_notificationAndEprList_tags_8[0]), /* 2 */
- { 0, 0, SEQUENCE_constraint },
- asn_MBR_notificationAndEprList_8,
- 2, /* Elements count */
- &asn_SPC_notificationAndEprList_specs_8 /* Additional specs */
-};
-
asn_TYPE_member_t asn_MBR_SGP32_RetrieveNotificationsListResponse_1[] = {
{ ATF_NOFLAGS, 0, offsetof(struct SGP32_RetrieveNotificationsListResponse, choice.notificationList),
(ASN_TAG_CLASS_CONTEXT | (0 << 2)),
- 0,
- &asn_DEF_notificationList_2,
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_PendingNotificationList,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
@@ -237,22 +36,13 @@
},
{ ATF_NOFLAGS, 0, offsetof(struct SGP32_RetrieveNotificationsListResponse, choice.euiccPackageResultList),
(ASN_TAG_CLASS_CONTEXT | (2 << 2)),
- 0,
- &asn_DEF_euiccPackageResultList_6,
+ -1, /* IMPLICIT tag at current level */
+ &asn_DEF_EuiccPackageResultList,
0,
{ 0, 0, 0 },
0, 0, /* No default value */
"euiccPackageResultList"
},
- { ATF_NOFLAGS, 0, offsetof(struct SGP32_RetrieveNotificationsListResponse, choice.notificationAndEprList),
- (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
- 0,
- &asn_DEF_notificationAndEprList_8,
- 0,
- { 0, 0, 0 },
- 0, 0, /* No default value */
- "notificationAndEprList"
- },
};
static const ber_tlv_tag_t asn_DEF_SGP32_RetrieveNotificationsListResponse_tags_1[] = {
(ASN_TAG_CLASS_CONTEXT | (43 << 2))
@@ -260,8 +50,7 @@
static const asn_TYPE_tag2member_t asn_MAP_SGP32_RetrieveNotificationsListResponse_tag2el_1[] = {
{ (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 }, /* notificationList */
{ (ASN_TAG_CLASS_CONTEXT | (1 << 2)), 1, 0, 0 }, /* notificationsListResultError */
- { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 }, /* euiccPackageResultList */
- { (ASN_TAG_CLASS_CONTEXT | (3 << 2)), 3, 0, 0 } /* notificationAndEprList */
+ { (ASN_TAG_CLASS_CONTEXT | (2 << 2)), 2, 0, 0 } /* euiccPackageResultList */
};
asn_CHOICE_specifics_t asn_SPC_SGP32_RetrieveNotificationsListResponse_specs_1 = {
sizeof(struct SGP32_RetrieveNotificationsListResponse),
@@ -269,9 +58,9 @@
offsetof(struct SGP32_RetrieveNotificationsListResponse, present),
sizeof(((struct SGP32_RetrieveNotificationsListResponse *)0)->present),
asn_MAP_SGP32_RetrieveNotificationsListResponse_tag2el_1,
- 4, /* Count of tags in the map */
+ 3, /* Count of tags in the map */
0, 0,
- 4 /* Extensions start */
+ 3 /* Extensions start */
};
asn_TYPE_descriptor_t asn_DEF_SGP32_RetrieveNotificationsListResponse = {
"SGP32-RetrieveNotificationsListResponse",
@@ -285,7 +74,7 @@
/sizeof(asn_DEF_SGP32_RetrieveNotificationsListResponse_tags_1[0]), /* 1 */
{ &asn_OER_type_SGP32_RetrieveNotificationsListResponse_constr_1, &asn_PER_type_SGP32_RetrieveNotificationsListResponse_constr_1, CHOICE_constraint },
asn_MBR_SGP32_RetrieveNotificationsListResponse_1,
- 4, /* Elements count */
+ 3, /* Elements count */
&asn_SPC_SGP32_RetrieveNotificationsListResponse_specs_1 /* Additional specs */
};
diff --git a/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.h b/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.h
index 4315f7e..380cffe 100644
--- a/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.h
+++ b/src/ipa/libasn/SGP32-RetrieveNotificationsListResponse.h
@@ -12,10 +12,9 @@
#include <asn_application.h>
/* Including external dependencies */
+#include "PendingNotificationList.h"
#include <NativeInteger.h>
-#include <asn_SEQUENCE_OF.h>
-#include <constr_SEQUENCE_OF.h>
-#include <constr_SEQUENCE.h>
+#include "EuiccPackageResultList.h"
#include <constr_CHOICE.h>
#ifdef __cplusplus
@@ -27,8 +26,7 @@
SGP32_RetrieveNotificationsListResponse_PR_NOTHING, /* No components present */
SGP32_RetrieveNotificationsListResponse_PR_notificationList,
SGP32_RetrieveNotificationsListResponse_PR_notificationsListResultError,
- SGP32_RetrieveNotificationsListResponse_PR_euiccPackageResultList,
- SGP32_RetrieveNotificationsListResponse_PR_notificationAndEprList
+ SGP32_RetrieveNotificationsListResponse_PR_euiccPackageResultList
/* Extensions may appear below */
} SGP32_RetrieveNotificationsListResponse_PR;
@@ -36,48 +34,13 @@
SGP32_RetrieveNotificationsListResponse__notificationsListResultError_undefinedError = 127
} e_SGP32_RetrieveNotificationsListResponse__notificationsListResultError;
-/* Forward declarations */
-struct SGP32_PendingNotification;
-struct EuiccPackageResult;
-
/* SGP32-RetrieveNotificationsListResponse */
typedef struct SGP32_RetrieveNotificationsListResponse {
SGP32_RetrieveNotificationsListResponse_PR present;
union SGP32_RetrieveNotificationsListResponse_u {
- struct SGP32_RetrieveNotificationsListResponse__notificationList {
- A_SEQUENCE_OF(struct SGP32_PendingNotification) list;
-
- /* Context for parsing across buffer boundaries */
- asn_struct_ctx_t _asn_ctx;
- } notificationList;
+ PendingNotificationList_t notificationList;
long notificationsListResultError;
- struct SGP32_RetrieveNotificationsListResponse__euiccPackageResultList {
- A_SEQUENCE_OF(struct EuiccPackageResult) list;
-
- /* Context for parsing across buffer boundaries */
- asn_struct_ctx_t _asn_ctx;
- } euiccPackageResultList;
- struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList {
- struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList__notificationList {
- A_SEQUENCE_OF(struct SGP32_PendingNotification) list;
-
- /* Context for parsing across buffer boundaries */
- asn_struct_ctx_t _asn_ctx;
- } notificationList;
- struct SGP32_RetrieveNotificationsListResponse__notificationAndEprList__euiccPackageResultList {
- A_SEQUENCE_OF(struct EuiccPackageResult) list;
-
- /* Context for parsing across buffer boundaries */
- asn_struct_ctx_t _asn_ctx;
- } euiccPackageResultList;
- /*
- * This type is extensible,
- * possible extensions are below.
- */
-
- /* Context for parsing across buffer boundaries */
- asn_struct_ctx_t _asn_ctx;
- } notificationAndEprList;
+ EuiccPackageResultList_t euiccPackageResultList;
/*
* This type is extensible,
* possible extensions are below.
@@ -91,16 +54,12 @@
/* Implementation */
extern asn_TYPE_descriptor_t asn_DEF_SGP32_RetrieveNotificationsListResponse;
extern asn_CHOICE_specifics_t asn_SPC_SGP32_RetrieveNotificationsListResponse_specs_1;
-extern asn_TYPE_member_t asn_MBR_SGP32_RetrieveNotificationsListResponse_1[4];
+extern asn_TYPE_member_t asn_MBR_SGP32_RetrieveNotificationsListResponse_1[3];
extern asn_per_constraints_t asn_PER_type_SGP32_RetrieveNotificationsListResponse_constr_1;
#ifdef __cplusplus
}
#endif
-/* Referred external types */
-#include "SGP32-PendingNotification.h"
-#include "EuiccPackageResult.h"
-
#endif /* _SGP32_RetrieveNotificationsListResponse_H_ */
#include <asn_internal.h>
diff --git a/src/ipa/libipa/es10b_retr_notif_from_lst.c b/src/ipa/libipa/es10b_retr_notif_from_lst.c
index 170f59a..bd90b3a 100644
--- a/src/ipa/libipa/es10b_retr_notif_from_lst.c
+++ b/src/ipa/libipa/es10b_retr_notif_from_lst.c
@@ -24,7 +24,7 @@
#include "es10b_retr_notif_from_lst.h"
/* Convert a notificationList (RetrieveNotificationsListResponse) from RSP to SGP32 format. */
-void convert_notification_list(struct SGP32_RetrieveNotificationsListResponse__notificationList *lst_out,
+void convert_notification_list(PendingNotificationList_t *lst_out,
const struct RetrieveNotificationsListResponse__notificationList *lst_in)
{
unsigned int i;
@@ -67,7 +67,7 @@
}
/*! Free a converted notificationList (RetrieveNotificationsListResponse). */
-void free_converted_notification_list(struct SGP32_RetrieveNotificationsListResponse__notificationList *lst)
+void free_converted_notification_list(PendingNotificationList_t *lst)
{
int i;
if (!lst)
@@ -138,7 +138,6 @@
res->notif_lst_result_err, "(unknown)"));
case SGP32_RetrieveNotificationsListResponse_PR_notificationList:
case SGP32_RetrieveNotificationsListResponse_PR_euiccPackageResultList:
- case SGP32_RetrieveNotificationsListResponse_PR_notificationAndEprList:
/* Nothing to do */
break;
default:
To view, visit change 43053. To unsubscribe, or for help writing mail filters, visit settings.