]>
Commit | Line | Data |
---|---|---|
1c2facd1 RW |
1 | /* |
2 | * Copyright (C) 2018 NetDEF, Inc. | |
3 | * Renato Westphal | |
4 | * | |
5 | * This program is free software; you can redistribute it and/or modify it | |
6 | * under the terms of the GNU General Public License as published by the Free | |
7 | * Software Foundation; either version 2 of the License, or (at your option) | |
8 | * any later version. | |
9 | * | |
10 | * This program is distributed in the hope that it will be useful, but WITHOUT | |
11 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
12 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | |
13 | * more details. | |
14 | * | |
15 | * You should have received a copy of the GNU General Public License along | |
16 | * with this program; see the file COPYING; if not, write to the Free Software | |
17 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
18 | */ | |
19 | ||
20 | #ifndef _FRR_NORTHBOUND_WRAPPERS_H_ | |
21 | #define _FRR_NORTHBOUND_WRAPPERS_H_ | |
22 | ||
23 | #include "prefix.h" | |
24 | ||
25 | /* bool */ | |
26 | extern bool yang_str2bool(const char *value); | |
27 | extern struct yang_data *yang_data_new_bool(const char *xpath, bool value); | |
28 | extern bool yang_dnode_get_bool(const struct lyd_node *dnode, | |
29 | const char *xpath_fmt, ...); | |
30 | extern bool yang_get_default_bool(const char *xpath_fmt, ...); | |
31 | ||
32 | /* dec64 */ | |
33 | extern double yang_str2dec64(const char *xpath, const char *value); | |
34 | extern struct yang_data *yang_data_new_dec64(const char *xpath, double value); | |
35 | extern double yang_dnode_get_dec64(const struct lyd_node *dnode, | |
36 | const char *xpath_fmt, ...); | |
37 | extern double yang_get_default_dec64(const char *xpath_fmt, ...); | |
38 | ||
39 | /* enum */ | |
40 | extern int yang_str2enum(const char *xpath, const char *value); | |
41 | extern struct yang_data *yang_data_new_enum(const char *xpath, int value); | |
42 | extern int yang_dnode_get_enum(const struct lyd_node *dnode, | |
43 | const char *xpath_fmt, ...); | |
44 | extern int yang_get_default_enum(const char *xpath_fmt, ...); | |
45 | ||
46 | /* int8 */ | |
47 | extern int8_t yang_str2int8(const char *value); | |
48 | extern struct yang_data *yang_data_new_int8(const char *xpath, int8_t value); | |
49 | extern int8_t yang_dnode_get_int8(const struct lyd_node *dnode, | |
50 | const char *xpath_fmt, ...); | |
51 | extern int8_t yang_get_default_int8(const char *xpath_fmt, ...); | |
52 | ||
53 | /* int16 */ | |
54 | extern int16_t yang_str2int16(const char *value); | |
55 | extern struct yang_data *yang_data_new_int16(const char *xpath, int16_t value); | |
56 | extern int16_t yang_dnode_get_int16(const struct lyd_node *dnode, | |
57 | const char *xpath_fmt, ...); | |
58 | extern int16_t yang_get_default_int16(const char *xpath_fmt, ...); | |
59 | ||
60 | /* int32 */ | |
61 | extern int32_t yang_str2int32(const char *value); | |
62 | extern struct yang_data *yang_data_new_int32(const char *xpath, int32_t value); | |
63 | extern int32_t yang_dnode_get_int32(const struct lyd_node *dnode, | |
64 | const char *xpath_fmt, ...); | |
65 | extern int32_t yang_get_default_int32(const char *xpath_fmt, ...); | |
66 | ||
67 | /* int64 */ | |
68 | extern int64_t yang_str2int64(const char *value); | |
69 | extern struct yang_data *yang_data_new_int64(const char *xpath, int64_t value); | |
70 | extern int64_t yang_dnode_get_int64(const struct lyd_node *dnode, | |
71 | const char *xpath_fmt, ...); | |
72 | extern int64_t yang_get_default_int64(const char *xpath_fmt, ...); | |
73 | ||
74 | /* uint8 */ | |
75 | extern uint8_t yang_str2uint8(const char *value); | |
76 | extern struct yang_data *yang_data_new_uint8(const char *xpath, uint8_t value); | |
77 | extern uint8_t yang_dnode_get_uint8(const struct lyd_node *dnode, | |
78 | const char *xpath_fmt, ...); | |
79 | extern uint8_t yang_get_default_uint8(const char *xpath_fmt, ...); | |
80 | ||
81 | /* uint16 */ | |
82 | extern uint16_t yang_str2uint16(const char *value); | |
83 | extern struct yang_data *yang_data_new_uint16(const char *xpath, | |
84 | uint16_t value); | |
85 | extern uint16_t yang_dnode_get_uint16(const struct lyd_node *dnode, | |
86 | const char *xpath_fmt, ...); | |
87 | extern uint16_t yang_get_default_uint16(const char *xpath_fmt, ...); | |
88 | ||
89 | /* uint32 */ | |
90 | extern uint32_t yang_str2uint32(const char *value); | |
91 | extern struct yang_data *yang_data_new_uint32(const char *xpath, | |
92 | uint32_t value); | |
93 | extern uint32_t yang_dnode_get_uint32(const struct lyd_node *dnode, | |
94 | const char *xpath_fmt, ...); | |
95 | extern uint32_t yang_get_default_uint32(const char *xpath_fmt, ...); | |
96 | ||
97 | /* uint64 */ | |
98 | extern uint64_t yang_str2uint64(const char *value); | |
99 | extern struct yang_data *yang_data_new_uint64(const char *xpath, | |
100 | uint64_t value); | |
101 | extern uint64_t yang_dnode_get_uint64(const struct lyd_node *dnode, | |
102 | const char *xpath_fmt, ...); | |
103 | extern uint64_t yang_get_default_uint64(const char *xpath_fmt, ...); | |
104 | ||
105 | /* string */ | |
106 | extern struct yang_data *yang_data_new_string(const char *xpath, | |
107 | const char *value); | |
108 | extern const char *yang_dnode_get_string(const struct lyd_node *dnode, | |
109 | const char *xpath_fmt, ...); | |
110 | extern void yang_dnode_get_string_buf(char *buf, size_t size, | |
111 | const struct lyd_node *dnode, | |
112 | const char *xpath_fmt, ...); | |
113 | extern const char *yang_get_default_string(const char *xpath_fmt, ...); | |
114 | extern void yang_get_default_string_buf(char *buf, size_t size, | |
115 | const char *xpath_fmt, ...); | |
116 | ||
117 | /* ipv4 */ | |
118 | extern void yang_str2ipv4(const char *value, struct in_addr *addr); | |
119 | extern struct yang_data *yang_data_new_ipv4(const char *xpath, | |
120 | const struct in_addr *addr); | |
121 | extern void yang_dnode_get_ipv4(struct in_addr *addr, | |
122 | const struct lyd_node *dnode, | |
123 | const char *xpath_fmt, ...); | |
124 | extern void yang_get_default_ipv4(struct in_addr *var, const char *xpath_fmt, | |
125 | ...); | |
126 | ||
127 | /* ipv4p */ | |
128 | extern void yang_str2ipv4p(const char *value, union prefixptr prefix); | |
129 | extern struct yang_data *yang_data_new_ipv4p(const char *xpath, | |
70065793 | 130 | union prefixconstptr prefix); |
1c2facd1 RW |
131 | extern void yang_dnode_get_ipv4p(union prefixptr prefix, |
132 | const struct lyd_node *dnode, | |
133 | const char *xpath_fmt, ...); | |
134 | extern void yang_get_default_ipv4p(union prefixptr var, const char *xpath_fmt, | |
135 | ...); | |
136 | ||
137 | /* ipv6 */ | |
138 | extern void yang_str2ipv6(const char *value, struct in6_addr *addr); | |
139 | extern struct yang_data *yang_data_new_ipv6(const char *xpath, | |
140 | const struct in6_addr *addr); | |
141 | extern void yang_dnode_get_ipv6(struct in6_addr *addr, | |
142 | const struct lyd_node *dnode, | |
143 | const char *xpath_fmt, ...); | |
144 | extern void yang_get_default_ipv6(struct in6_addr *var, const char *xpath_fmt, | |
145 | ...); | |
146 | ||
147 | /* ipv6p */ | |
148 | extern void yang_str2ipv6p(const char *value, union prefixptr prefix); | |
149 | extern struct yang_data *yang_data_new_ipv6p(const char *xpath, | |
70065793 | 150 | union prefixconstptr prefix); |
1c2facd1 RW |
151 | extern void yang_dnode_get_ipv6p(union prefixptr prefix, |
152 | const struct lyd_node *dnode, | |
153 | const char *xpath_fmt, ...); | |
154 | extern void yang_get_default_ipv6p(union prefixptr var, const char *xpath_fmt, | |
155 | ...); | |
156 | ||
157 | #endif /* _FRR_NORTHBOUND_WRAPPERS_H_ */ |