stparseargs(3)
parse command line arguments
Description
stparseargs
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.