.fp 5 CW .de Af .ds ;G \\*(;G\\f\\$1\\$3\\f\\$2 .if !\\$4 .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9" .. .de aF .ie \\$3 .ft \\$1 .el \{\ .ds ;G \& .nr ;G \\n(.f .Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9" \\*(;G .ft \\n(;G \} .. .de L .aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" .. .de LR .aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" .. .de RL .aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" .. .de EX \" start example .ta 1i 2i 3i 4i 5i 6i .PP .RS .PD 0 .ft 5 .nf .. .de EE \" end example .fi .ft .PD .RE .PP .. .TH OPTGET 3 .SH NAME optget \- option parse assist .SH SYNOPSIS .EX #include Opt_t { }; Optdisc_t { unsigned long version; unsigned long flags; char* catalog; Optinfo_f infof; }; Opt_t opt_info; void optinit(Optdisc_t* \fIdisc\fP, Error_f \fIerrorf\fP); int optget(char** \fIargv\fP, const char* \fIusage\fP); int optstr(const char* \fIstring\fP, const char* \fIusage\fP); int optjoin(char** \fIargv\fP, ... [int (*\fIoptfun\fP)(char** \fIargv\fP, int \fIlast\fP)]); char* optusage(const char* \fIopts\fP); int optesc(Sfio_t* \fIsp\fP, const char* \fIstring\fP, int \fIflags\fP); .EE .SH DESCRIPTION .SH "SEE ALSO"