diff options
| author | Joseph Henry <[email protected]> | 2016-07-05 14:47:14 -0500 |
|---|---|---|
| committer | Joseph Henry <[email protected]> | 2016-07-05 14:47:14 -0500 |
| commit | 075a53475fd8c36db3069137ac942106e355eb03 (patch) | |
| tree | a55b3d47f8a356ed5537c84bcdf1b3cd09da6f24 /src/SDK_XcodeWrapper.cpp | |
| parent | 9f776adc692c8d74b2de42974aeb6009c8be5539 (diff) | |
OSX SDK demo app update
Diffstat (limited to 'src/SDK_XcodeWrapper.cpp')
| -rwxr-xr-x | src/SDK_XcodeWrapper.cpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/SDK_XcodeWrapper.cpp b/src/SDK_XcodeWrapper.cpp new file mode 100755 index 0000000..7603f90 --- /dev/null +++ b/src/SDK_XcodeWrapper.cpp @@ -0,0 +1,63 @@ +// +// NetconWrapper.cpp +// Netcon-iOS +// +// Created by Joseph Henry on 2/14/16. +// Copyright © 2016 ZeroTier. All rights reserved. +// + +#include "SDK.h" +#include "SDK_XcodeWrapper.hpp" +#include "SDK_Signatures.h" +#include <sys/socket.h> + +#define INTERCEPT_ENABLED 111 +#define INTERCEPT_DISABLED 222 + +#include "SDK_ServiceSetup.hpp" + +// Starts a service at the specified path +extern "C" int start_service(const char * path) { + init_service(INTERCEPT_DISABLED, path); + return 1; +} + +// Joins a network +extern "C" void zt_join_network(const char * nwid){ + join_network(nwid); // Instruct ZeroTier service to join network + // zt_init_rpc(nwid); // Tells the RPC code where to contact the ZeroTier service +} + +// Leaves a network +extern "C" void zt_leave_network(const char * nwid){ + leave_network(nwid); +} + +// Explicit ZT API wrappers +extern "C" int zts_socket(SOCKET_SIG) { + return zt_socket(socket_family, socket_type, protocol); +} +extern "C" int zts_connect(CONNECT_SIG) { + return zt_connect(__fd, __addr, __len); +} +extern "C" int zt_bind(BIND_SIG){ + return zt_bind(sockfd, addr, addrlen); +} +extern "C" int zt_accept(ACCEPT_SIG) { + return zt_accept(sockfd, addr, addrlen); +} +extern "C" int zt_listen(LISTEN_SIG) { + return zt_listen(sockfd, backlog); +} +extern "C" int zt_setsockopt(SETSOCKOPT_SIG) { + return zt_setsockopt(socket, level, option_name, option_value, option_len); +} +extern "C" int zt_getsockopt(GETSOCKOPT_SIG) { + return zt_getsockopt(sockfd, level, optname, optval, optlen); +} +extern "C" int zt_close(CLOSE_SIG) { + return zt_close(fd); +} +extern "C" int zt_getsockname(GETSOCKNAME_SIG) { + return zt_getsockname(sockfd, addr, addrlen); +} |
