libyang  3.7.1
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
in.h
Go to the documentation of this file.
1 
15 #ifndef LY_IN_H_
16 #define LY_IN_H_
17 
18 #include <stdio.h>
19 
20 #include "log.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
77 struct ly_in;
78 
82 typedef enum LY_IN_TYPE {
83  LY_IN_ERROR = -1,
88 } LY_IN_TYPE;
89 
96 LIBYANG_API_DECL LY_IN_TYPE ly_in_type(const struct ly_in *in);
97 
110 LIBYANG_API_DECL LY_ERR ly_in_reset(struct ly_in *in);
111 
120 LIBYANG_API_DECL LY_ERR ly_in_new_fd(int fd, struct ly_in **in);
121 
130 LIBYANG_API_DECL int ly_in_fd(struct ly_in *in, int fd);
131 
140 LIBYANG_API_DECL LY_ERR ly_in_new_file(FILE *f, struct ly_in **in);
141 
150 LIBYANG_API_DECL FILE *ly_in_file(struct ly_in *in, FILE *f);
151 
162 LIBYANG_API_DECL LY_ERR ly_in_new_memory(const char *str, struct ly_in **in);
163 
174 LIBYANG_API_DECL const char *ly_in_memory(struct ly_in *in, const char *str);
175 
186 LIBYANG_API_DECL LY_ERR ly_in_new_filepath(const char *filepath, size_t len, struct ly_in **in);
187 
202 LIBYANG_API_DECL const char *ly_in_filepath(struct ly_in *in, const char *filepath, size_t len);
203 
210 LIBYANG_API_DECL size_t ly_in_parsed(const struct ly_in *in);
211 
219 LIBYANG_API_DECL void ly_in_free(struct ly_in *in, ly_bool destroy);
220 
233 LIBYANG_API_DECL LY_ERR ly_in_read(struct ly_in *in, void *buf, size_t count);
234 
246 LIBYANG_API_DECL LY_ERR ly_in_skip(struct ly_in *in, size_t count);
247 
248 #ifdef __cplusplus
249 }
250 #endif
251 
252 #endif /* LY_IN_H_ */
Definition: in.h:84
LIBYANG_API_DECL void ly_in_free(struct ly_in *in, ly_bool destroy)
Free the input handler.
uint8_t ly_bool
Type to indicate boolean value.
Definition: log.h:28
LIBYANG_API_DECL LY_ERR ly_in_new_memory(const char *str, struct ly_in **in)
Create input handler using memory to read data.
LIBYANG_API_DECL LY_ERR ly_in_reset(struct ly_in *in)
Reset the input medium to read from its beginning, so the following parser function will read from th...
LIBYANG_API_DECL FILE * ly_in_file(struct ly_in *in, FILE *f)
Get or reset file stream input handler.
LIBYANG_API_DECL LY_ERR ly_in_new_filepath(const char *filepath, size_t len, struct ly_in **in)
Create input handler file of the given filename.
Definition: in.h:83
Parser input structure specifying where the data are read.
LIBYANG_API_DECL LY_ERR ly_in_skip(struct ly_in *in, size_t count)
Just skip bytes in an input.
Definition: in.h:85
LIBYANG_API_DECL int ly_in_fd(struct ly_in *in, int fd)
Get or reset file descriptor input handler.
LIBYANG_API_DECL LY_ERR ly_in_new_file(FILE *f, struct ly_in **in)
Create input handler using file stream.
LIBYANG_API_DECL LY_ERR ly_in_new_fd(int fd, struct ly_in **in)
Create input handler using file descriptor.
LIBYANG_API_DECL LY_ERR ly_in_read(struct ly_in *in, void *buf, size_t count)
Read bytes from an input.
LIBYANG_API_DECL size_t ly_in_parsed(const struct ly_in *in)
Get the number of parsed bytes by the last function.
LIBYANG_API_DECL const char * ly_in_memory(struct ly_in *in, const char *str)
Get or change memory where the data are read from.
LIBYANG_API_DECL LY_IN_TYPE ly_in_type(const struct ly_in *in)
Get input type of the input handler.
LY_IN_TYPE
Types of the parser&#39;s inputs.
Definition: in.h:82
Logger manipulation routines and error definitions.
LIBYANG_API_DECL const char * ly_in_filepath(struct ly_in *in, const char *filepath, size_t len)
Get or change the filepath of the file where the parser reads the data.
LY_ERR
libyang&#39;s error codes returned by the libyang functions.
Definition: log.h:240