diff options
| author | Garrett D'Amore <garrett@damore.org> | 2018-03-10 12:53:37 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2018-03-10 12:53:37 -0800 |
| commit | 3ad3e050704de2ca343848a46dd913b3b84bc287 (patch) | |
| tree | 2b2c4b34a7229dbe8845d850b9898bf577665e0a /src | |
| parent | 6f2ced1d6c3bfd4a4fcbc29701beb42348782a53 (diff) | |
| download | nng-3ad3e050704de2ca343848a46dd913b3b84bc287.tar.gz nng-3ad3e050704de2ca343848a46dd913b3b84bc287.tar.bz2 nng-3ad3e050704de2ca343848a46dd913b3b84bc287.zip | |
fixes #276 decouple NNG and zerotier definitions
Diffstat (limited to 'src')
| -rw-r--r-- | src/transport/zerotier/zerotier.c | 35 | ||||
| -rw-r--r-- | src/transport/zerotier/zerotier.h | 15 |
2 files changed, 32 insertions, 18 deletions
diff --git a/src/transport/zerotier/zerotier.c b/src/transport/zerotier/zerotier.c index 254684b7..01c290db 100644 --- a/src/transport/zerotier/zerotier.c +++ b/src/transport/zerotier/zerotier.c @@ -18,17 +18,6 @@ #include <ZeroTierOne.h> -// These values are supplied to help folks checking status. They are the -// return values from zt_opt_status. It's important that the status values -// here match what the underlying ZeroTier core gives us. -int nng_zt_network_status_configuring = - ZT_NETWORK_STATUS_REQUESTING_CONFIGURATION; -int nng_zt_network_status_ok = ZT_NETWORK_STATUS_OK; -int nng_zt_network_status_denied = ZT_NETWORK_STATUS_ACCESS_DENIED; -int nng_zt_network_status_notfound = ZT_NETWORK_STATUS_NOT_FOUND; -int nng_zt_network_status_error = ZT_NETWORK_STATUS_PORT_ERROR; -int nng_zt_network_status_obsolete = ZT_NETWORK_STATUS_CLIENT_TOO_OLD; - // ZeroTier Transport. This sits on the ZeroTier L2 network, which itself // is implemented on top of UDP. This requires the 3rd party // libzerotiercore library (which is GPLv3!) and platform specific UDP @@ -1949,7 +1938,29 @@ zt_getopt_network_status(zt_node *ztn, uint64_t nwid, void *buf, size_t *szp) nni_mtx_unlock(&zt_lk); return (NNG_ECLOSED); } - status = vcfg->status; + switch (vcfg->status) { + case ZT_NETWORK_STATUS_REQUESTING_CONFIGURATION: + status = NNG_ZT_STATUS_CONFIG; + break; + case ZT_NETWORK_STATUS_OK: + status = NNG_ZT_STATUS_UP; + break; + case ZT_NETWORK_STATUS_ACCESS_DENIED: + status = NNG_ZT_STATUS_DENIED; + break; + case ZT_NETWORK_STATUS_NOT_FOUND: + status = NNG_ZT_STATUS_NOTFOUND; + break; + case ZT_NETWORK_STATUS_PORT_ERROR: + status = NNG_ZT_STATUS_ERROR; + break; + case ZT_NETWORK_STATUS_CLIENT_TOO_OLD: + status = NNG_ZT_STATUS_OBSOLETE; + break; + default: + status = NNG_ZT_STATUS_UNKNOWN; + break; + } ZT_Node_freeQueryResult(ztn->zn_znode, vcfg); nni_mtx_unlock(&zt_lk); diff --git a/src/transport/zerotier/zerotier.h b/src/transport/zerotier/zerotier.h index a191b106..3ba84879 100644 --- a/src/transport/zerotier/zerotier.h +++ b/src/transport/zerotier/zerotier.h @@ -121,12 +121,15 @@ // return values from zt_opt_status. We avoid hard coding them as defines, // to keep applications from baking in values that may change if the // underlying ZeroTier transport changes. -NNG_DECL int nng_zt_network_status_configuring; -NNG_DECL int nng_zt_network_status_ok; -NNG_DECL int nng_zt_network_status_denied; -NNG_DECL int nng_zt_network_status_notfound; -NNG_DECL int nng_zt_network_status_error; -NNG_DECL int nng_zt_network_status_obsolete; +enum nng_zt_status { + NNG_ZT_STATUS_UP, + NNG_ZT_STATUS_CONFIG, + NNG_ZT_STATUS_DENIED, + NNG_ZT_STATUS_NOTFOUND, + NNG_ZT_STATUS_ERROR, + NNG_ZT_STATUS_OBSOLETE, + NNG_ZT_STATUS_UNKNOWN, +}; NNG_DECL int nng_zt_register(void); |
