Command line parsing API

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

Collaboration diagram for Command line parsing API:

Data Structures

struct RDM_CMDLINE_OPT_A
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 RDM_TCHAR_T *const argv[], const RDM_TCHAR_T *description, const RDM_CMDLINE_OPT *opts)
Initialize an RDM_CMDLINE buffer and validate the command line. More...
const RDM_TCHAR_T * rdm_cmdlineNextLongOption (RDM_CMDLINE *cmd, const RDM_TCHAR_T **arg)
Get next option or argument. More...
RDM_TCHAR_T rdm_cmdlineNextShortOption (RDM_CMDLINE *cmd, const RDM_TCHAR_T **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 RDM_TCHAR_T *const argv[],
const RDM_TCHAR_T * 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
[in] cmd [IN] A pointer to an RDM_CMDLINE buffer for the command line parser
[in] argc [IN] The number of arguments in argv not counting argv[0]
[in] argv [IN] The command and following options and arguments that are to be parsed
[in] description [IN] Description
[in] opts [IN] The option and argument description for the command line parser

rdm_cmdlineNextLongOption()

const RDM_TCHAR_T* rdm_cmdlineNextLongOption ( RDM_CMDLINE * cmd,
const RDM_TCHAR_T ** 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
[in] cmd [IN] The RDM_CMDLINE handle for the command line parser initialized by rdm_cmdlineInit
[out] 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()

RDM_TCHAR_T rdm_cmdlineNextShortOption ( RDM_CMDLINE * cmd,
const RDM_TCHAR_T ** 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
[in] cmd [IN] The RDM_CMDLINE handle for the command line parser initialized by rdm_cmdlineInit
[out] 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