]> git.stg.codes - stg.git/blob - libs/smux/RReqPDU.c
Fight Optional
[stg.git] / libs / smux / RReqPDU.c
1 /*
2  * Generated by asn1c-0.9.28 (http://lionet.info/asn1c)
3  * From ASN.1 module "SMUX"
4  *      found in "SMUX.asn1"
5  *      `asn1c -S/mnt/data/software/asn1c/skeletons -fcompound-names -fwide-types`
6  */
7
8 #include "RReqPDU.h"
9
10 static int
11 memb_priority_constraint_1(asn_TYPE_descriptor_t *td, const void *sptr,
12                         asn_app_constraint_failed_f *ctfailcb, void *app_key) {
13         long value;
14         
15         if(!sptr) {
16                 ASN__CTFAIL(app_key, td, sptr,
17                         "%s: value not given (%s:%d)",
18                         td->name, __FILE__, __LINE__);
19                 return -1;
20         }
21         
22         value = *(const long *)sptr;
23         
24         if((value >= -1 && value <= 2147483647)) {
25                 /* Constraint check succeeded */
26                 return 0;
27         } else {
28                 ASN__CTFAIL(app_key, td, sptr,
29                         "%s: constraint failed (%s:%d)",
30                         td->name, __FILE__, __LINE__);
31                 return -1;
32         }
33 }
34
35 static asn_TYPE_member_t asn_MBR_RReqPDU_1[] = {
36         { ATF_NOFLAGS, 0, offsetof(struct RReqPDU, subtree),
37                 (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)),
38                 0,
39                 &asn_DEF_ObjectName,
40                 0,      /* Defer constraints checking to the member type */
41                 0,      /* PER is not compiled, use -gen-PER */
42                 0,
43                 "subtree"
44                 },
45         { ATF_NOFLAGS, 0, offsetof(struct RReqPDU, priority),
46                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
47                 0,
48                 &asn_DEF_NativeInteger,
49                 memb_priority_constraint_1,
50                 0,      /* PER is not compiled, use -gen-PER */
51                 0,
52                 "priority"
53                 },
54         { ATF_NOFLAGS, 0, offsetof(struct RReqPDU, operation),
55                 (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)),
56                 0,
57                 &asn_DEF_INTEGER,
58                 0,      /* Defer constraints checking to the member type */
59                 0,      /* PER is not compiled, use -gen-PER */
60                 0,
61                 "operation"
62                 },
63 };
64 static const ber_tlv_tag_t asn_DEF_RReqPDU_tags_1[] = {
65         (ASN_TAG_CLASS_APPLICATION | (2 << 2)),
66         (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))
67 };
68 static const asn_TYPE_tag2member_t asn_MAP_RReqPDU_tag2el_1[] = {
69     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 1, 0, 1 }, /* priority */
70     { (ASN_TAG_CLASS_UNIVERSAL | (2 << 2)), 2, -1, 0 }, /* operation */
71     { (ASN_TAG_CLASS_UNIVERSAL | (6 << 2)), 0, 0, 0 } /* subtree */
72 };
73 static asn_SEQUENCE_specifics_t asn_SPC_RReqPDU_specs_1 = {
74         sizeof(struct RReqPDU),
75         offsetof(struct RReqPDU, _asn_ctx),
76         asn_MAP_RReqPDU_tag2el_1,
77         3,      /* Count of tags in the map */
78         0, 0, 0,        /* Optional elements (not needed) */
79         -1,     /* Start extensions */
80         -1      /* Stop extensions */
81 };
82 asn_TYPE_descriptor_t asn_DEF_RReqPDU = {
83         "RReqPDU",
84         "RReqPDU",
85         SEQUENCE_free,
86         SEQUENCE_print,
87         SEQUENCE_constraint,
88         SEQUENCE_decode_ber,
89         SEQUENCE_encode_der,
90         SEQUENCE_decode_xer,
91         SEQUENCE_encode_xer,
92         0, 0,   /* No PER support, use "-gen-PER" to enable */
93         0,      /* Use generic outmost tag fetcher */
94         asn_DEF_RReqPDU_tags_1,
95         sizeof(asn_DEF_RReqPDU_tags_1)
96                 /sizeof(asn_DEF_RReqPDU_tags_1[0]) - 1, /* 1 */
97         asn_DEF_RReqPDU_tags_1, /* Same as above */
98         sizeof(asn_DEF_RReqPDU_tags_1)
99                 /sizeof(asn_DEF_RReqPDU_tags_1[0]), /* 2 */
100         0,      /* No PER visible constraints */
101         asn_MBR_RReqPDU_1,
102         3,      /* Elements count */
103         &asn_SPC_RReqPDU_specs_1        /* Additional specs */
104 };
105