power_play/src/base/win32/base_win32_entry.h
2025-08-05 13:48:49 -05:00

34 lines
705 B
C

////////////////////////////////
//~ Shared state
#define W32_MaxOnExitFuncs 1024
Struct(W32_SharedEntryCtx)
{
SYSTEM_INFO info;
u32 main_thread_id;
Atomic32 shutdown;
wchar_t cmdline_args_wstr[8192];
//- Application control flow
Atomic32 panicking;
wchar_t panic_wstr[4096];
HANDLE panic_event;
HANDLE startup_end_event;
HANDLE exit_begin_event;
HANDLE exit_end_event;
//- Exit funcs
Atomic32 num_exit_funcs;
ExitFunc *exit_funcs[W32_MaxOnExitFuncs];
};
extern W32_SharedEntryCtx W32_shared_entry_ctx;
////////////////////////////////
//~ Startup / shutdown jobs
JobDecl(W32_AppStartupJob, EmptySig);
JobDecl(W32_AppShutdownJob, EmptySig);