]> git.stg.codes - stg.git/blob - libs/smux/include/stg/constr_CHOICE.h
83404e6d43573c9903888fb5c49853e852a7848e
[stg.git] / libs / smux / include / stg / constr_CHOICE.h
1 /*-
2  * Copyright (c) 2003, 2004, 2005 Lev Walkin <vlm@lionet.info>.
3  * All rights reserved.
4  * Redistribution and modifications are permitted subject to BSD license.
5  */
6 #ifndef _CONSTR_CHOICE_H_
7 #define _CONSTR_CHOICE_H_
8
9 #include <asn_application.h>
10
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
14
15 typedef struct asn_CHOICE_specifics_s {
16         /*
17          * Target structure description.
18          */
19         int struct_size;        /* Size of the target structure. */
20         int ctx_offset;         /* Offset of the asn_codec_ctx_t member */
21         int pres_offset;        /* Identifier of the present member */
22         int pres_size;          /* Size of the identifier (enum) */
23
24         /*
25          * Tags to members mapping table.
26          */
27         asn_TYPE_tag2member_t *tag2el;
28         int tag2el_count;
29
30         /* Canonical ordering of CHOICE elements, for PER */
31         int *canonical_order;
32
33         /*
34          * Extensions-related stuff.
35          */
36         int ext_start;          /* First member of extensions, or -1 */
37 } asn_CHOICE_specifics_t;
38
39 /*
40  * A set specialized functions dealing with the CHOICE type.
41  */
42 asn_struct_free_f CHOICE_free;
43 asn_struct_print_f CHOICE_print;
44 asn_constr_check_f CHOICE_constraint;
45 ber_type_decoder_f CHOICE_decode_ber;
46 der_type_encoder_f CHOICE_encode_der;
47 xer_type_decoder_f CHOICE_decode_xer;
48 xer_type_encoder_f CHOICE_encode_xer;
49 per_type_decoder_f CHOICE_decode_uper;
50 per_type_encoder_f CHOICE_encode_uper;
51 asn_outmost_tag_f CHOICE_outmost_tag;
52
53 #ifdef __cplusplus
54 }
55 #endif
56
57 #endif  /* _CONSTR_CHOICE_H_ */