/* * * Copyright 2023 Oleg Borodin * */ #ifndef BSTREAM_H_QWERTY #define BSTREAM_H_QWERTY #include #include typedef struct { size_t rpos; size_t wpos; size_t capa; uint8_t* data; } bstream_t; bstream_t* bstream_init(bstream_t* stream); size_t bstream_dump(bstream_t* stream); ssize_t bstream_write(bstream_t* stream, void* buf, size_t size); ssize_t bstream_read(bstream_t* stream, void* buf, size_t size); ssize_t bstream_fread(bstream_t* stream, char* filename); char bstream_getc(bstream_t* stream); char bstream_getnc(bstream_t* stream, int fd); size_t bstream_wpos(bstream_t* stream); size_t bstream_rpos(bstream_t* stream); void bstream_destroy(bstream_t* stream); #endif