power_play/src/base/base_cmdline.h
2025-11-06 17:21:27 -06:00

43 lines
931 B
C

////////////////////////////////////////////////////////////
//~ Command line types
Struct(CommandlineArg)
{
b32 exists;
String name;
String value;
};
////////////////////////////////////////////////////////////
//~ Lookup types
Struct(CommandlineArgNode)
{
CommandlineArgNode *next;
u64 hash;
CommandlineArg arg;
};
////////////////////////////////////////////////////////////
//~ State types
#define CommandlineArgBinsCount 1024
Struct(SharedCmdlineState)
{
String *positional_args;
u64 positional_args_count;
CommandlineArgNode *arg_bins[CommandlineArgBinsCount];
} extern shared_cmdline_state;
////////////////////////////////////////////////////////////
//~ Initialization
void InitCmdline(void);
////////////////////////////////////////////////////////////
//~ Command line operations
String StringFromCommandlineIdx(i32 idx);
CommandlineArg CommandlineArgFromName(String name);