1 /*****************************************************************************
3 # Copyright 2019 AT&T Intellectual Property *
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 *
9 # http://www.apache.org/licenses/LICENSE-2.0 *
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. *
17 ******************************************************************************/
20 * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
21 * Redistribution and modifications are permitted subject to BSD license.
23 #ifndef _CONSTR_SEQUENCE_H_
24 #define _CONSTR_SEQUENCE_H_
26 #include <asn_application.h>
32 typedef struct asn_SEQUENCE_specifics_s {
34 * Target structure description.
36 unsigned struct_size; /* Size of the target structure. */
37 unsigned ctx_offset; /* Offset of the asn_struct_ctx_t member */
40 * Tags to members mapping table (sorted).
42 const asn_TYPE_tag2member_t *tag2el;
43 unsigned tag2el_count;
46 * Optional members of the extensions root (roms) or additions (aoms).
49 const int *oms; /* Optional MemberS */
50 unsigned roms_count; /* Root optional members count */
51 unsigned aoms_count; /* Additions optional members count */
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.
58 signed first_extension; /* First extension addition */
59 } asn_SEQUENCE_specifics_t;
63 * A set specialized functions dealing with the SEQUENCE type.
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;
86 #endif /* _CONSTR_SEQUENCE_H_ */