jolly has uploaded this change for review.

View Change

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>

To view, visit change 43048. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-MessageType: newchange
Gerrit-Project: onomondo-ipa
Gerrit-Branch: master
Gerrit-Change-Id: I7d659734bfac44da4f1f3d5bca80314b2f20c299
Gerrit-Change-Number: 43048
Gerrit-PatchSet: 1
Gerrit-Owner: jolly <andreas@eversberg.eu>