1 /*-
2  * Copyright (c) 2003-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
3  * Redistribution and modifications are permitted subject to BSD license.
4  */
5 #ifndef	_CONSTR_SEQUENCE_H_
6 #define	_CONSTR_SEQUENCE_H_
7 
8 #include "asn1/asn1c/asn_application.h"
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 typedef struct asn_SEQUENCE_specifics_s {
15 	/*
16 	 * Target structure description.
17 	 */
18 	unsigned struct_size;	/* Size of the target structure. */
19 	unsigned ctx_offset;	/* Offset of the asn_struct_ctx_t member */
20 
21 	/*
22 	 * Tags to members mapping table (sorted).
23 	 */
24 	const asn_TYPE_tag2member_t *tag2el;
25 	unsigned tag2el_count;
26 
27 	/*
28 	 * Optional members of the extensions root (roms) or additions (aoms).
29 	 * Meaningful for PER.
30 	 */
31 	const int *oms;         /* Optional MemberS */
32 	unsigned roms_count;    /* Root optional members count */
33 	unsigned aoms_count;    /* Additions optional members count */
34 
35 	/*
36 	 * Description of an extensions group.
37 	 * Root components are clustered at the beginning of the structure,
38 	 * whereas extensions are clustered at the end. -1 means not extensible.
39 	 */
40 	signed first_extension;       /* First extension addition */
41 } asn_SEQUENCE_specifics_t;
42 
43 
44 /*
45  * A set specialized functions dealing with the SEQUENCE type.
46  */
47 asn_struct_free_f SEQUENCE_free;
48 asn_struct_print_f SEQUENCE_print;
49 asn_struct_compare_f SEQUENCE_compare;
50 asn_constr_check_f SEQUENCE_constraint;
51 ber_type_decoder_f SEQUENCE_decode_ber;
52 der_type_encoder_f SEQUENCE_encode_der;
53 xer_type_decoder_f SEQUENCE_decode_xer;
54 xer_type_encoder_f SEQUENCE_encode_xer;
55 oer_type_decoder_f SEQUENCE_decode_oer;
56 oer_type_encoder_f SEQUENCE_encode_oer;
57 per_type_decoder_f SEQUENCE_decode_uper;
58 per_type_encoder_f SEQUENCE_encode_uper;
59 asn_random_fill_f  SEQUENCE_random_fill;
60 extern asn_TYPE_operation_t asn_OP_SEQUENCE;
61 
62 #ifdef __cplusplus
63 }
64 #endif
65 
66 #endif	/* _CONSTR_SEQUENCE_H_ */
67