silc_getopt
SYNOPSIS
int silc_getopt(int argc, char **argv, const char *optstring,
SilcGetOpt op)
DESCRIPTION
Parses comand line options. This function is equivalent to getopt(3). Returns the current parsed option, '?' if option was unknown, ':' if required argument was missing or -1 after all options have been parsed. If options require arguments they are available from the `op' structure, to where the options are parsed. The parsing is stopped immediately when first non-option character, which is not an argument for an option, is encountered.
The `optstring' contains the supported option characters. One character per option is required. If colon (':') follows option character the option requires an argument. If two colons ('::') follows option character the argument is optional. In that case the argument must follow the option in command line, for example -oarg, instead of -o arg.
EXAMPLE
int main(int argc, char **argv)
{
SilcGetOptStruct op = SILC_GETOPT_INIT;
while ((option = silc_getopt(argc, argv, "ab:t::", &op)) != -1) {
switch (option) {
case 'a':
...
break;
case 'b':
argument = silc_strdup(op.opt_arg);
break;
case 't':
if (op.opt_arg)
optional_argument = silc_strdup(op.opt_arg);
break;
default:
exit(1);
break;
}
}
}