#ifndef IO_H #define IO_H #define PAGE_SIZE 512 #define PAGE_NONE 0 #include #include typedef struct { FILE* file; char* filename; size_t page_size; void* buffer; } file_t; typedef uint64_t page_t; typedef uint64_t offset_t; file_t* file_open(const char* filename, const char* mode, size_t page_size); void file_close(file_t* file); size_t file_read(file_t* file, unsigned block, void* buffer, size_t size); size_t file_write(file_t* file, unsigned block, const void* buffer, size_t size); #endif