Provided by: atfs-dev_1.4pl6-14_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.