jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/onomondo-ipa/+/43053?usp=email )
Change subject: V1.2: Change fields in RetrieveNotificationsListResponse ......................................................................
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: