jolly has uploaded this change for review. ( https://gerrit.osmocom.org/c/onomondo-ipa/+/43048?usp=email )
Change subject: V1.2: Add IPAe related ASN.1 templates ......................................................................
V1.2: Add IPAe related ASN.1 templates
There is no use of these templates, as beeing IPAe is not supported.
Reference: SGP.32 Section 3.8.4
Related: SYS#8101 Change-Id: I7d659734bfac44da4f1f3d5bca80314b2f20c299 --- M asn1/SGP32Definitions.asn M src/ipa/libasn/CMakeLists.txt A src/ipa/libasn/ISDRProprietaryApplicationTemplateIoT.c A src/ipa/libasn/ISDRProprietaryApplicationTemplateIoT.h A src/ipa/libasn/IpaeActivationRequest.c A src/ipa/libasn/IpaeActivationRequest.h A src/ipa/libasn/IpaeActivationResponse.c A src/ipa/libasn/IpaeActivationResponse.h 8 files changed, 324 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/onomondo-ipa refs/changes/48/43048/1
diff --git a/asn1/SGP32Definitions.asn b/asn1/SGP32Definitions.asn index f38656f..e9e9c46 100644 --- a/asn1/SGP32Definitions.asn +++ b/asn1/SGP32Definitions.asn @@ -352,6 +352,28 @@ } -- ASN1STOP
+-- Section 3.8.4 +-- ASN1START +ISDRProprietaryApplicationTemplateIoT ::= [PRIVATE 1] SEQUENCE { -- Tag 'E1' + euiccConfiguration BIT STRING { + ipaeSupported(0), -- IPA in the eUICC (IPAe) supported + enabledProfile(1) -- eUICC contains an Enabled Profile + } +} +-- ASN1STOP +-- ASN1START +IpaeActivationRequest ::= [66] SEQUENCE { -- Tag 'BF42' + ipaeOption BIT STRING { + activateIpae(0) -- IPAe activation + } +} +-- ASN1START +-- ASN1STOP +IpaeActivationResponse ::= [66] SEQUENCE { -- Tag 'BF42' + ipaeActivationResult INTEGER {ok(0), notSupported(1)} +} +-- ASN1STOP + -- Section 4.1 -- ASN1START IpaCapabilities ::= SEQUENCE { diff --git a/src/ipa/libasn/CMakeLists.txt b/src/ipa/libasn/CMakeLists.txt index 209a5f3..0eb5264 100644 --- a/src/ipa/libasn/CMakeLists.txt +++ b/src/ipa/libasn/CMakeLists.txt @@ -478,6 +478,10 @@ IoTSpecificInfo.h IpaCapabilities.c IpaCapabilities.h +IpaeActivationRequest.c +IpaeActivationRequest.h +IpaeActivationResponse.c +IpaeActivationResponse.h IpaEuiccData.c IpaEuiccDataErrorCode.c IpaEuiccDataErrorCode.h @@ -492,6 +496,8 @@ IpaMode.h ISDRProprietaryApplicationTemplate.c ISDRProprietaryApplicationTemplate.h +ISDRProprietaryApplicationTemplateIoT.c +ISDRProprietaryApplicationTemplateIoT.h IssuerAltName.c IssuerAltName.h IssuingDistributionPoint.c diff --git a/src/ipa/libasn/ISDRProprietaryApplicationTemplateIoT.c b/src/ipa/libasn/ISDRProprietaryApplicationTemplateIoT.c new file mode 100644 index 0000000..01c6819 --- /dev/null +++ b/src/ipa/libasn/ISDRProprietaryApplicationTemplateIoT.c @@ -0,0 +1,51 @@ +/* + * 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 "ISDRProprietaryApplicationTemplateIoT.h" + +static asn_TYPE_member_t asn_MBR_ISDRProprietaryApplicationTemplateIoT_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct ISDRProprietaryApplicationTemplateIoT, euiccConfiguration), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "euiccConfiguration" + }, +}; +static const ber_tlv_tag_t asn_DEF_ISDRProprietaryApplicationTemplateIoT_tags_1[] = { + (ASN_TAG_CLASS_PRIVATE | (1 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_ISDRProprietaryApplicationTemplateIoT_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* euiccConfiguration */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_ISDRProprietaryApplicationTemplateIoT_specs_1 = { + sizeof(struct ISDRProprietaryApplicationTemplateIoT), + offsetof(struct ISDRProprietaryApplicationTemplateIoT, _asn_ctx), + asn_MAP_ISDRProprietaryApplicationTemplateIoT_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_ISDRProprietaryApplicationTemplateIoT = { + "ISDRProprietaryApplicationTemplateIoT", + "ISDRProprietaryApplicationTemplateIoT", + &asn_OP_SEQUENCE, + asn_DEF_ISDRProprietaryApplicationTemplateIoT_tags_1, + sizeof(asn_DEF_ISDRProprietaryApplicationTemplateIoT_tags_1) + /sizeof(asn_DEF_ISDRProprietaryApplicationTemplateIoT_tags_1[0]) - 1, /* 1 */ + asn_DEF_ISDRProprietaryApplicationTemplateIoT_tags_1, /* Same as above */ + sizeof(asn_DEF_ISDRProprietaryApplicationTemplateIoT_tags_1) + /sizeof(asn_DEF_ISDRProprietaryApplicationTemplateIoT_tags_1[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_ISDRProprietaryApplicationTemplateIoT_1, + 1, /* Elements count */ + &asn_SPC_ISDRProprietaryApplicationTemplateIoT_specs_1 /* Additional specs */ +}; + diff --git a/src/ipa/libasn/ISDRProprietaryApplicationTemplateIoT.h b/src/ipa/libasn/ISDRProprietaryApplicationTemplateIoT.h new file mode 100644 index 0000000..f651ce6 --- /dev/null +++ b/src/ipa/libasn/ISDRProprietaryApplicationTemplateIoT.h @@ -0,0 +1,48 @@ +/* + * 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 _ISDRProprietaryApplicationTemplateIoT_H_ +#define _ISDRProprietaryApplicationTemplateIoT_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <BIT_STRING.h> +#include <constr_SEQUENCE.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum ISDRProprietaryApplicationTemplateIoT__euiccConfiguration { + ISDRProprietaryApplicationTemplateIoT__euiccConfiguration_ipaeSupported = 0, + ISDRProprietaryApplicationTemplateIoT__euiccConfiguration_enabledProfile = 1 +} e_ISDRProprietaryApplicationTemplateIoT__euiccConfiguration; + +/* ISDRProprietaryApplicationTemplateIoT */ +typedef struct ISDRProprietaryApplicationTemplateIoT { + BIT_STRING_t euiccConfiguration; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} ISDRProprietaryApplicationTemplateIoT_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_ISDRProprietaryApplicationTemplateIoT; + +#ifdef __cplusplus +} +#endif + +#endif /* _ISDRProprietaryApplicationTemplateIoT_H_ */ +#include <asn_internal.h> diff --git a/src/ipa/libasn/IpaeActivationRequest.c b/src/ipa/libasn/IpaeActivationRequest.c new file mode 100644 index 0000000..13165c2 --- /dev/null +++ b/src/ipa/libasn/IpaeActivationRequest.c @@ -0,0 +1,51 @@ +/* + * 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 "IpaeActivationRequest.h" + +static asn_TYPE_member_t asn_MBR_IpaeActivationRequest_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct IpaeActivationRequest, ipaeOption), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_BIT_STRING, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ipaeOption" + }, +}; +static const ber_tlv_tag_t asn_DEF_IpaeActivationRequest_tags_1[] = { + (ASN_TAG_CLASS_CONTEXT | (66 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IpaeActivationRequest_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ipaeOption */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_IpaeActivationRequest_specs_1 = { + sizeof(struct IpaeActivationRequest), + offsetof(struct IpaeActivationRequest, _asn_ctx), + asn_MAP_IpaeActivationRequest_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_IpaeActivationRequest = { + "IpaeActivationRequest", + "IpaeActivationRequest", + &asn_OP_SEQUENCE, + asn_DEF_IpaeActivationRequest_tags_1, + sizeof(asn_DEF_IpaeActivationRequest_tags_1) + /sizeof(asn_DEF_IpaeActivationRequest_tags_1[0]) - 1, /* 1 */ + asn_DEF_IpaeActivationRequest_tags_1, /* Same as above */ + sizeof(asn_DEF_IpaeActivationRequest_tags_1) + /sizeof(asn_DEF_IpaeActivationRequest_tags_1[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_IpaeActivationRequest_1, + 1, /* Elements count */ + &asn_SPC_IpaeActivationRequest_specs_1 /* Additional specs */ +}; + diff --git a/src/ipa/libasn/IpaeActivationRequest.h b/src/ipa/libasn/IpaeActivationRequest.h new file mode 100644 index 0000000..0bf6857 --- /dev/null +++ b/src/ipa/libasn/IpaeActivationRequest.h @@ -0,0 +1,47 @@ +/* + * 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 _IpaeActivationRequest_H_ +#define _IpaeActivationRequest_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <BIT_STRING.h> +#include <constr_SEQUENCE.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum IpaeActivationRequest__ipaeOption { + IpaeActivationRequest__ipaeOption_activateIpae = 0 +} e_IpaeActivationRequest__ipaeOption; + +/* IpaeActivationRequest */ +typedef struct IpaeActivationRequest { + BIT_STRING_t ipaeOption; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} IpaeActivationRequest_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_IpaeActivationRequest; + +#ifdef __cplusplus +} +#endif + +#endif /* _IpaeActivationRequest_H_ */ +#include <asn_internal.h> diff --git a/src/ipa/libasn/IpaeActivationResponse.c b/src/ipa/libasn/IpaeActivationResponse.c new file mode 100644 index 0000000..2ba8ae7 --- /dev/null +++ b/src/ipa/libasn/IpaeActivationResponse.c @@ -0,0 +1,51 @@ +/* + * 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 "IpaeActivationResponse.h" + +static asn_TYPE_member_t asn_MBR_IpaeActivationResponse_1[] = { + { ATF_NOFLAGS, 0, offsetof(struct IpaeActivationResponse, ipaeActivationResult), + (ASN_TAG_CLASS_CONTEXT | (0 << 2)), + -1, /* IMPLICIT tag at current level */ + &asn_DEF_NativeInteger, + 0, + { 0, 0, 0 }, + 0, 0, /* No default value */ + "ipaeActivationResult" + }, +}; +static const ber_tlv_tag_t asn_DEF_IpaeActivationResponse_tags_1[] = { + (ASN_TAG_CLASS_CONTEXT | (66 << 2)), + (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) +}; +static const asn_TYPE_tag2member_t asn_MAP_IpaeActivationResponse_tag2el_1[] = { + { (ASN_TAG_CLASS_CONTEXT | (0 << 2)), 0, 0, 0 } /* ipaeActivationResult */ +}; +static asn_SEQUENCE_specifics_t asn_SPC_IpaeActivationResponse_specs_1 = { + sizeof(struct IpaeActivationResponse), + offsetof(struct IpaeActivationResponse, _asn_ctx), + asn_MAP_IpaeActivationResponse_tag2el_1, + 1, /* Count of tags in the map */ + 0, 0, 0, /* Optional elements (not needed) */ + 1, /* First extension addition */ +}; +asn_TYPE_descriptor_t asn_DEF_IpaeActivationResponse = { + "IpaeActivationResponse", + "IpaeActivationResponse", + &asn_OP_SEQUENCE, + asn_DEF_IpaeActivationResponse_tags_1, + sizeof(asn_DEF_IpaeActivationResponse_tags_1) + /sizeof(asn_DEF_IpaeActivationResponse_tags_1[0]) - 1, /* 1 */ + asn_DEF_IpaeActivationResponse_tags_1, /* Same as above */ + sizeof(asn_DEF_IpaeActivationResponse_tags_1) + /sizeof(asn_DEF_IpaeActivationResponse_tags_1[0]), /* 2 */ + { 0, 0, SEQUENCE_constraint }, + asn_MBR_IpaeActivationResponse_1, + 1, /* Elements count */ + &asn_SPC_IpaeActivationResponse_specs_1 /* Additional specs */ +}; + diff --git a/src/ipa/libasn/IpaeActivationResponse.h b/src/ipa/libasn/IpaeActivationResponse.h new file mode 100644 index 0000000..ab981f2 --- /dev/null +++ b/src/ipa/libasn/IpaeActivationResponse.h @@ -0,0 +1,48 @@ +/* + * 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 _IpaeActivationResponse_H_ +#define _IpaeActivationResponse_H_ + + +#include <asn_application.h> + +/* Including external dependencies */ +#include <NativeInteger.h> +#include <constr_SEQUENCE.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Dependencies */ +typedef enum IpaeActivationResponse__ipaeActivationResult { + IpaeActivationResponse__ipaeActivationResult_ok = 0, + IpaeActivationResponse__ipaeActivationResult_notSupported = 1 +} e_IpaeActivationResponse__ipaeActivationResult; + +/* IpaeActivationResponse */ +typedef struct IpaeActivationResponse { + long ipaeActivationResult; + /* + * This type is extensible, + * possible extensions are below. + */ + + /* Context for parsing across buffer boundaries */ + asn_struct_ctx_t _asn_ctx; +} IpaeActivationResponse_t; + +/* Implementation */ +extern asn_TYPE_descriptor_t asn_DEF_IpaeActivationResponse; + +#ifdef __cplusplus +} +#endif + +#endif /* _IpaeActivationResponse_H_ */ +#include <asn_internal.h>