1 /*- 2 * Copyright (c) 2017-2017 Lev Walkin <vlm@lionet.info>. All rights reserved. 3 * Redistribution and modifications are permitted subject to BSD license. 4 */ 5 #ifndef ASN_OPEN_TYPE_H 6 #define ASN_OPEN_TYPE_H 7 8 #include "asn1/asn1c/asn_application.h" 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 #define OPEN_TYPE_free CHOICE_free 15 #define OPEN_TYPE_print CHOICE_print 16 #define OPEN_TYPE_compare CHOICE_compare 17 #define OPEN_TYPE_constraint CHOICE_constraint 18 #define OPEN_TYPE_decode_ber NULL 19 #define OPEN_TYPE_encode_der CHOICE_encode_der 20 #define OPEN_TYPE_decode_xer NULL 21 #define OPEN_TYPE_encode_xer CHOICE_encode_xer 22 #define OPEN_TYPE_decode_uper NULL 23 24 extern asn_TYPE_operation_t asn_OP_OPEN_TYPE; 25 26 /* 27 * Decode an Open Type which is potentially constraiend 28 * by the other members of the parent structure. 29 */ 30 asn_dec_rval_t OPEN_TYPE_ber_get(const asn_codec_ctx_t *opt_codec_ctx, 31 const asn_TYPE_descriptor_t *parent_type, 32 void *parent_structure, 33 const asn_TYPE_member_t *element, 34 const void *ptr, size_t size); 35 36 asn_dec_rval_t OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx, 37 const asn_TYPE_descriptor_t *parent_type, 38 void *parent_structure, 39 const asn_TYPE_member_t *element, 40 const void *ptr, size_t size); 41 42 asn_dec_rval_t OPEN_TYPE_oer_get(const asn_codec_ctx_t *opt_codec_ctx, 43 const asn_TYPE_descriptor_t *parent_type, 44 void *parent_structure, 45 asn_TYPE_member_t *element, const void *ptr, 46 size_t size); 47 48 asn_dec_rval_t OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx, 49 const asn_TYPE_descriptor_t *parent_type, 50 void *parent_structure, 51 const asn_TYPE_member_t *element, 52 asn_per_data_t *pd); 53 54 asn_enc_rval_t OPEN_TYPE_encode_uper( 55 const asn_TYPE_descriptor_t *type_descriptor, 56 const asn_per_constraints_t *constraints, const void *struct_ptr, 57 asn_per_outp_t *per_output); 58 59 #ifdef __cplusplus 60 } 61 #endif 62 63 #endif /* ASN_OPEN_TYPE_H */ 64