]>
git.proxmox.com Git - mirror_frr.git/blob - lib/yang_wrappers.h
2 * Copyright (C) 2018 NetDEF, Inc.
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)
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
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
20 #ifndef _FRR_NORTHBOUND_WRAPPERS_H_
21 #define _FRR_NORTHBOUND_WRAPPERS_H_
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
, ...);
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
, ...);
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
, ...);
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
, ...);
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
, ...);
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
, ...);
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
, ...);
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
, ...);
82 extern uint16_t yang_str2uint16(const char *value
);
83 extern struct yang_data
*yang_data_new_uint16(const char *xpath
,
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
, ...);
90 extern uint32_t yang_str2uint32(const char *value
);
91 extern struct yang_data
*yang_data_new_uint32(const char *xpath
,
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
, ...);
98 extern uint64_t yang_str2uint64(const char *value
);
99 extern struct yang_data
*yang_data_new_uint64(const char *xpath
,
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
, ...);
106 extern struct yang_data
*yang_data_new_string(const char *xpath
,
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
, ...);
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
,
128 extern void yang_str2ipv4p(const char *value
, union prefixptr prefix
);
129 extern struct yang_data
*yang_data_new_ipv4p(const char *xpath
,
130 union prefixconstptr prefix
);
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
,
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
,
148 extern void yang_str2ipv6p(const char *value
, union prefixptr prefix
);
149 extern struct yang_data
*yang_data_new_ipv6p(const char *xpath
,
150 union prefixconstptr prefix
);
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
,
157 #endif /* _FRR_NORTHBOUND_WRAPPERS_H_ */