123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #pragma once
- #include "libc.h"
- struct AFileMap {
- const void *map;
- size_t size;
- struct {
- #ifndef _WIN32
- int fd;
- #else
- HANDLE handle;
- #endif
- } impl_;
- };
- struct AFileMap aFileMapOpen(const char *filename);
- void aFileMapClose(struct AFileMap *file);
- struct AFile {
- size_t size;
- struct {
- #ifndef _WIN32
- int fd;
- #else
- HANDLE handle;
- #endif
- } impl_;
- };
- #define AFileError ((size_t)-1)
- enum AFileResult {
- AFile_Success,
- AFile_Fail
- };
- /* reset file to default state, useful for initialization */
- void aFileReset(struct AFile *file);
- enum AFileResult aFileOpen(struct AFile *file, const char *filename);
- size_t aFileReadAtOffset(struct AFile *file, size_t off, size_t size, void *buffer);
- void aFileClose(struct AFile *file);
|