libyang  6.4.26
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
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,
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_ */
LY_ERR
libyang's error codes returned by the libyang functions.
Definition: log.h:252
LIBYANG_API_DECL LY_ERR ly_in_skip(struct ly_in *in, size_t count)
Just skip bytes in an input.
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_file(FILE *f, struct ly_in **in)
Create input handler using file stream.
LIBYANG_API_DECL int ly_in_fd(struct ly_in *in, int fd)
Get or reset file descriptor input handler.
LIBYANG_API_DECL LY_IN_TYPE ly_in_type(const struct ly_in *in)
Get input type of the input handler.
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_new_filepath(const char *filepath, size_t len, struct ly_in **in)
Create input handler file of the given filename.
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 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.
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 LY_ERR ly_in_read(struct ly_in *in, void *buf, size_t count)
Read bytes from an input.
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_peek(struct ly_in *in, uint8_t *peek)
Peek at the next byte in an input.
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 size_t ly_in_parsed(const struct ly_in *in)
Get the number of parsed bytes by the last function.
LY_IN_TYPE
Types of the parser's inputs.
Definition: in.h:94
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_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.
@ LY_IN_FD
Definition: in.h:96
@ LY_IN_FILE
Definition: in.h:97
@ LY_IN_MEMORY
Definition: in.h:99
@ LY_IN_FILEPATH
Definition: in.h:98
@ LY_IN_ERROR
Definition: in.h:95
Parser input structure specifying the type of data input.
Logger manipulation routines and error definitions.
uint8_t ly_bool
Type to indicate boolean value.
Definition: log.h:29