Provided by: atfs-dev_1.4pl6-15_amd64 bug

NAME

       stParseArgs, stShortUsage - parse command line arguments

SYNOPSIS

       #include <config.h>
       #include <sttk.h>

       int stParseArgs (int argCount, char *argVector,
                        int newArgCount, char *(*newArgVector[]), OptDesc optionList[]);

       voidstShortUsage (char *programName, OptDesc optionList[], char *extraText);

DESCRIPTION

       stParseArgs  parses  the  command  line for options previously declared in an option desription list. The
       programs argument count and argument vector  are  passed  as  argCount  and  argVector,  and  the  option
       description  list as optionList to stParseArgs. This filters out all known (from the option list) options
       and their arguments and returns  the  remaining  tokens  from  the  command  line  in  newArgVector  with
       newArgCount.  Options  on  the  command line must be preceded by a minus sign, otherwise they will not be
       recognized. The first entry in the argument vector, the program name, passes  the  function  without  any
       damage. stParseArgs may be invoked multiple times with different option lists.

       The option list is an array of option definitions of the following form:
       typedef struct {
         char *OptName;
         int  OptKind;
         int  (*OptFunc)();
         int  *OptVar;
         char *OptStr;
       } StOptDesc;
       The  array  is  finished by an option definition containing only null entries. OptName is the name of the
       option how it appears on the command line, without the leading minus sign. The OptKind is  a  flag  field
       defining the option type and the kind of action to be performed. Valid option types are

       PSWITCH
               The option is a switch and has no argument (default)

       PARG    The option has an argument immediately following the option on the command line.

       POARG   The option has an optional argument.

       The  action  to  be  prformed  on  occurence of an option on the command line refers either to OptFunc, a
       function to be defined by the application or to OptVar, an  application  variable,  associated  with  the
       option. The different kinds of action to be performed are

       PCALL   Call the function OptFunc (default).

       PSET    Set the variable OptVar to 1 (TRUE).

       PCLEAR  Set the variable OptVar to 0 (FALSE)

       PTOGGLE
               Toggle the value of the variable OptVar between 1 (TRUE) and 0 (FALSE).

       PUSAGE  Call stShortUsage (see below).

       PFAIL   Call stShortUsage (see below) and terminate program execution with return code 1.

       The following example shows some typical option definitions
       StOptDesc bindOptions[] = {
         { "help",    PFAIL,        NULL,           NULL,         NULL },
         { "trace",   PSWITCH|PSET, NULL,           &atBindTrace, NULL },
         { "since",   PCALL|PARG,   handleBaseline, NULL,         NULL },
         { "version", PCALL,        printVersion,   NULL,         NULL },
         { NULL,      NULL,         NULL,           NULL,         NULL },
       };

       stShortUsage  generates  a  short  usage  message  from the given optionList. The message starts with the
       programName and lists all option in the option list. At the  end,  extraText  is  added,  if  given.  The
       message is written to standard error.