diff options
| author | Joseph Henry <[email protected]> | 2017-10-15 14:16:05 -0700 |
|---|---|---|
| committer | Joseph Henry <[email protected]> | 2017-10-15 14:16:05 -0700 |
| commit | 3598c675d620359fddbf1464e978f031489c3ac2 (patch) | |
| tree | f7bc0ce400f7070e9fa60e2ff85c490e56c5da2e /examples/java/ZeroTierHelloWorld/src/zerotier/ZeroTier.java | |
| parent | 9d26af1b64e297b8631a345f950c55a943a9c02e (diff) | |
Changed examples/ subfolder structure
Diffstat (limited to 'examples/java/ZeroTierHelloWorld/src/zerotier/ZeroTier.java')
| -rw-r--r-- | examples/java/ZeroTierHelloWorld/src/zerotier/ZeroTier.java | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/examples/java/ZeroTierHelloWorld/src/zerotier/ZeroTier.java b/examples/java/ZeroTierHelloWorld/src/zerotier/ZeroTier.java deleted file mode 100644 index db39e48..0000000 --- a/examples/java/ZeroTierHelloWorld/src/zerotier/ZeroTier.java +++ /dev/null @@ -1,195 +0,0 @@ -/* - * ZeroTier SDK - Network Virtualization Everywhere - * Copyright (C) 2011-2017 ZeroTier, Inc. https://www.zerotier.com/ - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * - * -- - * - * You can be released from the requirements of the license by purchasing - * a commercial license. Buying such a license is mandatory as soon as you - * develop commercial closed-source software that incorporates or links - * directly against ZeroTier software without disclosing the source code - * of your own application. - */ - -package zerotier; - -import java.io.FileDescriptor; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.zip.ZipError; - -public class ZeroTier { - - public static String Version() { - return "1.1.5"; - } - - // Socket families - public static int AF_UNIX = 1; - public static int AF_INET = 2; - - // Socket types - public static int SOCK_STREAM = 1; - public static int SOCK_DGRAM = 2; - - // fcntl flags - public static int O_APPEND = 1024; - public static int O_NONBLOCK = 2048; - public static int O_ASYNC = 8192; - public static int O_DIRECT = 65536; - public static int O_NOATIME = 262144; - - // fcntl cmds - public static int F_GETFL = 3; - public static int F_SETFL = 4; - - // Loads JNI code - //static { System.loadLibrary("zt"); } - - // ZeroTier service controls - public native void ztjni_start(String homeDir); - public void start(String homeDir) { ztjni_start(homeDir); } - - public native void ztjni_startjoin(String homeDir, String nwid); - public void startjoin(String homeDir, String nwid) { ztjni_startjoin(homeDir, nwid); } - - public native void ztjni_join(String nwid); - public void join(String nwid) { - ztjni_join(nwid); - } - - public native void ztjni_leave(String nwid); - public void leave(String nwid) { - ztjni_leave(nwid); - } - - public native ArrayList<String> ztjni_get_addresses(String nwid); - public ArrayList<String> get_addresses(String nwid) { - int err = -1; - ArrayList<String> addresses; - while (err < 0) { - try { - Thread.sleep(100); - } catch (InterruptedException e) { - } - addresses = ztjni_get_addresses(nwid); - if (addresses.size() > 0) { - return addresses; - } - } - return null; - } - - public native boolean ztjni_running(); - public boolean running() { return ztjni_running(); } - - public native int ztjni_socket(int family, int type, int protocol); - public int socket(int family, int type, int protocol) { return ztjni_socket(family, type, protocol); } - - public native int ztjni_connect(int fd, String addr, int port); - public int connect(int sock, Address zaddr, String nwid) { return connect(sock, zaddr.Address(), zaddr.Port(), nwid); } - - public int connect(int sock, String addr, int port, String nwid) - { - int err = -1; - ArrayList<String> addresses; - while (err < 0) { - try { - Thread.sleep(100); - } catch (InterruptedException e) { - } - addresses = ztjni_get_addresses(nwid); - if (addresses.size() > 0) { - if(!addresses.get(0).startsWith("-1.-1.-1.-1/-1")) { - err = ztjni_connect(sock, addr, port); - } - } - } - return err; - } - - public native int ztjni_bind(int fd, String addr, int port); - public int bind(int sock, Address zaddr, String nwid) { return bind(sock, zaddr.Address(), zaddr.Port(), nwid); } - - public int bind(int sock, String addr, int port, String nwid) { - int err = -1; - ArrayList<String> addresses; - while (err < 0) { - try { - Thread.sleep(100); - } catch (InterruptedException e) { - } - addresses = ztjni_get_addresses(nwid); - if (addresses.size() > 0) { - if(!addresses.get(0).startsWith("-1.-1.-1.-1/-1")) { - err = ztjni_bind(sock, addr, port); - } - } - } - return err; - } - - public native int ztjni_accept4(int fd, String addr, int port); - public int accept4(int fd, String addr, int port) { - return ztjni_accept4(fd,addr,port); - } - - public native int ztjni_accept(int fd, zerotier.Address addr); - public int accept(int fd, zerotier.Address addr) { - return ztjni_accept(fd, addr); - } - - public native int ztjni_listen(int fd, int backlog); - public int listen(int fd, int backlog) { - return ztjni_listen(fd,backlog); - } - - public native int ztjni_close(int fd); - public int close(int fd) { - return ztjni_close(fd); - } - - public native int ztjni_read(int fd, byte[] buf, int len); - public int read(int fd, byte[] buf, int len) { - return ztjni_read(fd, buf, len); - } - - public native int ztjni_write(int fd, byte[] buf, int len); - public int write(int fd, byte[] buf, int len) { - return ztjni_write(fd, buf, len); - } - - public native int ztjni_sendto(int fd, byte[] buf, int len, int flags, zerotier.Address addr); - public int sendto(int fd, byte[] buf, int len, int flags, zerotier.Address addr){ - return ztjni_sendto(fd,buf,len,flags,addr); - } - - public native int ztjni_send(int fd, byte[] buf, int len, int flags); - public int send(int fd, byte[] buf, int len, int flags) { - return ztjni_send(fd, buf, len, flags); - } - - public native int ztjni_recvfrom(int fd, byte[] buf, int len, int flags, zerotier.Address addr); - public int recvfrom(int fd, byte[] buf, int len, int flags, zerotier.Address addr){ - return ztjni_recvfrom(fd,buf,len,flags,addr); - } - - public native int ztjni_fcntl(int sock, int cmd, int flag); - public int fcntl(int sock, int cmd, int flag) { - return ztjni_fcntl(sock, F_SETFL, O_NONBLOCK); - } -}
\ No newline at end of file |
