LDKArgParser
typedef struct{
LDKArgument args[LDK_ARGPARSE_MAX_ARGS];
u32 argCount;
}LDKArgParser;
typedef struct{
LDKArgument args[LDK_ARGPARSE_MAX_ARGS];
u32 argCount;
}LDKArgParser;
typedef enum{
LDK_ARG_TYPE_FLAG,
LDK_ARG_TYPE_INT,
LDK_ARG_TYPE_STRING
}LDKArgType;
typedef struct{
const char *name;
LDKArgType type;
const char *description;
char *stringValue;
bool isFound;
union{bool flagValue;i32 intValue;};
}LDKArgument;
#define LDK_ARGPARSE_MAX_ARGS LDK_ARGPARSE_MAX_ARGS_DEFAULT
#define LDK_ARGPARSE_MAX_ARGS_DEFAULT 8
Register a named command-line argument with the parser.
LDK_API void ldkArgAddArgument(
LDKArgParser *parser,
const char *name,
LDKArgType type,
const char *description
);
LDKArgParser *parserconst char *nameLDKArgType typeconst char *descriptionVisit each registered argument with a callback.
LDK_API void ldkArgForEachArgument(
const LDKArgParser *parser,
void(*callback)(const LDKArgument *arg)
);
const LDKArgParser *parservoid(*callback)(const LDKArgument *arg)Read the value of a parsed command-line flag.
LDK_API bool ldkArgGetFlagValue(
const LDKArgParser *parser,
const char *name
);
const LDKArgParser *parserconst char *nameTrue if the operation succeeds; false otherwise.
Read a parsed integer command-line argument.
LDK_API i32 ldkArgGetIntValue(
const LDKArgParser *parser,
const char *name
);
const LDKArgParser *parserconst char *nameThe resulting integer value.
Read a parsed string command-line argument.
LDK_API const char * ldkArgGetStringValue(
const LDKArgParser *parser,
const char *name
);
const LDKArgParser *parserconst char *namePointer to the requested object or data; NULL when unavailable.
Initialize an argument parser.
LDK_API void ldkArgInitParser(LDKArgParser *parser);
LDKArgParser *parserParse command-line arguments according to the registered options.
LDK_API void ldkArgParseArguments(
LDKArgParser *parser,
u32 argc,
char *argv[]
);
LDKArgParser *parseru32 argcchar *argv[]Print usage information for the registered command-line options.
LDK_API void ldkArgPrintUsage(const LDKArgParser *parser);
const LDKArgParser *parser