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