libyang  4.0.2
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
printer_data.h
Go to the documentation of this file.
1 
16 #ifndef LY_PRINTER_DATA_H_
17 #define LY_PRINTER_DATA_H_
18 
19 #include <stdint.h>
20 #include <stdio.h>
21 
22 #include "log.h"
23 #include "out.h"
24 #include "tree_data.h"
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 struct ly_out;
31 
87 #define LYD_PRINT_WITHSIBLINGS 0x01
89 #define LYD_PRINT_SHRINK LY_PRINT_SHRINK
93 #define LYD_PRINT_KEEPEMPTYCONT 0x04
94 #define LYD_PRINT_WD_MASK 0xF0
95 #define LYD_PRINT_WD_EXPLICIT 0x00
99 #define LYD_PRINT_WD_TRIM 0x10
101 #define LYD_PRINT_WD_ALL 0x20
103 #define LYD_PRINT_WD_ALL_TAG 0x40
108 #define LYD_PRINT_WD_IMPL_TAG 0x80
125 LIBYANG_API_DECL LY_ERR lyd_print_all(struct ly_out *out, const struct lyd_node *root, LYD_FORMAT format, uint32_t options);
126 
136 LIBYANG_API_DECL LY_ERR lyd_print_tree(struct ly_out *out, const struct lyd_node *root, LYD_FORMAT format, uint32_t options);
137 
147 LIBYANG_API_DECL LY_ERR lyd_print_mem(char **strp, const struct lyd_node *root, LYD_FORMAT format, uint32_t options);
148 
158 LIBYANG_API_DECL LY_ERR lyd_print_fd(int fd, const struct lyd_node *root, LYD_FORMAT format, uint32_t options);
159 
169 LIBYANG_API_DECL LY_ERR lyd_print_file(FILE *f, const struct lyd_node *root, LYD_FORMAT format, uint32_t options);
170 
180 LIBYANG_API_DECL LY_ERR lyd_print_path(const char *path, const struct lyd_node *root, LYD_FORMAT format, uint32_t options);
181 
192 LIBYANG_API_DECL LY_ERR lyd_print_clb(ly_write_clb writeclb, void *user_data, const struct lyd_node *root,
193  LYD_FORMAT format, uint32_t options);
194 
203 LIBYANG_API_DECL ly_bool lyd_node_should_print(const struct lyd_node *node, uint32_t options);
204 
212 LIBYANG_API_DECL ly_bool lyd_metadata_should_print(const struct lyd_meta *meta);
213 
214 #ifdef __cplusplus
215 }
216 #endif
217 
218 #endif /* LY_PRINTER_DATA_H_ */
Generic structure for a data node.
Definition: tree_data.h:792
LY_ERR
libyang&#39;s error codes returned by the libyang functions.
Definition: log.h:240
uint8_t ly_bool
Type to indicate boolean value.
Definition: log.h:28
libyang output structures and functions
LIBYANG_API_DECL LY_ERR lyd_print_tree(struct ly_out *out, const struct lyd_node *root, LYD_FORMAT format, uint32_t options)
Print the selected data subtree.
libyang representation of YANG data trees.
LYD_FORMAT
Data input/output formats supported by libyang parser and printer functions.
Definition: tree_data.h:536
Printer output structure specifying the type of data output.
Metadata structure.
Definition: metadata.h:36
LIBYANG_API_DECL LY_ERR lyd_print_clb(ly_write_clb writeclb, void *user_data, const struct lyd_node *root, LYD_FORMAT format, uint32_t options)
Print data tree in the specified format.
LIBYANG_API_DECL LY_ERR lyd_print_mem(char **strp, const struct lyd_node *root, LYD_FORMAT format, uint32_t options)
Print data tree in the specified format.
LIBYANG_API_DECL LY_ERR lyd_print_path(const char *path, const struct lyd_node *root, LYD_FORMAT format, uint32_t options)
Print data tree in the specified format.
LIBYANG_API_DECL ly_bool lyd_node_should_print(const struct lyd_node *node, uint32_t options)
Check whether the node should be printed based on the printing options.
ssize_t(* ly_write_clb)(void *user_data, const void *buf, size_t count)
Generic write callback for data printed by libyang.
Definition: out.h:147
LIBYANG_API_DECL LY_ERR lyd_print_fd(int fd, const struct lyd_node *root, LYD_FORMAT format, uint32_t options)
Print data tree in the specified format.
Logger manipulation routines and error definitions.
LIBYANG_API_DECL ly_bool lyd_metadata_should_print(const struct lyd_meta *meta)
Check whether the metadata should be printed.
LIBYANG_API_DECL LY_ERR lyd_print_file(FILE *f, const struct lyd_node *root, LYD_FORMAT format, uint32_t options)
Print data tree in the specified format.