summaryrefslogtreecommitdiff
path: root/src/SDK_XcodeWrapper.cpp
diff options
context:
space:
mode:
authorJoseph Henry <[email protected]>2016-07-05 14:47:14 -0500
committerJoseph Henry <[email protected]>2016-07-05 14:47:14 -0500
commit075a53475fd8c36db3069137ac942106e355eb03 (patch)
treea55b3d47f8a356ed5537c84bcdf1b3cd09da6f24 /src/SDK_XcodeWrapper.cpp
parent9f776adc692c8d74b2de42974aeb6009c8be5539 (diff)
OSX SDK demo app update
Diffstat (limited to 'src/SDK_XcodeWrapper.cpp')
-rwxr-xr-xsrc/SDK_XcodeWrapper.cpp63
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);
+}