~ubuntu-branches/ubuntu/raring/freerdp/raring

« back to all changes in this revision

Viewing changes to asn1/MechType.c

  • Committer: Bazaar Package Importer
  • Author(s): Otavio Salvador
  • Date: 2010-06-23 21:39:09 UTC
  • Revision ID: james.westby@ubuntu.com-20100623213909-bb9pvvv03913tdv6
Tags: upstream-0.7.1
ImportĀ upstreamĀ versionĀ 0.7.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Generated by asn1c-0.9.22.1409 (http://lionet.info/asn1c)
 
3
 * From ASN.1 module "SPNEGO"
 
4
 *      found in "spnego.asn1"
 
5
 *      `asn1c -fnative-types -fskeletons-copy`
 
6
 */
 
7
 
 
8
#include <asn_internal.h>
 
9
 
 
10
#include "MechType.h"
 
11
 
 
12
int
 
13
MechType_constraint(asn_TYPE_descriptor_t *td, const void *sptr,
 
14
                        asn_app_constraint_failed_f *ctfailcb, void *app_key) {
 
15
        /* Replace with underlying type checker */
 
16
        td->check_constraints = asn_DEF_OBJECT_IDENTIFIER.check_constraints;
 
17
        return td->check_constraints(td, sptr, ctfailcb, app_key);
 
18
}
 
19
 
 
20
/*
 
21
 * This type is implemented using OBJECT_IDENTIFIER,
 
22
 * so here we adjust the DEF accordingly.
 
23
 */
 
24
static void
 
25
MechType_1_inherit_TYPE_descriptor(asn_TYPE_descriptor_t *td) {
 
26
        td->free_struct    = asn_DEF_OBJECT_IDENTIFIER.free_struct;
 
27
        td->print_struct   = asn_DEF_OBJECT_IDENTIFIER.print_struct;
 
28
        td->ber_decoder    = asn_DEF_OBJECT_IDENTIFIER.ber_decoder;
 
29
        td->der_encoder    = asn_DEF_OBJECT_IDENTIFIER.der_encoder;
 
30
        td->xer_decoder    = asn_DEF_OBJECT_IDENTIFIER.xer_decoder;
 
31
        td->xer_encoder    = asn_DEF_OBJECT_IDENTIFIER.xer_encoder;
 
32
        td->uper_decoder   = asn_DEF_OBJECT_IDENTIFIER.uper_decoder;
 
33
        td->uper_encoder   = asn_DEF_OBJECT_IDENTIFIER.uper_encoder;
 
34
        if(!td->per_constraints)
 
35
                td->per_constraints = asn_DEF_OBJECT_IDENTIFIER.per_constraints;
 
36
        td->elements       = asn_DEF_OBJECT_IDENTIFIER.elements;
 
37
        td->elements_count = asn_DEF_OBJECT_IDENTIFIER.elements_count;
 
38
        td->specifics      = asn_DEF_OBJECT_IDENTIFIER.specifics;
 
39
}
 
40
 
 
41
void
 
42
MechType_free(asn_TYPE_descriptor_t *td,
 
43
                void *struct_ptr, int contents_only) {
 
44
        MechType_1_inherit_TYPE_descriptor(td);
 
45
        td->free_struct(td, struct_ptr, contents_only);
 
46
}
 
47
 
 
48
int
 
49
MechType_print(asn_TYPE_descriptor_t *td, const void *struct_ptr,
 
50
                int ilevel, asn_app_consume_bytes_f *cb, void *app_key) {
 
51
        MechType_1_inherit_TYPE_descriptor(td);
 
52
        return td->print_struct(td, struct_ptr, ilevel, cb, app_key);
 
53
}
 
54
 
 
55
asn_dec_rval_t
 
56
MechType_decode_ber(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 
57
                void **structure, const void *bufptr, size_t size, int tag_mode) {
 
58
        MechType_1_inherit_TYPE_descriptor(td);
 
59
        return td->ber_decoder(opt_codec_ctx, td, structure, bufptr, size, tag_mode);
 
60
}
 
61
 
 
62
asn_enc_rval_t
 
63
MechType_encode_der(asn_TYPE_descriptor_t *td,
 
64
                void *structure, int tag_mode, ber_tlv_tag_t tag,
 
65
                asn_app_consume_bytes_f *cb, void *app_key) {
 
66
        MechType_1_inherit_TYPE_descriptor(td);
 
67
        return td->der_encoder(td, structure, tag_mode, tag, cb, app_key);
 
68
}
 
69
 
 
70
asn_dec_rval_t
 
71
MechType_decode_xer(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 
72
                void **structure, const char *opt_mname, const void *bufptr, size_t size) {
 
73
        MechType_1_inherit_TYPE_descriptor(td);
 
74
        return td->xer_decoder(opt_codec_ctx, td, structure, opt_mname, bufptr, size);
 
75
}
 
76
 
 
77
asn_enc_rval_t
 
78
MechType_encode_xer(asn_TYPE_descriptor_t *td, void *structure,
 
79
                int ilevel, enum xer_encoder_flags_e flags,
 
80
                asn_app_consume_bytes_f *cb, void *app_key) {
 
81
        MechType_1_inherit_TYPE_descriptor(td);
 
82
        return td->xer_encoder(td, structure, ilevel, flags, cb, app_key);
 
83
}
 
84
 
 
85
asn_dec_rval_t
 
86
MechType_decode_uper(asn_codec_ctx_t *opt_codec_ctx, asn_TYPE_descriptor_t *td,
 
87
                asn_per_constraints_t *constraints, void **structure, asn_per_data_t *per_data) {
 
88
        MechType_1_inherit_TYPE_descriptor(td);
 
89
        return td->uper_decoder(opt_codec_ctx, td, constraints, structure, per_data);
 
90
}
 
91
 
 
92
asn_enc_rval_t
 
93
MechType_encode_uper(asn_TYPE_descriptor_t *td,
 
94
                asn_per_constraints_t *constraints,
 
95
                void *structure, asn_per_outp_t *per_out) {
 
96
        MechType_1_inherit_TYPE_descriptor(td);
 
97
        return td->uper_encoder(td, constraints, structure, per_out);
 
98
}
 
99
 
 
100
static ber_tlv_tag_t asn_DEF_MechType_tags_1[] = {
 
101
        (ASN_TAG_CLASS_UNIVERSAL | (6 << 2))
 
102
};
 
103
asn_TYPE_descriptor_t asn_DEF_MechType = {
 
104
        "MechType",
 
105
        "MechType",
 
106
        MechType_free,
 
107
        MechType_print,
 
108
        MechType_constraint,
 
109
        MechType_decode_ber,
 
110
        MechType_encode_der,
 
111
        MechType_decode_xer,
 
112
        MechType_encode_xer,
 
113
        MechType_decode_uper,
 
114
        MechType_encode_uper,
 
115
        0,      /* Use generic outmost tag fetcher */
 
116
        asn_DEF_MechType_tags_1,
 
117
        sizeof(asn_DEF_MechType_tags_1)
 
118
                /sizeof(asn_DEF_MechType_tags_1[0]), /* 1 */
 
119
        asn_DEF_MechType_tags_1,        /* Same as above */
 
120
        sizeof(asn_DEF_MechType_tags_1)
 
121
                /sizeof(asn_DEF_MechType_tags_1[0]), /* 1 */
 
122
        0,      /* No PER visible constraints */
 
123
        0, 0,   /* No members */
 
124
        0       /* No specifics */
 
125
};
 
126