aboutsummaryrefslogtreecommitdiff
path: root/src/supplemental/util/options.h
diff options
context:
space:
mode:
authorGregor Burger <gregor.burger@bhs-technologies.com>2018-11-20 11:48:03 +0100
committerGarrett D'Amore <garrett@damore.org>2018-11-22 12:28:27 -0800
commitd6bb25e1e0a25cb5aa781ac4f90b513fd5624f50 (patch)
treef081a6868a6c3d88b4df64ef20a38fb3e83925d1 /src/supplemental/util/options.h
parent8a9fd805d96201c780610b765f9e6dd9f2eda642 (diff)
downloadnng-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.h48
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