blob: 8a524853b7f4710c99713a1616f79024a2a06103 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001/*-
2 * Copyright (c) 2004 Lev Walkin <vlm@lionet.info>. All rights reserved.
3 * Redistribution and modifications are permitted subject to BSD license.
4 */
5/*
6 * Please read the NativeInteger.h for the explanation wrt. differences between
7 * INTEGER and NativeInteger.
8 * Basically, both are decoders and encoders of ASN.1 INTEGER type, but this
9 * implementation deals with the standard (machine-specific) representation
10 * of them instead of using the platform-independent buffer.
11 */
Lev Walkina9cc46e2004-09-22 16:06:28 +000012#include <asn_internal.h>
Lev Walkinf15320b2004-06-03 03:38:44 +000013#include <NativeEnumerated.h>
14
15/*
16 * NativeEnumerated basic type description.
17 */
Lev Walkin5e033762004-09-29 13:26:15 +000018static ber_tlv_tag_t asn_DEF_NativeEnumerated_tags[] = {
Lev Walkinf15320b2004-06-03 03:38:44 +000019 (ASN_TAG_CLASS_UNIVERSAL | (10 << 2))
20};
Lev Walkin5e033762004-09-29 13:26:15 +000021asn_TYPE_descriptor_t asn_DEF_NativeEnumerated = {
Lev Walkinf15320b2004-06-03 03:38:44 +000022 "ENUMERATED", /* The ASN.1 type is still ENUMERATED */
Lev Walkindc06f6b2004-10-20 15:50:55 +000023 "ENUMERATED",
Lev Walkina9cc46e2004-09-22 16:06:28 +000024 NativeInteger_free,
25 NativeInteger_print,
Lev Walkinf15320b2004-06-03 03:38:44 +000026 asn_generic_no_constraint,
27 NativeInteger_decode_ber,
28 NativeInteger_encode_der,
Lev Walkin435cb282004-10-21 14:13:48 +000029 NativeInteger_decode_xer,
Lev Walkina9cc46e2004-09-22 16:06:28 +000030 NativeInteger_encode_xer,
Lev Walkinf15320b2004-06-03 03:38:44 +000031 0, /* Use generic outmost tag fetcher */
Lev Walkin5e033762004-09-29 13:26:15 +000032 asn_DEF_NativeEnumerated_tags,
33 sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]),
34 asn_DEF_NativeEnumerated_tags, /* Same as above */
35 sizeof(asn_DEF_NativeEnumerated_tags) / sizeof(asn_DEF_NativeEnumerated_tags[0]),
Lev Walkin449f8322004-08-20 13:23:42 +000036 0, 0, /* No members */
Lev Walkind9bd7752004-06-05 08:17:50 +000037 0 /* No specifics */
Lev Walkinf15320b2004-06-03 03:38:44 +000038};
Lev Walkin449f8322004-08-20 13:23:42 +000039