Loading...
Searching...
No Matches
in.h
Go to the documentation of this file.
#ifndef LY_IN_H_
#define LY_IN_H_
#include <stdio.h>
#include "log.h"
#ifdef __cplusplus
extern "C" {
#endif
struct ly_in;
typedef enum LY_IN_TYPE {
LY_IN_ERROR = -1,
LY_IN_FD,
LY_IN_FILE,
LY_IN_FILEPATH,
LY_IN_MEMORY
} LY_IN_TYPE;
LIBYANG_API_DECL LY_IN_TYPE ly_in_type(const struct ly_in *in);
LIBYANG_API_DECL LY_ERR ly_in_reset(struct ly_in *in);
LIBYANG_API_DECL LY_ERR ly_in_new_fd(int fd, struct ly_in **in);
LIBYANG_API_DECL int ly_in_fd(struct ly_in *in, int fd);
LIBYANG_API_DECL LY_ERR ly_in_new_file(FILE *f, struct ly_in **in);
LIBYANG_API_DECL FILE *ly_in_file(struct ly_in *in, FILE *f);
LIBYANG_API_DECL LY_ERR ly_in_new_memory(const char *str, struct ly_in **in);
LIBYANG_API_DECL const char *ly_in_memory(struct ly_in *in, const char *str);
LIBYANG_API_DECL LY_ERR ly_in_new_filepath(const char *filepath, size_t len, struct ly_in **in);
LIBYANG_API_DECL const char *ly_in_filepath(struct ly_in *in, const char *filepath, size_t len);
LIBYANG_API_DECL size_t ly_in_parsed(const struct ly_in *in);
LIBYANG_API_DECL void ly_in_free(struct ly_in *in, ly_bool destroy);
LIBYANG_API_DECL LY_ERR ly_in_read(struct ly_in *in, void *buf, size_t count);
LIBYANG_API_DECL LY_ERR ly_in_skip(struct ly_in *in, size_t count);
#ifdef __cplusplus
}
#endif
#endif /* LY_IN_H_ */
LY_ERR
LY_ERR
libyang's error codes returned by the libyang functions.
Definition log.h:237
ly_in_skip
LIBYANG_API_DECL LY_ERR ly_in_skip(struct ly_in *in, size_t count)
Just skip bytes in an input.
ly_in_file
LIBYANG_API_DECL FILE * ly_in_file(struct ly_in *in, FILE *f)
Get or reset file stream input handler.
ly_in_filepath
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_in_new_file
LIBYANG_API_DECL LY_ERR ly_in_new_file(FILE *f, struct ly_in **in)
Create input handler using file stream.
ly_in_fd
LIBYANG_API_DECL int ly_in_fd(struct ly_in *in, int fd)
Get or reset file descriptor input handler.
ly_in_type
LIBYANG_API_DECL LY_IN_TYPE ly_in_type(const struct ly_in *in)
Get input type of the input handler.
ly_in_new_fd
LIBYANG_API_DECL LY_ERR ly_in_new_fd(int fd, struct ly_in **in)
Create input handler using file descriptor.
ly_in_new_filepath
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.
ly_in_memory
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.
ly_in_reset
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...
ly_in_read
LIBYANG_API_DECL LY_ERR ly_in_read(struct ly_in *in, void *buf, size_t count)
Read bytes from an input.
ly_in_free
LIBYANG_API_DECL void ly_in_free(struct ly_in *in, ly_bool destroy)
Free the input handler.
ly_in_new_memory
LIBYANG_API_DECL LY_ERR ly_in_new_memory(const char *str, struct ly_in **in)
Create input handler using memory to read data.
ly_in_parsed
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
LY_IN_TYPE
Types of the parser's inputs.
Definition in.h:92
LY_IN_FD
@ LY_IN_FD
Definition in.h:94
LY_IN_FILE
@ LY_IN_FILE
Definition in.h:95
LY_IN_MEMORY
@ LY_IN_MEMORY
Definition in.h:97
LY_IN_FILEPATH
@ LY_IN_FILEPATH
Definition in.h:96
LY_IN_ERROR
@ LY_IN_ERROR
Definition in.h:93
ly_in
Parser input structure specifying the type of data input.
log.h
Logger manipulation routines and error definitions.
ly_bool
uint8_t ly_bool
Type to indicate boolean value.
Definition log.h:35