blob: 617fb6a97f7f096c32e5b9e869f353e352fddded [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 Walkinafbf2a92017-09-12 23:30:27 -070030asn_dec_rval_t OPEN_TYPE_ber_get(const asn_codec_ctx_t *opt_codec_ctx,
Lev Walkinc10d30a2017-08-27 00:38:21 -070031 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 Walkinafbf2a92017-09-12 23:30:27 -070036asn_dec_rval_t OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx,
Lev Walkinf59dac92017-08-26 21:26:51 -070037 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
Lev Walkinafbf2a92017-09-12 23:30:27 -070042asn_dec_rval_t OPEN_TYPE_oer_get(const asn_codec_ctx_t *opt_codec_ctx,
Lev Walkin1dc754c2017-08-11 01:40:01 -070043 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 Walkinafbf2a92017-09-12 23:30:27 -070048asn_dec_rval_t OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx,
Lev Walkinf59dac92017-08-26 21:26:51 -070049 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 */