#ifndef __MEMSTREAM_H #define __MEMSTREAM_H #include #include #if defined(__cplusplus) || defined(c_plusplus) extern "C" { #endif typedef struct memstream memstream_t; memstream_t *memstream_open(); void memstream_close(memstream_t * stream); size_t memstream_read(memstream_t * stream, void *data, size_t bytes); size_t memstream_write(memstream_t * stream, const void *data, size_t bytes); int memstream_getc(memstream_t * stream); char *memstream_gets(memstream_t * stream, char *buffer, size_t len); size_t memstream_pos(memstream_t * stream); int memstream_seek(memstream_t * stream, int offset, int whence); void memstream_set_buffer(uint8_t *buffer, size_t size); size_t memstream_get_last_size(); #if defined(__cplusplus) || defined(c_plusplus) } #endif #endif