libyang  6.4.7
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 
16 #ifndef LY_IN_H_
17 #define LY_IN_H_
18 
19 #include <stdio.h>
20 
21 #include "log.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
89 struct ly_in;
90 
94 typedef enum LY_IN_TYPE {
95  LY_IN_ERROR = -1,
100 } LY_IN_TYPE;
101 
108 LIBYANG_API_DECL LY_IN_TYPE ly_in_type(const struct ly_in *in);
109 
122 LIBYANG_API_DECL LY_ERR ly_in_reset(struct ly_in *in);
123 
132 LIBYANG_API_DECL LY_ERR ly_in_new_fd(int fd, struct ly_in **in);
133 
142 LIBYANG_API_DECL int ly_in_fd(struct ly_in *in, int fd);
143 
152 LIBYANG_API_DECL LY_ERR ly_in_new_file(FILE *f, struct ly_in **in);
153 
162 LIBYANG_API_DECL FILE *ly_in_file(struct ly_in *in, FILE *f);
163 
176 LIBYANG_API_DECL LY_ERR ly_in_new_memory(const char *str, struct ly_in **in);
177 
190 LIBYANG_API_DECL LY_ERR ly_in_new_memory_chunk(const void *mem, uint32_t mem_len, struct ly_in **in);
191 
204 LIBYANG_API_DECL const char *ly_in_memory(struct ly_in *in, const char *str);
205 
218 LIBYANG_API_DECL const void *ly_in_memory_chunk(struct ly_in *in, const void *mem, uint32_t mem_len);
219 
230 LIBYANG_API_DECL LY_ERR ly_in_new_filepath(const char *filepath, size_t len, struct ly_in **in);
231 
246 LIBYANG_API_DECL const char *ly_in_filepath(struct ly_in *in, const char *filepath, size_t len);
247 
254 LIBYANG_API_DECL size_t ly_in_parsed(const struct ly_in *in);
255 
263 LIBYANG_API_DECL void ly_in_free(struct ly_in *in, ly_bool destroy);
264 
277 LIBYANG_API_DECL LY_ERR ly_in_read(struct ly_in *in, void *buf, size_t count);
278 
290 LIBYANG_API_DECL LY_ERR ly_in_peek(struct ly_in *in, uint8_t *peek);
291 
303 LIBYANG_API_DECL LY_ERR ly_in_skip(struct ly_in *in, size_t count);
304 
307 #ifdef __cplusplus
308 }
309 #endif
310 
311 #endif /* LY_IN_H_ */
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 size_t ly_in_parsed(const struct ly_in *in)
Get the number of parsed bytes by the last function.
Parser input structure specifying the type of data input.
LIBYANG_API_DECL LY_ERR ly_in_new_fd(int fd, struct ly_in **in)
Create input handler using file descriptor.
Definition: in.h:95
LY_ERR
libyang&#39;s error codes returned by the libyang functions.
Definition: log.h:255
LIBYANG_API_DECL FILE * ly_in_file(struct ly_in *in, FILE *f)
Get or reset file stream input handler.
uint8_t ly_bool
Type to indicate boolean value.
Definition: log.h:29
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 void ly_in_free(struct ly_in *in, ly_bool destroy)
Free the input handler.
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 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.
LIBYANG_API_DECL LY_ERR ly_in_read(struct ly_in *in, void *buf, size_t count)
Read bytes from an input.
LY_IN_TYPE
Types of the parser&#39;s inputs.
Definition: in.h:94
LIBYANG_API_DECL LY_ERR ly_in_new_memory_chunk(const void *mem, uint32_t mem_len, struct ly_in **in)
Create input handler using a fixed-size memory chunk to read data.
LIBYANG_API_DECL const void * ly_in_memory_chunk(struct ly_in *in, const void *mem, uint32_t mem_len)
Get or change memory where the data are read from.
Definition: in.h:97
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_peek(struct ly_in *in, uint8_t *peek)
Peek at the next byte in an input.
LIBYANG_API_DECL LY_ERR ly_in_new_file(FILE *f, struct ly_in **in)
Create input handler using file stream.
Definition: in.h:96
LIBYANG_API_DECL LY_ERR ly_in_skip(struct ly_in *in, size_t count)
Just skip bytes in an input.
LIBYANG_API_DECL LY_IN_TYPE ly_in_type(const struct ly_in *in)
Get input type of the input handler.
Logger manipulation routines and error definitions.
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.