4coder/non-source/test_data/lots_of_files/cd_system.h

68 lines
1.6 KiB
C
Raw Normal View History

2018-03-16 18:19:11 +00:00
/*
Platform layer services to other modules
*/
// TOP
#ifndef CD_SYSTEM_H
#define CD_SYSTEM_H
struct Platform_Handle{
u8 opaque_memory[128];
};
#ifdef DEVELOPER
struct File_Dump{
Platform_Handle handle;
i32 size;
};
#define DBG_Dump_Begin(n) File_Dump n(char *file_name)
typedef DBG_Dump_Begin(DBG_Dump_Begin_Function);
#define DBG_Dump_End(n) b32 n(File_Dump dump, void *buffer)
typedef DBG_Dump_End(DBG_Dump_End_Function);
#define DBG_Dump_Out(n) b32 n(char *file_name, void *buffer, i32 size);
typedef DBG_Dump_Out(DBG_Dump_Out_Function);
#define DBG_Copy(n) b32 n(char *source, char *name)
typedef DBG_Copy(DBG_Copy_Function);
#define DBG_Call_Script(n) b32 n(char *script)
typedef DBG_Call_Script(DBG_Call_Script_Function);
#define DBG_Module_Path(n) i32 n(char *out, i32 capacity)
typedef DBG_Module_Path(DBG_Module_Path_Function);
#define DBG_Working_Path(n) i32 n(char *out, i32 capacity)
typedef DBG_Working_Path(DBG_Working_Path_Function);
#define DBG_Memory_Allocate(n) void *n(i32 size)
typedef DBG_Memory_Allocate(DBG_Memory_Allocate_Function);
#define DBG_Memory_Free(n) void n(void *ptr)
typedef DBG_Memory_Free(DBG_Memory_Free_Function);
#endif
struct System_API{
#ifdef DEVELOPER
DBG_Dump_Begin_Function *DBG_dump_begin;
DBG_Dump_End_Function *DBG_dump_end;
DBG_Dump_Out_Function *DBG_dump_out;
DBG_Copy_Function *DBG_copy;
DBG_Call_Script_Function *DBG_call_script;
DBG_Module_Path_Function *DBG_module_path;
DBG_Working_Path_Function *DBG_working_path;
DBG_Memory_Allocate_Function *DBG_memory_allocate;
DBG_Memory_Free_Function *DBG_memory_free;
#endif
};
#endif
// BOTTOM