libyang 6.4.3
libyang is YANG data modelling language parser and toolkit written (and providing API) in C.
Loading...
Searching...
No Matches
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
24extern "C" {
25#endif
26
89struct ly_in;
90
101
108LIBYANG_API_DECL LY_IN_TYPE ly_in_type(const struct ly_in *in);
109
122LIBYANG_API_DECL LY_ERR ly_in_reset(struct ly_in *in);
123
132LIBYANG_API_DECL LY_ERR ly_in_new_fd(int fd, struct ly_in **in);
133
142LIBYANG_API_DECL int ly_in_fd(struct ly_in *in, int fd);
143
152LIBYANG_API_DECL LY_ERR ly_in_new_file(FILE *f, struct ly_in **in);
153
162LIBYANG_API_DECL FILE *ly_in_file(struct ly_in *in, FILE *f);
163
176LIBYANG_API_DECL LY_ERR ly_in_new_memory(const char *str, struct ly_in **in);
177
190LIBYANG_API_DECL LY_ERR ly_in_new_memory_chunk(const void *mem, uint32_t mem_len, struct ly_in **in);
191
204LIBYANG_API_DECL const char *ly_in_memory(struct ly_in *in, const char *str);
205
218LIBYANG_API_DECL const void *ly_in_memory_chunk(struct ly_in *in, const void *mem, uint32_t mem_len);
219
230LIBYANG_API_DECL LY_ERR ly_in_new_filepath(const char *filepath, size_t len, struct ly_in **in);
231
246LIBYANG_API_DECL const char *ly_in_filepath(struct ly_in *in, const char *filepath, size_t len);
247
254LIBYANG_API_DECL size_t ly_in_parsed(const struct ly_in *in);
255
263LIBYANG_API_DECL void ly_in_free(struct ly_in *in, ly_bool destroy);
264
277LIBYANG_API_DECL LY_ERR ly_in_read(struct ly_in *in, void *buf, size_t count);
278
290LIBYANG_API_DECL LY_ERR ly_in_peek(struct ly_in *in, uint8_t *peek);
291
303LIBYANG_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 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_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_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_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 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_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 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:36