X-Git-Url: https://git.distorted.org.uk/~mdw/mLib/blobdiff_plain/2b1924c2442eaf7342c8e992e96b59aa7798cc8d..0335afec2c33fefcd6d3cb2c39d014ab2519b2c2:/ui/mdwopt.3?ds=sidebyside diff --git a/ui/mdwopt.3 b/ui/mdwopt.3 index 7afd2d2..253b635 100644 --- a/ui/mdwopt.3 +++ b/ui/mdwopt.3 @@ -7,23 +7,57 @@ mdwopt \- command-line option parser .nf .B "#include " -.ds mT \fBint mdwopt( -.BI "\*(mTint " argc ", char *const *" argv , -.BI "\h'\w'\*(mT'u'const char *" shortopt , -.BI "\h'\w'\*(mT'u'const struct option *" longopt ", int *" longind , -.BI "\h'\w'\*(mT'u'mdwopt_data *" data ", int " flags ); +.ta 2n +.B "typedef struct {" +.B " char *arg, *prog;" +.B " int opt, ind, err;" +.B " ..." +.B "} mdwopt_data;" + +.B "char *optarg, optprog;" +.B "int optopt, opterr, optind;" + +.B "struct option {" +.B " const char *name;" +.B " int has_arg;" +.B " int *flag;" +.B " int val;" +.B "};" + +.B "#define OPTF_NOARG = ..." +.B "#define OPTF_ARGREQ = ..." +.B "#define OPTF_ARGOPT = ..." +.B "#define OPTF_ARG = ..." +.B "#define OPTF_SWITCH = ..." +.B "#define OPTF_NEGATE = ..." + +.B "#define OPTF_NOLONGS = ..." +.B "#define OPTF_NOSHORTS = ..." +.B "#define OPTF_NUMBERS = ..." +.B "#define OPTF_NEGATION = ..." +.B "#define OPTF_ENVVAR = ..." +.B "#define OPTF_NOPROGNAME = ..." +.B "#define OPTF_NEGNUMBER = ..." + +.B "#define OPTF_NEGATED = ..." + +.ta \w'\fBint mdwopt('u +.BI "int mdwopt(int " argc ", char *const *" argv , +.BI " const char *" shortopt , +.BI " const struct option *" longopt ", int *" longind , +.BI " mdwopt_data *" data ", int " flags ); .BI "int getopt(int " argc ", char *const *" argv ", const char *" o ); -.ds mT \fBint getopt_long( -.BI "\*(mTint " argc ", char *const *" argv , -.BI "\h'\w'\*(mT'u'const char * "shortopt , -.BI "\h'\w'\*(mT'u'const struct option *" longopt ", int *" longind ); +.ta \w'\fBint getopt_long('u +.BI "int getopt_long(int " argc ", char *const *" argv , +.BI " const char * "shortopt , +.BI " const struct option *" longopt ", int *" longind ); -.ds mT \fBint getopt_long_only( -.BI "\*(mTint " argc ", char *const *" argv , -.BI "\h'\w'\*(mT'u'const char * "shortopt , -.BI "\h'\w'\*(mT'u'const struct option *" longopt ", int *" longind ); +.ta \w'\fBint getopt_long_only('u +.BI "int getopt_long_only(int " argc ", char *const *" argv , +.BI " const char * "shortopt , +.BI " const struct option *" longopt ", int *" longind ); .fi .SH "OVERVIEW" The