Updated zts_start* API naming convention

This commit is contained in:
Joseph Henry
2017-10-12 12:07:33 -07:00
parent b78662dd9b
commit 9473b6f74a
17 changed files with 262 additions and 49 deletions

View File

@@ -163,7 +163,9 @@ ZeroTier::VirtualTap *getAnyTap()
return vtap;
}
int zts_get_device_id_from_file(const char *filepath, char *devID) {
int zts_get_device_id_from_file(const char *filepath, char *devID)
{
DEBUG_EXTRA();
std::string fname("identity.public");
std::string fpath(filepath);
if (ZeroTier::OSUtils::fileExists((fpath + ZT_PATH_SEPARATOR_S + fname).c_str(),false)) {
@@ -178,7 +180,7 @@ int zts_get_device_id_from_file(const char *filepath, char *devID) {
// Starts a ZeroTier service in the background
void *zts_start_service(void *thread_id)
{
DEBUG_INFO("homeDir=%s", ZeroTier::homeDir.c_str());
DEBUG_INFO("path=%s", ZeroTier::homeDir.c_str());
// Where network .conf files will be stored
ZeroTier::netDir = ZeroTier::homeDir + "/networks.d";
ZeroTier::zt1Service = (ZeroTier::OneService *)0;
@@ -250,6 +252,7 @@ void *zts_start_service(void *thread_id)
void disableTaps()
{
DEBUG_EXTRA();
ZeroTier::_vtaps_lock.lock();
for (size_t i=0; i<ZeroTier::vtaps.size(); i++) {
DEBUG_EXTRA("vt=%p", ZeroTier::vtaps[i]);
@@ -260,6 +263,7 @@ void disableTaps()
void zts_get_ipv4_address(const char *nwid, char *addrstr, const size_t addrlen)
{
DEBUG_EXTRA();
if (ZeroTier::zt1Service) {
uint64_t nwid_int = strtoull(nwid, NULL, 16);
ZeroTier::VirtualTap *tap = getTapByNWID(nwid_int);
@@ -282,6 +286,7 @@ void zts_get_ipv4_address(const char *nwid, char *addrstr, const size_t addrlen)
void zts_get_ipv6_address(const char *nwid, char *addrstr, size_t addrlen)
{
DEBUG_EXTRA();
if (ZeroTier::zt1Service) {
uint64_t nwid_int = strtoull(nwid, NULL, 16);
ZeroTier::VirtualTap *tap = getTapByNWID(nwid_int);
@@ -304,6 +309,7 @@ void zts_get_ipv6_address(const char *nwid, char *addrstr, size_t addrlen)
int zts_has_ipv4_address(const char *nwid)
{
DEBUG_EXTRA();
char ipv4_addr[INET_ADDRSTRLEN];
memset(ipv4_addr, 0, INET_ADDRSTRLEN);
zts_get_ipv4_address(nwid, ipv4_addr, INET_ADDRSTRLEN);
@@ -312,6 +318,7 @@ int zts_has_ipv4_address(const char *nwid)
int zts_has_ipv6_address(const char *nwid)
{
DEBUG_EXTRA();
char ipv6_addr[INET6_ADDRSTRLEN];
memset(ipv6_addr, 0, INET6_ADDRSTRLEN);
zts_get_ipv6_address(nwid, ipv6_addr, INET6_ADDRSTRLEN);
@@ -320,12 +327,14 @@ int zts_has_ipv6_address(const char *nwid)
int zts_has_address(const char *nwid)
{
DEBUG_EXTRA();
return zts_has_ipv4_address(nwid) || zts_has_ipv6_address(nwid);
}
void zts_get_6plane_addr(char *addr, const char *nwid, const char *devID)
{
DEBUG_EXTRA();
ZeroTier::InetAddress _6planeAddr = ZeroTier::InetAddress::makeIpv66plane(
ZeroTier::Utils::hexStrToU64(nwid),ZeroTier::Utils::hexStrToU64(devID));
char ipbuf[INET6_ADDRSTRLEN];
@@ -334,13 +343,16 @@ void zts_get_6plane_addr(char *addr, const char *nwid, const char *devID)
void zts_get_rfc4193_addr(char *addr, const char *nwid, const char *devID)
{
DEBUG_EXTRA();
ZeroTier::InetAddress _6planeAddr = ZeroTier::InetAddress::makeIpv6rfc4193(
ZeroTier::Utils::hexStrToU64(nwid),ZeroTier::Utils::hexStrToU64(devID));
char ipbuf[INET6_ADDRSTRLEN];
memcpy(addr, _6planeAddr.toIpString(ipbuf), 40);
}
void zts_join(const char * nwid) {
void zts_join(const char * nwid)
{
DEBUG_EXTRA();
if (ZeroTier::zt1Service) {
std::string confFile = ZeroTier::zt1Service->givenHomePath() + "/networks.d/" + nwid + ".conf";
if (ZeroTier::OSUtils::mkdir(ZeroTier::netDir) == false) {
@@ -361,7 +373,9 @@ void zts_join(const char * nwid) {
}
}
void zts_join_soft(const char * filepath, const char * nwid) {
void zts_join_soft(const char * filepath, const char * nwid)
{
DEBUG_EXTRA();
std::string net_dir = std::string(filepath) + "/networks.d/";
std::string confFile = net_dir + std::string(nwid) + ".conf";
if (ZeroTier::OSUtils::mkdir(net_dir) == false) {
@@ -376,23 +390,30 @@ void zts_join_soft(const char * filepath, const char * nwid) {
}
}
void zts_leave(const char * nwid) {
void zts_leave(const char * nwid)
{
DEBUG_EXTRA();
if (ZeroTier::zt1Service) {
ZeroTier::zt1Service->leave(nwid);
}
}
void zts_leave_soft(const char * filepath, const char * nwid) {
void zts_leave_soft(const char * filepath, const char * nwid)
{
DEBUG_EXTRA();
std::string net_dir = std::string(filepath) + "/networks.d/";
ZeroTier::OSUtils::rm((net_dir + nwid + ".conf").c_str());
}
int zts_running() {
int zts_running()
{
DEBUG_EXTRA();
return ZeroTier::zt1Service == NULL ? false : ZeroTier::zt1Service->isRunning();
}
int zts_start(const char *path)
{
DEBUG_EXTRA();
if (ZeroTier::zt1Service) {
return 0; // already initialized, ok
}
@@ -406,8 +427,9 @@ int zts_start(const char *path)
return pthread_create(&service_thread, NULL, zts_start_service, NULL);
}
int zts_simple_start(const char *path, const char *nwid)
int zts_startjoin(const char *path, const char *nwid)
{
DEBUG_EXTRA();
ZT_NodeStatus status;
int err = zts_start(path);
while (zts_running() == false || ZeroTier::zt1Service->getNode() == NULL) {
@@ -437,7 +459,9 @@ int zts_simple_start(const char *path, const char *nwid)
return err;
}
void zts_stop() {
void zts_stop()
{
DEBUG_EXTRA();
if (ZeroTier::zt1Service) {
ZeroTier::zt1Service->terminate();
disableTaps();
@@ -447,7 +471,9 @@ void zts_stop() {
#endif
}
void zts_get_homepath(char *homePath, size_t len) {
void zts_get_homepath(char *homePath, size_t len)
{
DEBUG_EXTRA();
if (ZeroTier::homeDir.length()) {
memset(homePath, 0, len);
size_t buf_len = len < ZeroTier::homeDir.length() ? len : ZeroTier::homeDir.length();
@@ -455,7 +481,9 @@ void zts_get_homepath(char *homePath, size_t len) {
}
}
int zts_get_device_id(char *devID) {
int zts_get_device_id(char *devID)
{
DEBUG_EXTRA();
if (ZeroTier::zt1Service) {
char id[ZTO_ID_LEN];
sprintf(id, "%lx",ZeroTier::zt1Service->getNode()->address());
@@ -476,7 +504,9 @@ int zts_get_device_id(char *devID) {
return -1;
}
unsigned long zts_get_peer_count() {
unsigned long zts_get_peer_count()
{
DEBUG_EXTRA();
if (ZeroTier::zt1Service) {
return ZeroTier::zt1Service->getNode()->peers()->peerCount;
}
@@ -485,7 +515,9 @@ unsigned long zts_get_peer_count() {
}
}
int zts_get_peer_address(char *peer, const char *devID) {
int zts_get_peer_address(char *peer, const char *devID)
{
DEBUG_EXTRA();
if (ZeroTier::zt1Service) {
ZT_PeerList *pl = ZeroTier::zt1Service->getNode()->peers();
// uint64_t addr;
@@ -501,12 +533,11 @@ int zts_get_peer_address(char *peer, const char *devID) {
void zts_allow_http_control(bool allowed)
{
DEBUG_EXTRA();
// TODO
}
#if defined(SDK_JNI)
namespace ZeroTier {