Buffered IO library. More...
Go to the source code of this file.
Data Structures | |
struct | GNUNET_BIO_ReadSpec |
Structure specifying a reading operation on an IO handle. More... | |
struct | GNUNET_BIO_WriteSpec |
Structure specifying a writing operation on an IO handle. More... | |
Macros | |
#define | GNUNET_BIO_LIB_H |
#define | GNUNET_BIO_read_spec_end() { NULL, NULL, NULL, NULL, 0 } |
End of specifications marker. More... | |
#define | GNUNET_BIO_write_spec_end() { NULL, NULL, NULL, NULL, 0 } |
End of specifications marker. More... | |
Typedefs | |
typedef int(* | GNUNET_BIO_ReadHandler) (void *cls, struct GNUNET_BIO_ReadHandle *h, const char *what, void *target, size_t target_size) |
Function used to deserialize data read from h and store it into target. More... | |
typedef int(* | GNUNET_BIO_WriteHandler) (void *cls, struct GNUNET_BIO_WriteHandle *h, const char *what, void *source, size_t source_size) |
Function used to serialize data from a buffer and write it to h. More... | |
Functions | |
struct GNUNET_BIO_ReadHandle * | GNUNET_BIO_read_open_file (const char *fn) |
Open a file for reading. More... | |
struct GNUNET_BIO_ReadHandle * | GNUNET_BIO_read_open_buffer (void *buffer, size_t size) |
Create a handle from an existing allocated buffer. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_read_close (struct GNUNET_BIO_ReadHandle *h, char **emsg) |
Close an open handle. More... | |
void | GNUNET_BIO_read_set_error (struct GNUNET_BIO_ReadHandle *h, const char *emsg) |
Set read error to handle. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_read (struct GNUNET_BIO_ReadHandle *h, const char *what, void *result, size_t len) |
Read some contents into a buffer. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_read_string (struct GNUNET_BIO_ReadHandle *h, const char *what, char **result, size_t max_length) |
Read 0-terminated string. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_read_float (struct GNUNET_BIO_ReadHandle *h, const char *what, float *f) |
Read a float. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_read_double (struct GNUNET_BIO_ReadHandle *h, const char *what, double *f) |
Read a double. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_read_int32 (struct GNUNET_BIO_ReadHandle *h, const char *what, int32_t *i) |
Read an (u)int32_t. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_read_int64 (struct GNUNET_BIO_ReadHandle *h, const char *what, int64_t *i) |
Read an (u)int64_t. More... | |
struct GNUNET_BIO_WriteHandle * | GNUNET_BIO_write_open_file (const char *fn) |
Open a file for writing. More... | |
struct GNUNET_BIO_WriteHandle * | GNUNET_BIO_write_open_buffer (void) |
Create a handle backed by an in-memory buffer. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_flush (struct GNUNET_BIO_WriteHandle *h) |
Force a file-based buffered writer to flush its buffer. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_get_buffer_contents (struct GNUNET_BIO_WriteHandle *h, char **emsg, void **contents, size_t *size) |
Get the IO handle's contents. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_write_close (struct GNUNET_BIO_WriteHandle *h, char **emsg) |
Close an IO handle. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_write (struct GNUNET_BIO_WriteHandle *h, const char *what, const void *buffer, size_t n) |
Write a buffer to a handle. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_write_string (struct GNUNET_BIO_WriteHandle *h, const char *what, const char *s) |
Write a 0-terminated string. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_write_float (struct GNUNET_BIO_WriteHandle *h, const char *what, float f) |
Write a float. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_write_double (struct GNUNET_BIO_WriteHandle *h, const char *what, double f) |
Write a double. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_write_int32 (struct GNUNET_BIO_WriteHandle *h, const char *what, int32_t i) |
Write an (u)int32_t. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_write_int64 (struct GNUNET_BIO_WriteHandle *h, const char *what, int64_t i) |
Write an (u)int64_t. More... | |
struct GNUNET_BIO_ReadSpec | GNUNET_BIO_read_spec_object (const char *what, void *result, size_t size) |
Create the specification to read a certain amount of bytes. More... | |
struct GNUNET_BIO_ReadSpec | GNUNET_BIO_read_spec_string (const char *what, char **result, size_t max_length) |
Create the specification to read a 0-terminated string. More... | |
struct GNUNET_BIO_ReadSpec | GNUNET_BIO_read_spec_int32 (const char *what, int32_t *i) |
Create the specification to read an (u)int32_t. More... | |
struct GNUNET_BIO_ReadSpec | GNUNET_BIO_read_spec_int64 (const char *what, int64_t *i) |
Create the specification to read an (u)int64_t. More... | |
struct GNUNET_BIO_ReadSpec | GNUNET_BIO_read_spec_float (const char *what, float *f) |
Create the specification to read a float. More... | |
struct GNUNET_BIO_ReadSpec | GNUNET_BIO_read_spec_double (const char *what, double *f) |
Create the specification to read a double. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_read_spec_commit (struct GNUNET_BIO_ReadHandle *h, struct GNUNET_BIO_ReadSpec *rs) |
Execute the read specifications in order. More... | |
struct GNUNET_BIO_WriteSpec | GNUNET_BIO_write_spec_object (const char *what, void *source, size_t size) |
Create the specification to read some bytes. More... | |
struct GNUNET_BIO_WriteSpec | GNUNET_BIO_write_spec_string (const char *what, const char *s) |
Create the specification to write a 0-terminated string. More... | |
struct GNUNET_BIO_WriteSpec | GNUNET_BIO_write_spec_int32 (const char *what, int32_t *i) |
Create the specification to write an (u)int32_t. More... | |
struct GNUNET_BIO_WriteSpec | GNUNET_BIO_write_spec_int64 (const char *what, int64_t *i) |
Create the specification to write an (u)int64_t. More... | |
struct GNUNET_BIO_WriteSpec | GNUNET_BIO_write_spec_float (const char *what, float *f) |
Create the specification to write a float. More... | |
struct GNUNET_BIO_WriteSpec | GNUNET_BIO_write_spec_double (const char *what, double *f) |
Create the specification to write an double. More... | |
enum GNUNET_GenericReturnValue | GNUNET_BIO_write_spec_commit (struct GNUNET_BIO_WriteHandle *h, struct GNUNET_BIO_WriteSpec *ws) |
Execute the write specifications in order. More... | |
Buffered IO library.
Definition in file gnunet_bio_lib.h.