Enhanced SIM for E2AP v1 for TS UC
[sim/e2-interface.git] / e2sim / e2apv1sim / ASN1c / OPEN_TYPE.h
1 /*-
2  * Copyright (c) 2017-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
11 extern "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_oer NULL
23 #define OPEN_TYPE_encode_oer CHOICE_encode_oer
24 #define OPEN_TYPE_decode_uper NULL
25 #define OPEN_TYPE_decode_aper NULL
26
27 extern asn_TYPE_operation_t asn_OP_OPEN_TYPE;
28
29 /*
30  * Decode an Open Type which is potentially constraiend
31  * by the other members of the parent structure.
32  */
33 asn_dec_rval_t OPEN_TYPE_ber_get(const asn_codec_ctx_t *opt_codec_ctx,
34                                  const asn_TYPE_descriptor_t *parent_type,
35                                  void *parent_structure,
36                                  const asn_TYPE_member_t *element,
37                                  const void *ptr, size_t size);
38
39 asn_dec_rval_t OPEN_TYPE_xer_get(const asn_codec_ctx_t *opt_codec_ctx,
40                                  const asn_TYPE_descriptor_t *parent_type,
41                                  void *parent_structure,
42                                  const asn_TYPE_member_t *element,
43                                  const void *ptr, size_t size);
44
45 asn_dec_rval_t OPEN_TYPE_oer_get(const asn_codec_ctx_t *opt_codec_ctx,
46                                  const asn_TYPE_descriptor_t *parent_type,
47                                  void *parent_structure,
48                                  asn_TYPE_member_t *element, const void *ptr,
49                                  size_t size);
50
51 asn_dec_rval_t OPEN_TYPE_uper_get(const asn_codec_ctx_t *opt_codec_ctx,
52                                   const asn_TYPE_descriptor_t *parent_type,
53                                   void *parent_structure,
54                                   const asn_TYPE_member_t *element,
55                                   asn_per_data_t *pd);
56
57 asn_dec_rval_t OPEN_TYPE_aper_get(const asn_codec_ctx_t *opt_codec_ctx,
58                                   const asn_TYPE_descriptor_t *parent_type,
59                                   void *parent_structure,
60                                   const asn_TYPE_member_t *element,
61                                   asn_per_data_t *pd);
62
63 asn_enc_rval_t OPEN_TYPE_encode_uper(
64     const asn_TYPE_descriptor_t *type_descriptor,
65     const asn_per_constraints_t *constraints, const void *struct_ptr,
66     asn_per_outp_t *per_output);
67
68 asn_enc_rval_t OPEN_TYPE_encode_aper(
69     const asn_TYPE_descriptor_t *type_descriptor,
70     const asn_per_constraints_t *constraints, const void *struct_ptr,
71     asn_per_outp_t *per_output);
72
73 #ifdef __cplusplus
74 }
75 #endif
76
77 #endif  /* ASN_OPEN_TYPE_H */