1.fp 5 CW
2.de Af
3.ds ;G \\*(;G\\f\\$1\\$3\\f\\$2
4.if !\\$4 .Af \\$2 \\$1 "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
5..
6.de aF
7.ie \\$3 .ft \\$1
8.el \{\
9.ds ;G \&
10.nr ;G \\n(.f
11.Af "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7" "\\$8" "\\$9"
12\\*(;G
13.ft \\n(;G \}
14..
15.de L
16.aF 5 \\n(.f "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
17..
18.de LR
19.aF 5 1 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
20..
21.de RL
22.aF 1 5 "\\$1" "\\$2" "\\$3" "\\$4" "\\$5" "\\$6" "\\$7"
23..
24.de EX		\" start example
25.ta 1i 2i 3i 4i 5i 6i
26.PP
27.RS 
28.PD 0
29.ft 5
30.nf
31..
32.de EE		\" end example
33.fi
34.ft
35.PD
36.RE
37.PP
38..
39.TH OPTGET 3
40.SH NAME
41optget \- option parse assist
42.SH SYNOPSIS
43.EX
44#include <option.h>
45
46Opt_t
47{
48};
49
50Optdisc_t
51{
52	unsigned long  version;
53	unsigned long  flags;
54	char*          catalog;
55	Optinfo_f      infof;
56};
57
58Opt_t   opt_info;
59
60void    optinit(Optdisc_t* \fIdisc\fP, Error_f \fIerrorf\fP);
61int     optget(char** \fIargv\fP, const char* \fIusage\fP);
62int     optstr(const char* \fIstring\fP, const char* \fIusage\fP);
63int     optjoin(char** \fIargv\fP, ... [int (*\fIoptfun\fP)(char** \fIargv\fP, int \fIlast\fP)]);
64char*   optusage(const char* \fIopts\fP);
65int     optesc(Sfio_t* \fIsp\fP, const char* \fIstring\fP, int \fIflags\fP);
66.EE
67.SH DESCRIPTION
68.SH "SEE ALSO"
69