Products Support Documentation Download
Command line parsing API
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_Trdm_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
sOKAYSuccess
sCMD_USAGEUsage information was printed and normal execution should not proceed
sCMD_VERSIONThe version number was printed and normal execution should not proceed
eBASE_COMMANDCommand line error and normal execution should not proceed
See also
rdm_cmdlineNextShortOption
rdm_cmdlineNextLongOption
Parameters
[in]cmdA pointer to an RDM_CMDLINE buffer for the command line parser
[in]argcThe number of arguments in argv not counting argv[0]
[in]argvThe command and following options and arguments that are to be parsed
[in]descriptionDescription
[in]optsThe 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]cmdThe RDM_CMDLINE handle for the command line parser initialized by rdm_cmdlineInit
[out]argA 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]cmdThe RDM_CMDLINE handle for the command line parser initialized by rdm_cmdlineInit
[out]argA 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