diff options
| author | Gregor Burger <gregor.burger@bhs-technologies.com> | 2018-11-20 11:48:03 +0100 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-11-22 12:28:27 -0800 |
| commit | d6bb25e1e0a25cb5aa781ac4f90b513fd5624f50 (patch) | |
| tree | f081a6868a6c3d88b4df64ef20a38fb3e83925d1 /src/supplemental/util/options.h | |
| parent | 8a9fd805d96201c780610b765f9e6dd9f2eda642 (diff) | |
| download | nng-d6bb25e1e0a25cb5aa781ac4f90b513fd5624f50.tar.gz nng-d6bb25e1e0a25cb5aa781ac4f90b513fd5624f50.tar.bz2 nng-d6bb25e1e0a25cb5aa781ac4f90b513fd5624f50.zip | |
move all public headers to include/nng/ folder
This change makes embedding nng + nggpp (or other projects depending on
nng) in cmake easier. The header files are moved to a separate include
directory. This also makes installation of the headers easier, and
allows clearer identification of private vs public heade files.
Some additional cleanups were performed by @gedamore, but the main
credit for this change belongs with @gregorburger.
Diffstat (limited to 'src/supplemental/util/options.h')
| -rw-r--r-- | src/supplemental/util/options.h | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/src/supplemental/util/options.h b/src/supplemental/util/options.h deleted file mode 100644 index 83969a90..00000000 --- a/src/supplemental/util/options.h +++ /dev/null @@ -1,48 +0,0 @@ -// -// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech> -// Copyright 2018 Capitar IT Group BV <info@capitar.com> -// -// This software is supplied under the terms of the MIT License, a -// copy of which should be located in the distribution where this -// file was obtained (LICENSE.txt). A copy of the license may also be -// found online at https://opensource.org/licenses/MIT. -// - -#ifndef NNG_SUPPLEMENTAL_UTIL_OPTIONS_H -#define NNG_SUPPLEMENTAL_UTIL_OPTIONS_H - -#include <stdbool.h> - -#ifdef __cplusplus -extern "C" { -#endif - -// This is a relatively simple "options parsing" library, used to -// parse command line options. We would use getopt(3), but there are -// two problems with getopt(3). First, it isn't available on all -// platforms (especially Win32), and second, it doesn't support long -// options. We *exclusively* support long options. POSIX style -// short option clustering is *NOT* supported. - -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 -}; - -typedef struct nng_optspec nng_optspec; - -// Call with *optidx set to 1 to start parsing for a standard program. -// The val will store the value of the matched "o_val", optarg will be -// set to match the option string, and optidx will be increment appropriately. -// Returns -1 when the end of options is reached, 0 on success, or -// NNG_EINVAL if the option parse is invalid for any reason. -NNG_DECL int nng_opts_parse(int argc, char *const *argv, - const nng_optspec *opts, int *val, char **optarg, int *optidx); - -#ifdef __cplusplus -} -#endif - -#endif // NNG_SUPPLEMENTAL_UTIL_OPTIONS_H |
