diff options
Diffstat (limited to 'c_src/filebuffer.h')
-rw-r--r-- | c_src/filebuffer.h | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/c_src/filebuffer.h b/c_src/filebuffer.h new file mode 100644 index 0000000..2f344cd --- /dev/null +++ b/c_src/filebuffer.h @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2015, NORDUnet A/S. + * See LICENSE for licensing information. + */ + +#ifndef FILEBUFFER_H +#define FILEBUFFER_H + +typedef struct buffered_file buffered_file; + +buffered_file * +bf_open(const char *path, int flags, const char *name); +void +bf_close(buffered_file *file); +void +bf_truncate(buffered_file *file); + + +void +bf_add(buffered_file *file, const void *data, uint64_t length); +int +bf_flush(buffered_file *file); +uint64_t +bf_total_length(buffered_file *file); +uint64_t +bf_lastcommit(buffered_file *file); +const char * +bf_name(buffered_file *file); + +void +bf_add_host64(buffered_file *file, uint64_t value); +void +bf_add_be32(buffered_file *file, uint32_t value); +void +bf_add_be16(buffered_file *file, uint16_t value); +int +bf_flush_nosync(buffered_file *file); + +unsigned char * +bf_read(buffered_file *file, uint64_t offset, size_t length, char **error); + +void +bf_sha256(buffered_file *file, unsigned char *checksum); + +#endif |