blob: 7a670b95145b9fa9668e31bda9db787a223e58e0 [file] [log] [blame]
Lev Walkin5bbff1e2004-06-28 21:13:22 +00001
Lev Walkinb47ddce2004-08-11 05:25:47 +00002/*** <<< INCLUDES [PrimitiveType] >>> ***/
Lev Walkin5bbff1e2004-06-28 21:13:22 +00003
4#include <OCTET_STRING.h>
5
6/*** <<< TYPE-DECLS [PrimitiveType] >>> ***/
7
Lev Walkin5bbff1e2004-06-28 21:13:22 +00008typedef OCTET_STRING_t PrimitiveType_t;
9
Lev Walkin5bbff1e2004-06-28 21:13:22 +000010/*** <<< FUNC-DECLS [PrimitiveType] >>> ***/
11
Lev Walkincaf0d5a2005-03-04 23:48:19 +000012extern asn_TYPE_descriptor_t asn_DEF_PrimitiveType;
13asn_struct_free_f PrimitiveType_free;
14asn_struct_print_f PrimitiveType_print;
15asn_constr_check_f PrimitiveType_constraint;
16ber_type_decoder_f PrimitiveType_decode_ber;
17der_type_encoder_f PrimitiveType_encode_der;
18xer_type_decoder_f PrimitiveType_decode_xer;
19xer_type_encoder_f PrimitiveType_encode_xer;
Lev Walkin5bbff1e2004-06-28 21:13:22 +000020
Lev Walkin2e3055d2004-08-20 13:36:32 +000021/*** <<< CODE [PrimitiveType] >>> ***/
22
Lev Walkincaf0d5a2005-03-04 23:48:19 +000023/*
24 * This type is implemented using OCTET_STRING,
25 * so here we adjust the DEF accordingly.
26 */
Lev Walkincaf0d5a2005-03-04 23:48:19 +000027
28/*** <<< STAT-DEFS [PrimitiveType] >>> ***/
29
Lev Walkina7591b52014-10-12 18:37:35 -070030static const ber_tlv_tag_t asn_DEF_PrimitiveType_tags_1[] = {
Lev Walkincaf0d5a2005-03-04 23:48:19 +000031 (ASN_TAG_CLASS_UNIVERSAL | (4 << 2))
32};
33asn_TYPE_descriptor_t asn_DEF_PrimitiveType = {
34 "PrimitiveType",
35 "PrimitiveType",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080036 OCTET_STRING_free,
37 OCTET_STRING_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -070038 OCTET_STRING_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080039 OCTET_STRING_constraint,
40 OCTET_STRING_decode_ber,
41 OCTET_STRING_encode_der,
42 OCTET_STRING_decode_xer,
43 OCTET_STRING_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -070044 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +040045 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkincaf0d5a2005-03-04 23:48:19 +000046 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +000047 asn_DEF_PrimitiveType_tags_1,
48 sizeof(asn_DEF_PrimitiveType_tags_1)
49 /sizeof(asn_DEF_PrimitiveType_tags_1[0]), /* 1 */
50 asn_DEF_PrimitiveType_tags_1, /* Same as above */
51 sizeof(asn_DEF_PrimitiveType_tags_1)
52 /sizeof(asn_DEF_PrimitiveType_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +040053 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +000054 0, /* No PER visible constraints */
Lev Walkincaf0d5a2005-03-04 23:48:19 +000055 0, 0, /* No members */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080056 &asn_SPC_OCTET_STRING_specs /* Additional specs */
Lev Walkincaf0d5a2005-03-04 23:48:19 +000057};
Lev Walkin5bbff1e2004-06-28 21:13:22 +000058
Lev Walkin5bbff1e2004-06-28 21:13:22 +000059
Lev Walkinb47ddce2004-08-11 05:25:47 +000060/*** <<< INCLUDES [ConstructedType] >>> ***/
Lev Walkin5bbff1e2004-06-28 21:13:22 +000061
Lev Walkin22b5ed42006-09-13 02:51:20 +000062#include "PrimitiveType.h"
Lev Walkin5bbff1e2004-06-28 21:13:22 +000063#include <constr_SEQUENCE.h>
64
Lev Walkin5bbff1e2004-06-28 21:13:22 +000065/*** <<< TYPE-DECLS [ConstructedType] >>> ***/
66
Lev Walkin5bbff1e2004-06-28 21:13:22 +000067typedef struct ConstructedType {
68 PrimitiveType_t field;
69
70 /* Context for parsing across buffer boundaries */
Lev Walkindfae9752004-09-29 13:19:37 +000071 asn_struct_ctx_t _asn_ctx;
Lev Walkin5bbff1e2004-06-28 21:13:22 +000072} ConstructedType_t;
73
Lev Walkinc8285712005-03-04 22:18:20 +000074/*** <<< FUNC-DECLS [ConstructedType] >>> ***/
75
76extern asn_TYPE_descriptor_t asn_DEF_ConstructedType;
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080077extern asn_SEQUENCE_specifics_t asn_SPC_ConstructedType_specs_1;
78extern asn_TYPE_member_t asn_MBR_ConstructedType_1[1];
Lev Walkinc8285712005-03-04 22:18:20 +000079
Lev Walkin5bbff1e2004-06-28 21:13:22 +000080/*** <<< STAT-DEFS [ConstructedType] >>> ***/
81
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +080082asn_TYPE_member_t asn_MBR_ConstructedType_1[] = {
Lev Walkincc93b0f2004-09-10 09:18:20 +000083 { ATF_NOFLAGS, 0, offsetof(struct ConstructedType, field),
Lev Walkin2e3055d2004-08-20 13:36:32 +000084 .tag = (ASN_TAG_CLASS_CONTEXT | (5 << 2)),
85 .tag_mode = -1, /* IMPLICIT tag at current level */
Lev Walkinae7bf3f2005-08-29 10:31:14 +000086 .type = &asn_DEF_PrimitiveType,
Lev Walkinba58e1b2005-01-17 12:20:19 +000087 .memb_constraints = 0, /* Defer constraints checking to the member type */
Lev Walkinb33425f2017-07-14 14:59:52 +040088 .oer_constraints = 0, /* OER is not compiled, use -gen-OER */
Lev Walkin59b176e2005-11-26 11:25:14 +000089 .per_constraints = 0, /* PER is not compiled, use -gen-PER */
90 .default_value = 0,
Lev Walkin2e3055d2004-08-20 13:36:32 +000091 .name = "field"
Lev Walkin5bbff1e2004-06-28 21:13:22 +000092 },
93};
Lev Walkina7591b52014-10-12 18:37:35 -070094static const ber_tlv_tag_t asn_DEF_ConstructedType_tags_1[] = {
Lev Walkin5bbff1e2004-06-28 21:13:22 +000095 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
96};
Lev Walkina7591b52014-10-12 18:37:35 -070097static const asn_TYPE_tag2member_t asn_MAP_ConstructedType_tag2el_1[] = {
Lev Walkin4062b012013-10-11 14:29:38 -070098 { (ASN_TAG_CLASS_CONTEXT | (5 << 2)), 0, 0, 0 } /* field */
Lev Walkin5bbff1e2004-06-28 21:13:22 +000099};
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800100asn_SEQUENCE_specifics_t asn_SPC_ConstructedType_specs_1 = {
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000101 sizeof(struct ConstructedType),
Lev Walkindfae9752004-09-29 13:19:37 +0000102 offsetof(struct ConstructedType, _asn_ctx),
Lev Walkin59b176e2005-11-26 11:25:14 +0000103 asn_MAP_ConstructedType_tag2el_1,
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000104 1, /* Count of tags in the map */
Lev Walkin59b176e2005-11-26 11:25:14 +0000105 0, 0, 0, /* Optional elements (not needed) */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000106 -1, /* Start extensions */
107 -1 /* Stop extensions */
108};
Lev Walkindfae9752004-09-29 13:19:37 +0000109asn_TYPE_descriptor_t asn_DEF_ConstructedType = {
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000110 "ConstructedType",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000111 "ConstructedType",
Lev Walkina9cc46e2004-09-22 16:06:28 +0000112 SEQUENCE_free,
113 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700114 SEQUENCE_compare,
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000115 SEQUENCE_constraint,
116 SEQUENCE_decode_ber,
117 SEQUENCE_encode_der,
Lev Walkin61b40d82004-10-23 15:07:45 +0000118 SEQUENCE_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +0000119 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700120 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400121 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000122 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000123 asn_DEF_ConstructedType_tags_1,
124 sizeof(asn_DEF_ConstructedType_tags_1)
125 /sizeof(asn_DEF_ConstructedType_tags_1[0]), /* 1 */
126 asn_DEF_ConstructedType_tags_1, /* Same as above */
127 sizeof(asn_DEF_ConstructedType_tags_1)
128 /sizeof(asn_DEF_ConstructedType_tags_1[0]), /* 1 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400129 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000130 0, /* No PER visible constraints */
Lev Walkine0272aa2005-03-04 11:26:08 +0000131 asn_MBR_ConstructedType_1,
Lev Walkin2e3055d2004-08-20 13:36:32 +0000132 1, /* Elements count */
Lev Walkin59b176e2005-11-26 11:25:14 +0000133 &asn_SPC_ConstructedType_specs_1 /* Additional specs */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000134};
135
136
Lev Walkinb47ddce2004-08-11 05:25:47 +0000137/*** <<< INCLUDES [T] >>> ***/
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000138
Lev Walkin22b5ed42006-09-13 02:51:20 +0000139#include "ConstructedType.h"
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000140
141/*** <<< TYPE-DECLS [T] >>> ***/
142
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000143typedef ConstructedType_t T_t;
144
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000145/*** <<< FUNC-DECLS [T] >>> ***/
146
Lev Walkindfae9752004-09-29 13:19:37 +0000147extern asn_TYPE_descriptor_t asn_DEF_T;
Lev Walkina9cc46e2004-09-22 16:06:28 +0000148asn_struct_free_f T_free;
149asn_struct_print_f T_print;
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000150asn_constr_check_f T_constraint;
151ber_type_decoder_f T_decode_ber;
152der_type_encoder_f T_encode_der;
Lev Walkin0ebe8b32004-10-23 13:26:56 +0000153xer_type_decoder_f T_decode_xer;
Lev Walkina9cc46e2004-09-22 16:06:28 +0000154xer_type_encoder_f T_encode_xer;
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000155
Lev Walkin2e3055d2004-08-20 13:36:32 +0000156/*** <<< CODE [T] >>> ***/
157
Lev Walkin2e3055d2004-08-20 13:36:32 +0000158/*
159 * This type is implemented using ConstructedType,
Lev Walkinc3808c12004-09-23 22:14:58 +0000160 * so here we adjust the DEF accordingly.
Lev Walkin2e3055d2004-08-20 13:36:32 +0000161 */
Lev Walkin2e3055d2004-08-20 13:36:32 +0000162
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000163/*** <<< STAT-DEFS [T] >>> ***/
164
Lev Walkina7591b52014-10-12 18:37:35 -0700165static const ber_tlv_tag_t asn_DEF_T_tags_1[] = {
Lev Walkin188ed2c2004-09-13 08:31:01 +0000166 (ASN_TAG_CLASS_CONTEXT | (3 << 2)),
167 (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000168};
Lev Walkindfae9752004-09-29 13:19:37 +0000169asn_TYPE_descriptor_t asn_DEF_T = {
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000170 "T",
Lev Walkindc06f6b2004-10-20 15:50:55 +0000171 "T",
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800172 SEQUENCE_free,
173 SEQUENCE_print,
Lev Walkincd2f48e2017-08-10 02:14:59 -0700174 SEQUENCE_compare,
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800175 SEQUENCE_constraint,
176 SEQUENCE_decode_ber,
177 SEQUENCE_encode_der,
178 SEQUENCE_decode_xer,
179 SEQUENCE_encode_xer,
Lev Walkinba68c912017-07-06 07:52:39 -0700180 0, 0, /* No OER support, use "-gen-OER" to enable */
Lev Walkinb33425f2017-07-14 14:59:52 +0400181 0, 0, /* No PER support, use "-gen-PER" to enable */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000182 0, /* Use generic outmost tag fetcher */
Lev Walkin59b176e2005-11-26 11:25:14 +0000183 asn_DEF_T_tags_1,
184 sizeof(asn_DEF_T_tags_1)
185 /sizeof(asn_DEF_T_tags_1[0]) - 1, /* 1 */
186 asn_DEF_T_tags_1, /* Same as above */
187 sizeof(asn_DEF_T_tags_1)
188 /sizeof(asn_DEF_T_tags_1[0]), /* 2 */
Lev Walkinb33425f2017-07-14 14:59:52 +0400189 0, /* No OER visible constraints */
Lev Walkin59b176e2005-11-26 11:25:14 +0000190 0, /* No PER visible constraints */
Bi-Ruei, Chiu1fa31c92016-05-16 13:50:09 +0800191 asn_MBR_ConstructedType_1,
192 1, /* Elements count */
193 &asn_SPC_ConstructedType_specs_1 /* Additional specs */
Lev Walkin5bbff1e2004-06-28 21:13:22 +0000194};
195