From 2573006b1d934ebe2287cfba98ac31381981766e Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Fri, 5 Apr 2024 19:56:14 -0700 Subject: nng_opts_parse and nng_socket_pair --- docs/ref/util/nng_opts_parse.adoc | 143 +++++++++++++++++++++++++++++++++++++ docs/ref/util/nng_socket_pair.adoc | 37 ++++++++++ 2 files changed, 180 insertions(+) create mode 100644 docs/ref/util/nng_opts_parse.adoc create mode 100644 docs/ref/util/nng_socket_pair.adoc (limited to 'docs/ref') diff --git a/docs/ref/util/nng_opts_parse.adoc b/docs/ref/util/nng_opts_parse.adoc new file mode 100644 index 00000000..93bf30e2 --- /dev/null +++ b/docs/ref/util/nng_opts_parse.adoc @@ -0,0 +1,143 @@ +## nng_opts_parse + +Parse command line options. + +### Synopsis + +```c +#include +#include + +typedef struct nng_optspec { + const char *o_name; // Long style name (may be NULL for short only) + int o_short; // Short option (no clustering!) + int o_val; // Value stored on a good parse (>0) + bool o_arg; // Option takes an argument if true +} nng_optspec; + +int nng_opts_parse(int argc, char *const *argv, + const nng_optspec *spec, int *val, char **arg, int *idx); +``` + +### Description + +The `nng_opts_parse` is function is a supplemental function intended to facilitate parsing command line arguments. +This function is a substitute for `getopt` from POSIX systems, and it is available everywhere that _NNG_ is. +It also includes some capabilities missing from `getopt`. + +The function parses arguments from `main` (using _argc_ and _argv_), starting at the index referenced by _idx_. +(New invocations typically set the value pointed to by _idx_ to 1.) + +Options are parsed as specified by _spec_ (see <