binana/profile/3.3.5a-windows-386/include/bc/file/filesystem.h

55 lines
1.9 KiB
C

#ifndef BC_FILE_FILESYSTEM_H
#define BC_FILE_FILESYSTEM_H
#include "system/detect.h"
DECLARE_STRUCT(Blizzard__File__Filesystem);
DECLARE_STRUCT(Blizzard__File__Functions);
typedef uintptr_t offset_in_Blizzard__File__Functions_to_System_File__Stacked__FileFunc;
#include "bc/systemfile/stacked/filefunc.h"
#include "bc/util/offset.h"
struct Blizzard__File__Functions {
System_File__Stacked__FileFunc cd;
System_File__Stacked__FileFunc close;
System_File__Stacked__FileFunc create;
System_File__Stacked__FileFunc cwd;
System_File__Stacked__FileFunc dirwalk;
System_File__Stacked__FileFunc exists;
System_File__Stacked__FileFunc flush;
System_File__Stacked__FileFunc getfileinfo;
System_File__Stacked__FileFunc getfreespace;
System_File__Stacked__FileFunc getpos;
System_File__Stacked__FileFunc getrootchars;
System_File__Stacked__FileFunc isabspath;
System_File__Stacked__FileFunc isreadonly;
System_File__Stacked__FileFunc makeabspath;
System_File__Stacked__FileFunc mkdir;
System_File__Stacked__FileFunc move;
System_File__Stacked__FileFunc copy;
System_File__Stacked__FileFunc open;
System_File__Stacked__FileFunc read;
System_File__Stacked__FileFunc readp;
System_File__Stacked__FileFunc rmdir;
System_File__Stacked__FileFunc setcachemode;
System_File__Stacked__FileFunc seteof;
System_File__Stacked__FileFunc setfileinfo;
System_File__Stacked__FileFunc setpos;
System_File__Stacked__FileFunc unlink;
System_File__Stacked__FileFunc write;
System_File__Stacked__FileFunc writep;
System_File__Stacked__FileFunc shutdown;
};
BC_OFFSET_INTO(Blizzard__File__Functions, System_File__Stacked__FileFunc);
// 0x7C bytes = 4 + 4 + (29 * 4)
//
struct Blizzard__File__Filesystem {
Blizzard__File__Filesystem* original;
Blizzard__File__Filesystem* next;
Blizzard__File__Functions verbs;
};
#endif