blob: 22583b86b68e50deeca870653becfabf19f28dc6 [file] [log] [blame]
Lev Walkin1dc754c2017-08-11 01:40:01 -07001/*-
2 * Copyright (c) 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 <asn_application.h>
9
10#ifdef __cplusplus
11extern "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
Lev Walkin1dc754c2017-08-11 01:40:01 -070023
Bi-Ruei, Chiu1f87ac02017-08-20 01:25:45 +080024extern asn_TYPE_operation_t asn_OP_OPEN_TYPE;
Lev Walkin1dc754c2017-08-11 01:40:01 -070025
26/*
27 * Decode an Open Type which is potentially constraiend
28 * by the other members of the parent structure.
29 */
Lev Walkinc10d30a2017-08-27 00:38:21 -070030asn_dec_rval_t OPEN_TYPE_ber_get(asn_codec_ctx_t *opt_codec_ctx,
31 asn_TYPE_descriptor_t *parent_type,
32 void *parent_structure,
33 asn_TYPE_member_t *element, const void *ptr,
34 size_t size);
35
Lev Walkinf59dac92017-08-26 21:26:51 -070036asn_dec_rval_t OPEN_TYPE_xer_get(asn_codec_ctx_t *opt_codec_ctx,
37 asn_TYPE_descriptor_t *parent_type,
38 void *parent_structure,
39 asn_TYPE_member_t *element, const void *ptr,
40 size_t size);
Lev Walkin1dc754c2017-08-11 01:40:01 -070041
42asn_dec_rval_t OPEN_TYPE_oer_get(asn_codec_ctx_t *opt_codec_ctx,
43 asn_TYPE_descriptor_t *parent_type,
44 void *parent_structure,
45 asn_TYPE_member_t *element,
46 const void *ptr, size_t size);
47
Lev Walkinf59dac92017-08-26 21:26:51 -070048asn_dec_rval_t OPEN_TYPE_uper_get(asn_codec_ctx_t *opt_codec_ctx,
49 asn_TYPE_descriptor_t *parent_type,
50 void *parent_structure,
51 asn_TYPE_member_t *element,
52 asn_per_data_t *pd);
53
Lev Walkin35ace192017-08-26 23:33:14 -070054asn_enc_rval_t OPEN_TYPE_encode_uper(asn_TYPE_descriptor_t *type_descriptor,
55 const asn_per_constraints_t *constraints,
56 void *struct_ptr,
57 asn_per_outp_t *per_output);
Lev Walkin1dc754c2017-08-11 01:40:01 -070058
59#ifdef __cplusplus
60}
61#endif
62
63#endif /* ASN_OPEN_TYPE_H */