libyang 2.0.231
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
printer_schema.h
Go to the documentation of this file.
1
15#ifndef LY_PRINTER_SCHEMA_H_
16#define LY_PRINTER_SCHEMA_H_
17
18#include <stdint.h>
19#include <stdio.h>
20
21#include "log.h"
22#include "out.h"
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28struct ly_out;
29struct lys_module;
30struct lysc_node;
31struct lysp_submodule;
32
95#define LYS_PRINT_SHRINK LY_PRINT_SHRINK
96#define LYS_PRINT_NO_SUBSTMT 0x10
98// #define LYS_PRINT_TREE_RFC 0x01 /**< Conform to the RFC8340 tree output (only for tree format) */
99// #define LYS_PRINT_TREE_GROUPING 0x02 /**< Print groupings separately (only for tree format) */
100// #define LYS_PRINT_TREE_USES 0x04 /**< Print only uses instead the resolved grouping nodes (only for tree format) */
101// #define LYS_PRINT_TREE_NO_LEAFREF 0x08 /**< Do not print the target of leafrefs (only for tree format) */
102
108typedef enum {
115
126LIBYANG_API_DECL LY_ERR lys_print_module(struct ly_out *out, const struct lys_module *module, LYS_OUTFORMAT format, size_t line_length,
127 uint32_t options);
128
139LIBYANG_API_DECL LY_ERR lys_print_submodule(struct ly_out *out, const struct lysp_submodule *submodule, LYS_OUTFORMAT format,
140 size_t line_length, uint32_t options);
141
155LIBYANG_API_DECL LY_ERR lys_print_mem(char **strp, const struct lys_module *module, LYS_OUTFORMAT format, uint32_t options);
156
169LIBYANG_API_DECL LY_ERR lys_print_fd(int fd, const struct lys_module *module, LYS_OUTFORMAT format, uint32_t options);
170
183LIBYANG_API_DECL LY_ERR lys_print_file(FILE *f, const struct lys_module *module, LYS_OUTFORMAT format, uint32_t options);
184
197LIBYANG_API_DECL LY_ERR lys_print_path(const char *path, const struct lys_module *module, LYS_OUTFORMAT format, uint32_t options);
198
212LIBYANG_API_DECL LY_ERR lys_print_clb(ly_write_clb writeclb, void *user_data,
213 const struct lys_module *module, LYS_OUTFORMAT format, uint32_t options);
214
225LIBYANG_API_DECL LY_ERR lys_print_node(struct ly_out *out, const struct lysc_node *node, LYS_OUTFORMAT format, size_t line_length, uint32_t options);
226
229#ifdef __cplusplus
230}
231#endif
232
233#endif /* LY_PRINTER_SCHEMA_H_ */
LY_ERR
libyang's error codes returned by the libyang functions.
Definition: log.h:244
LIBYANG_API_DECL LY_ERR lys_print_mem(char **strp, const struct lys_module *module, LYS_OUTFORMAT format, uint32_t options)
Print schema tree in the specified format into a memory block. It is up to caller to free the returne...
LIBYANG_API_DECL LY_ERR lys_print_submodule(struct ly_out *out, const struct lysp_submodule *submodule, LYS_OUTFORMAT format, size_t line_length, uint32_t options)
Schema submodule printer.
LIBYANG_API_DECL LY_ERR lys_print_file(FILE *f, const struct lys_module *module, LYS_OUTFORMAT format, uint32_t options)
Print schema tree in the specified format into a file stream.
LIBYANG_API_DECL LY_ERR lys_print_clb(ly_write_clb writeclb, void *user_data, const struct lys_module *module, LYS_OUTFORMAT format, uint32_t options)
Print schema tree in the specified format using a provided callback.
LIBYANG_API_DECL LY_ERR lys_print_path(const char *path, const struct lys_module *module, LYS_OUTFORMAT format, uint32_t options)
Print schema tree in the specified format into a file.
LYS_OUTFORMAT
Schema output formats accepted by libyang printer functions.
LIBYANG_API_DECL LY_ERR lys_print_node(struct ly_out *out, const struct lysc_node *node, LYS_OUTFORMAT format, size_t line_length, uint32_t options)
Schema node printer.
LIBYANG_API_DECL LY_ERR lys_print_fd(int fd, const struct lys_module *module, LYS_OUTFORMAT format, uint32_t options)
Print schema tree in the specified format into a file descriptor.
LIBYANG_API_DECL LY_ERR lys_print_module(struct ly_out *out, const struct lys_module *module, LYS_OUTFORMAT format, size_t line_length, uint32_t options)
Schema module printer.
@ LYS_OUT_YANG
@ LYS_OUT_TREE
@ LYS_OUT_UNKNOWN
@ LYS_OUT_YIN
@ LYS_OUT_YANG_COMPILED
Available YANG schema tree structures representing YANG module.
Definition: tree_schema.h:2341
Compiled YANG data node.
Definition: tree_schema.h:1650
Logger manipulation routines and error definitions.
Printer output structure specifying where the data are printed.
libyang output structures and functions
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:136