2 * Copyright (c) 2017-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
3 * Redistribution and modifications are permitted subject to BSD license.
5 #ifndef ASN_OPEN_TYPE_H
6 #define ASN_OPEN_TYPE_H
8 #include <asn_application.h>
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
24 extern asn_TYPE_operation_t asn_OP_OPEN_TYPE;
27 * Decode an Open Type which is potentially constraiend
28 * by the other members of the parent structure.
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);
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);
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,
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,
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);
63 #endif /* ASN_OPEN_TYPE_H */