diff options
author | Freya Murphy <freya@freyacat.org> | 2023-12-17 11:10:04 -0500 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2023-12-17 11:10:04 -0500 |
commit | e0eacfa9773c83850ed5169d1e889ff845180581 (patch) | |
tree | 9f8bb433404ce7e4dda1b86ca4dd5d5a2fba10e9 /lib/stream.h | |
parent | snbt (diff) | |
download | nbtvis-e0eacfa9773c83850ed5169d1e889ff845180581.tar.gz nbtvis-e0eacfa9773c83850ed5169d1e889ff845180581.tar.bz2 nbtvis-e0eacfa9773c83850ed5169d1e889ff845180581.zip |
Diffstat (limited to 'lib/stream.h')
-rw-r--r-- | lib/stream.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/stream.h b/lib/stream.h new file mode 100644 index 0000000..d9a05ce --- /dev/null +++ b/lib/stream.h @@ -0,0 +1,27 @@ +#pragma once + +#include <stdint.h> +#include <stdio.h> +#include <stdbool.h> + +typedef struct { + FILE *__file; + bool __alloc; +} stream_t; + +stream_t stream_open(const char *path, const char* mode); +void stream_close(stream_t *stream); + +bool stream_read(const stream_t *stream, void *res, size_t amount); +bool stream_read_i8(const stream_t *stream, int8_t *res); +bool stream_read_i16(const stream_t *stream, int16_t *res); +bool stream_read_i32(const stream_t *stream, int32_t *res); +bool stream_read_i64(const stream_t *stream, int64_t *res); +bool stream_read_u16(const stream_t *stream, uint16_t *res); + +bool stream_write(const stream_t *stream, const void *buf, size_t amount); +bool stream_write_i8(const stream_t *stream, int8_t b); +bool stream_write_i16(const stream_t *stream, int16_t s); +bool stream_write_i32(const stream_t *stream, int32_t i); +bool stream_write_i64(const stream_t *stream, int64_t l); +bool stream_write_u16(const stream_t *stream, uint16_t s); |