Typedefs | Enumerations | Functions

argparser.h File Reference

argparser include file. More...

Typedefs

typedef char * ArgStr
 String type.
typedef char ArgChar
 Character type.

Enumerations

enum  ArgBool { ARGBOOL_FALSE, ARGBOOL_TRUE }
enum  ArgReturn {
  ARGRET_OK, ARGRET_MEM_ERROR, ARGRET_NO_NAMES, ARGRET_INVALID_SNAME,
  ARGRET_INVALID_LNAME, ARGRET_INVALID_HELP, ARGRET_INVALID_FILE, ARGRET_FILE_LINE_TOO_LONG,
  ARGRET_FILE_READ_ERROR
}
enum  ArgValType { ARGVAL_NONE, ARGVAL_STRING }

Functions

ArgReturn args_addarg (const ArgStr shortname, const ArgStr longname, const ArgStr helpstring, const ArgValType valtype)
 Add valid arguments for parsing.
ArgReturn args_parse (int argc, char *argv[])
 Parses argc and argv for options.
ArgReturn args_parsefile (ArgStr filename)
 Parses a config file for options.
ArgBool args_check (const ArgStr name)
 Checks for an option.
ArgStr args_getunnamed (const int index)
 Retrieves and unnamed option based on index.
ArgStr args_getnamed (const ArgStr name)
 Retrieves named option based on short or long name.
void args_print (void)
 Prints a list of options and help string.
ArgBool args_unknown (void)
 Prints a list of unknown options.
void args_free (void)
 Frees all resources.

Detailed Description

argparser include file.


Enumeration Type Documentation

enum ArgBool

Logger boolean type

Enumerator:
ARGBOOL_FALSE 
ARGBOOL_TRUE 
enum ArgReturn

Possible error codes.

Enumerator:
ARGRET_OK 

Success

ARGRET_MEM_ERROR 

Memory allocation error

ARGRET_NO_NAMES 

No short or long names provided

ARGRET_INVALID_SNAME 

Invalid short name

ARGRET_INVALID_LNAME 

Invalid long name

ARGRET_INVALID_HELP 

Invalid help string

ARGRET_INVALID_FILE 

Invalid file

ARGRET_FILE_LINE_TOO_LONG 

Line in file exceeded buffer length

ARGRET_FILE_READ_ERROR 

File read error

enum ArgValType

Possible types of arguments.


Function Documentation

ArgReturn args_addarg ( const ArgStr  shortname,
const ArgStr  longname,
const ArgStr  helpstring,
const ArgValType  valtype 
)

Add valid arguments for parsing.

Parameters:
[in] shortname A short 1 or 2 letter flag (do NOT prefix '-').
[in] longname A long name, more than 2 letters (do NOT prefix '--').
[in] helpstring Helpstring shown when args_print used.
[in] valtype Type of value this argument accepts.
Returns:
ArgReturn error code.
ArgBool args_check ( const ArgStr  name  ) 

Checks for an option.

Parameters:
[in] name Short or long name.
Returns:
(ArgBool) True or False if argument flag is set.
ArgStr args_getnamed ( const ArgStr  name  ) 

Retrieves named option based on short or long name.

Parameters:
[in] name Short or long name.
Returns:
String containing the option.
ArgStr args_getunnamed ( const int  index  ) 

Retrieves and unnamed option based on index.

If you exec "executable option1 option2 -flag1" "option1" and "option2" are unnamed options because they are not prefixed by "-" or "--"

Parameters:
[in] index 1 is the first option, 2 is the second.
Returns:
String containing the option.
ArgReturn args_parse ( int  argc,
char *  argv[] 
)

Parses argc and argv for options.

Parameters:
[in] argc Number of arguments.
[in] argv Array of strings containing arguments.
Returns:
ArgReturn error code.
ArgReturn args_parsefile ( ArgStr  filename  ) 

Parses a config file for options.

To override command line options, call this function first, otherwise calling args_parse first will override any config file options.

Parameters:
[in] filename Name of config file.
ArgBool args_unknown ( void   ) 

Prints a list of unknown options.

Returns:
(ArgBool) True if unknowns exist.