Command line parsing API
Collaboration diagram for Command line parsing API:

Data Structures

struct RDM_CMDLINE_OPT
Generic usage function option record. More...
struct RDM_CMDLINE
The buffer used by the command line parser to hold state information. More...

Functions

RDM_RETCODE rdm_cmdlineInit (RDM_CMDLINE *cmd, int32_t argc, const char *const argv[], const char *description, const RDM_CMDLINE_OPT *opts)
Initialize an RDM_CMDLINE buffer and validate the command line. More...
const char * rdm_cmdlineNextLongOption (RDM_CMDLINE *cmd, const char **arg)
Get next option or argument. More...
char rdm_cmdlineNextShortOption (RDM_CMDLINE *cmd, const char **arg)
Get next option or argument. More...

Detailed Description

The RDM command line API. The functions here are located in RDM Base Functionality. Linker option:

    -lrdmbase

Function Documentation

rdm_cmdlineInit()

RDM_RETCODE rdm_cmdlineInit ( RDM_CMDLINE * cmd,
int32_t argc,
const char *const argv[],
const char * description,
const RDM_CMDLINE_OPT * opts
)

#include <rdmcmdlineapi.h>

Initialize an RDM_CMDLINE buffer and validate the command line.

This function initializeds an RDM_CMDLINE buffer and parses the command line given. This function must be called before any of the other rdm_cmd* functions are called.

If sOKAY is returned call rdm_cmdlineNextShortOption() or rdm_cmdlineNextLongOption() to get all the option and arguments.

If any error or status other that sOKAY are returned no handle is allocated and you are done parsing the command line and should not continue with normal execution.

Return values
sOKAY Success
sCMD_USAGE Usage information was printed and normal execution should not proceed
sCMD_VERSION The version number was printed and normal execution should not proceed
eBASE_COMMAND Command line error and normal execution should not proceed
See also
rdm_cmdlineNextShortOption
rdm_cmdlineNextLongOption
Parameters
cmd [IN] A pointer to an RDM_CMDLINE buffer for the command line parser
argc [IN] The number of arguments in argv not counting argv[0]
argv [IN] The command and following options and arguments that are to be parsed
description [IN] Description
opts [IN] The option and argument description for the command line parser
Examples
core02Example_main.c, core03Example_main.c, core04Example_main.c, core05Example_main.c, core06Example_main.c, core07Example_main.c, core08Example_main.c, core09Example_main.c, core10Example_main.c, core11Example_main.c, core12Example_main.c, core13Example_main.c, core20Example_main.c, core21Example_main.c, core22Example_main.c, core23Example_main.c, core24Example_main.c, core25Example_main.c, core28Example_main.c, core29Example_main.c, core30Example_main.c, cpp50Example_main.cpp, and cpp55Example_main.cpp.

rdm_cmdlineNextLongOption()

const char* rdm_cmdlineNextLongOption ( RDM_CMDLINE * cmd,
const char ** arg
)

#include <rdmcmdlineapi.h>

Get next option or argument.

This function returns the next option or argument as a string as specified in the long option of the matching RDM_CMDLINE_OPT provided to rdm_cmdAllocCmd(). If the long option is specified as NULL the short option is returned instead.

Returns
The matching option
See also
rdm_cmdlineInit
rdm_cmdlineNextShortOption
Parameters
cmd [IN] The RDM_CMDLINE handle for the command line parser initialized by rdm_cmdlineInit()
arg [OUT] A pointer to a string pointer where any argument will be returned. NULL means there were no argument. The returned string should not be freed by the application

rdm_cmdlineNextShortOption()

char rdm_cmdlineNextShortOption ( RDM_CMDLINE * cmd,
const char ** arg
)

#include <rdmcmdlineapi.h>

Get next option or argument.

This function returns the next option or argument as a single character as specified in the short option of the matching RDM_CMDLINE_OPT provided to rdm_cmdAllocCmd().

This function should not be used in the case where some short options are specified with the empty string. Use rdm_cmdlineNextLongOption() instead.

Returns
The next short option character.
See also
rdm_cmdlineInit
rdm_cmdlineNextLongOption
Parameters
cmd [IN] The RDM_CMDLINE handle for the command line parser initialized by rdm_cmdlineInit()
arg [OUT] A pointer to a string pointer where any argument will be returned. NULL means there were no argument. The returned string should not be freed by the application
Examples
cpp50Example_main.cpp, and cpp55Example_main.cpp.