3 * Copyright (c) 2017-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
4 * Redistribution and modifications are permitted subject to BSD license.
6 #ifndef ASN_OPEN_TYPE_H
7 #define ASN_OPEN_TYPE_H
9 #include <asn_application.h>
15 #define OPEN_TYPE_free CHOICE_free
16 #define OPEN_TYPE_print CHOICE_print
17 #define OPEN_TYPE_compare CHOICE_compare
18 #define OPEN_TYPE_constraint CHOICE_constraint
19 #define OPEN_TYPE_decode_ber NULL
20 #define OPEN_TYPE_encode_der CHOICE_encode_der
21 #define OPEN_TYPE_decode_xer NULL
22 #define OPEN_TYPE_encode_xer CHOICE_encode_xer
23 #define OPEN_TYPE_decode_oer NULL
24 #define OPEN_TYPE_encode_oer CHOICE_encode_oer
25 #define OPEN_TYPE_decode_uper NULL
26 #define OPEN_TYPE_decode_aper NULL
28 extern asn_TYPE_operation_t asn_OP_OPEN_TYPE;
31 * Decode an Open Type which is potentially constraiend
32 * by the other members of the parent structure.
34 asn_dec_rval_t OPEN_TYPE_ber_get(const asn_codec_ctx_t *opt_codec_ctx,
35 const asn_TYPE_descriptor_t *parent_type,
36 void *parent_structure,
37 const asn_TYPE_member_t *element,
38 const void *ptr, size_t size);
40 asn_dec_rval_t OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx,
41 const asn_TYPE_descriptor_t *parent_type,
42 void *parent_structure,
43 const asn_TYPE_member_t *element,
44 const void *ptr, size_t size);
46 asn_dec_rval_t OPEN_TYPE_oer_get(const asn_codec_ctx_t *opt_codec_ctx,
47 const asn_TYPE_descriptor_t *parent_type,
48 void *parent_structure,
49 asn_TYPE_member_t *element, const void *ptr,
52 asn_dec_rval_t OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx,
53 const asn_TYPE_descriptor_t *parent_type,
54 void *parent_structure,
55 const asn_TYPE_member_t *element,
58 asn_dec_rval_t OPEN_TYPE_aper_get(const asn_codec_ctx_t *opt_codec_ctx,
59 const asn_TYPE_descriptor_t *parent_type,
60 void *parent_structure,
61 const asn_TYPE_member_t *element,
64 asn_enc_rval_t OPEN_TYPE_encode_uper(
65 const asn_TYPE_descriptor_t *type_descriptor,
66 const asn_per_constraints_t *constraints, const void *struct_ptr,
67 asn_per_outp_t *per_output);
69 asn_enc_rval_t OPEN_TYPE_encode_aper(
70 const asn_TYPE_descriptor_t *type_descriptor,
71 const asn_per_constraints_t *constraints, const void *struct_ptr,
72 asn_per_outp_t *per_output);
78 #endif /* ASN_OPEN_TYPE_H */