Moving in e2sim originally from it/test/simulators
[sim/e2-interface.git] / e2sim / ASN1c / constr_SEQUENCE.h
1 /*****************************************************************************
2 #                                                                            *
3 # Copyright 2019 AT&T Intellectual Property                                  *
4 #                                                                            *
5 # Licensed under the Apache License, Version 2.0 (the "License");            *
6 # you may not use this file except in compliance with the License.           *
7 # You may obtain a copy of the License at                                    *
8 #                                                                            *
9 #      http://www.apache.org/licenses/LICENSE-2.0                            *
10 #                                                                            *
11 # Unless required by applicable law or agreed to in writing, software        *
12 # distributed under the License is distributed on an "AS IS" BASIS,          *
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   *
14 # See the License for the specific language governing permissions and        *
15 # limitations under the License.                                             *
16 #                                                                            *
17 ******************************************************************************/
18
19 /*-
20  * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
21  * Redistribution and modifications are permitted subject to BSD license.
22  */
23 #ifndef _CONSTR_SEQUENCE_H_
24 #define _CONSTR_SEQUENCE_H_
25
26 #include <asn_application.h>
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 typedef struct asn_SEQUENCE_specifics_s {
33         /*
34          * Target structure description.
35          */
36         unsigned struct_size;   /* Size of the target structure. */
37         unsigned ctx_offset;    /* Offset of the asn_struct_ctx_t member */
38
39         /*
40          * Tags to members mapping table (sorted).
41          */
42         const asn_TYPE_tag2member_t *tag2el;
43         unsigned tag2el_count;
44
45         /*
46          * Optional members of the extensions root (roms) or additions (aoms).
47          * Meaningful for PER.
48          */
49         const int *oms;         /* Optional MemberS */
50         unsigned roms_count;    /* Root optional members count */
51         unsigned aoms_count;    /* Additions optional members count */
52
53         /*
54          * Description of an extensions group.
55          * Root components are clustered at the beginning of the structure,
56          * whereas extensions are clustered at the end. -1 means not extensible.
57          */
58         signed first_extension;       /* First extension addition */
59 } asn_SEQUENCE_specifics_t;
60
61
62 /*
63  * A set specialized functions dealing with the SEQUENCE type.
64  */
65 asn_struct_free_f SEQUENCE_free;
66 asn_struct_print_f SEQUENCE_print;
67 asn_struct_compare_f SEQUENCE_compare;
68 asn_constr_check_f SEQUENCE_constraint;
69 ber_type_decoder_f SEQUENCE_decode_ber;
70 der_type_encoder_f SEQUENCE_encode_der;
71 xer_type_decoder_f SEQUENCE_decode_xer;
72 xer_type_encoder_f SEQUENCE_encode_xer;
73 oer_type_decoder_f SEQUENCE_decode_oer;
74 oer_type_encoder_f SEQUENCE_encode_oer;
75 per_type_decoder_f SEQUENCE_decode_uper;
76 per_type_encoder_f SEQUENCE_encode_uper;
77 per_type_decoder_f SEQUENCE_decode_aper;
78 per_type_encoder_f SEQUENCE_encode_aper;
79 asn_random_fill_f  SEQUENCE_random_fill;
80 extern asn_TYPE_operation_t asn_OP_SEQUENCE;
81
82 #ifdef __cplusplus
83 }
84 #endif
85
86 #endif  /* _CONSTR_SEQUENCE_H_ */