From 27ebeff879126434740af3db63004cb4eb4b0021 Mon Sep 17 00:00:00 2001 From: Magnus Ahltorp Date: Fri, 12 Feb 2016 16:03:05 +0100 Subject: Move code to util.c and filebuffer.c --- c_src/filebuffer.h | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 c_src/filebuffer.h (limited to 'c_src/filebuffer.h') 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 -- cgit v1.1