Add peek buffer to io, hide file/buffer private functions
Implements peek buffer on top of the raw io read (with small storage optimization). Hides implementation details of the file/buffer.
This commit is contained in:
@@ -16,6 +16,38 @@ struct bh_buffer_s
|
||||
|
||||
int bh_buffer_init(bh_buffer_t *buffer);
|
||||
|
||||
void bh_buffer_destroy(bh_buffer_t *buffer);
|
||||
#define bh_buffer_destroy(buffer) \
|
||||
bh_io_destroy((bh_io_t *)(buffer))
|
||||
|
||||
void bh_buffer_destroy_base(bh_buffer_t *buffer);
|
||||
|
||||
int bh_buffer_open_base(bh_buffer_t *buffer,
|
||||
int mode);
|
||||
|
||||
void bh_buffer_close_base(bh_buffer_t *buffer);
|
||||
|
||||
int bh_buffer_is_open_base(bh_buffer_t *buffer);
|
||||
|
||||
size_t bh_buffer_read_base(bh_buffer_t *buffer,
|
||||
char *data,
|
||||
size_t size);
|
||||
|
||||
size_t bh_buffer_write_base(bh_buffer_t *buffer,
|
||||
const char *data,
|
||||
size_t size);
|
||||
|
||||
void bh_buffer_flush_base(bh_buffer_t *buffer);
|
||||
|
||||
int bh_buffer_seek_base(bh_buffer_t *buffer,
|
||||
bh_off_t pos,
|
||||
int dir);
|
||||
|
||||
bh_off_t bh_buffer_size_base(bh_buffer_t *buffer);
|
||||
|
||||
bh_off_t bh_buffer_tell_base(bh_buffer_t *buffer);
|
||||
|
||||
bh_off_t bh_buffer_available_base(bh_buffer_t *buffer);
|
||||
|
||||
void bh_buffer_clear_base(bh_buffer_t *buffer);
|
||||
|
||||
#endif /* BH_INTERNAL_BUFFER_H */
|
||||
|
||||
Reference in New Issue
Block a user