blob: d0f02fd79449589c48873377ac41c41301224b27 [file] [log] [blame]
Lev Walkin1dc754c2017-08-11 01:40:01 -07001/*-
Lev Walkin20696a42017-10-17 21:27:33 -07002 * Copyright (c) 2017-2017 Lev Walkin <vlm@lionet.info>. All rights reserved.
Lev Walkin1dc754c2017-08-11 01:40:01 -07003 * 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 Walkin20696a42017-10-17 21:27:33 -070031 const asn_TYPE_descriptor_t *parent_type,
Lev Walkinc10d30a2017-08-27 00:38:21 -070032 void *parent_structure,
Lev Walkin20696a42017-10-17 21:27:33 -070033 const asn_TYPE_member_t *element,
34 const void *ptr, size_t size);
Lev Walkinc10d30a2017-08-27 00:38:21 -070035
Lev Walkinafbf2a92017-09-12 23:30:27 -070036asn_dec_rval_t OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx,
Lev Walkin20696a42017-10-17 21:27:33 -070037 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
42asn_dec_rval_t OPEN_TYPE_oer_get(const asn_codec_ctx_t *opt_codec_ctx,
43 const asn_TYPE_descriptor_t *parent_type,
Lev Walkinf59dac92017-08-26 21:26:51 -070044 void *parent_structure,
45 asn_TYPE_member_t *element, const void *ptr,
46 size_t size);
Lev Walkin1dc754c2017-08-11 01:40:01 -070047
Lev Walkinafbf2a92017-09-12 23:30:27 -070048asn_dec_rval_t OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx,
Lev Walkin20696a42017-10-17 21:27:33 -070049 const asn_TYPE_descriptor_t *parent_type,
Lev Walkinf59dac92017-08-26 21:26:51 -070050 void *parent_structure,
Lev Walkin20696a42017-10-17 21:27:33 -070051 const asn_TYPE_member_t *element,
Lev Walkinf59dac92017-08-26 21:26:51 -070052 asn_per_data_t *pd);
53
Lev Walkin20696a42017-10-17 21:27:33 -070054asn_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);
Lev Walkin1dc754c2017-08-11 01:40:01 -070058
59#ifdef __cplusplus
60}
61#endif
62
63#endif /* ASN_OPEN_TYPE_H */