Updated README.md

This commit is contained in:
Joseph Henry
2017-08-01 14:18:21 -07:00
parent 7293c94e43
commit b653e9e641
2 changed files with 21 additions and 1 deletions

View File

@@ -4,7 +4,7 @@
<a href="https://www.zerotier.com?pk_campaign=github_libzt"><img src="https://github.com/zerotier/ZeroTierOne/raw/master/artwork/AppIcon_87x87.png" align="left" hspace="20" vspace="6"></a>
**ZeroTier** makes it easy to securely connect devices, servers, cloud VMs, containers, and apps everywhere and manage them at scale. Now, with **libzt** you can bake this ability directly into your app or service using your preferred language or framework. We provide a BSD socket-like API to make the integration simple and there's no longer any need for system-wide virtual interfaces. This connection is exclusive to your app.
**ZeroTier** makes it easy to securely connect devices, servers, cloud VMs, containers, and apps everywhere and manage them at scale. Now, with **libzt** you can bake this ability directly into your app or service using your preferred language or framework. We provide a BSD socket-like API supporting `SOCK_STREAM`, `SOCK_DGRAM`, and `SOCK_RAW` to make the integration simple. There's also no longer any need for system-wide virtual interfaces. This connection is exclusive to your app and fully encrypted via the [Salsa20](https://en.wikipedia.org/wiki/Salsa20) cipher.
<hr>
@@ -39,6 +39,8 @@ zts_close(fd);
Bindings for various [languages](examples)
For an example using only the Virtual Layer 2, see [test/layer2.cpp](test/layer2.cpp)
***
### Building (linux, macos, bsd, win, ios)

View File

@@ -29,6 +29,18 @@
#include <sys/socket.h>
#include <poll.h>
#include <net/if.h>
/****************************************************************************/
/* For SOCK_RAW support, it will initially be modeled after linux's API, so */
/* below are the various things we need to define in order to make this API */
/* work on other platforms. Mayber later down the road we will customize */
/* this for each different platform. Maybe. */
/****************************************************************************/
#if !defined(__linux__)
#define SIOCGIFINDEX 101
#define SIOCGIFHWADDR 102
#endif
/****************************************************************************/
/* LWIP */
@@ -140,6 +152,7 @@
#define ZT_GETSOCKNAME_SIG int fd, struct sockaddr *addr, socklen_t *addrlen
#define ZT_GETPEERNAME_SIG int fd, struct sockaddr *addr, socklen_t *addrlen
#define ZT_FCNTL_SIG int fd, int cmd, int flags
#define ZT_IOCTL_SIG int fd, unsigned long request, void *argp
#define ZT_SYSCALL_SIG long number, ...
/****************************************************************************/
@@ -367,6 +380,11 @@ int zts_select(ZT_SELECT_SIG);
*/
int zts_fcntl(ZT_FCNTL_SIG);
/**
* Control a device
*/
int zts_ioctl(ZT_IOCTL_SIG);
/**
* Send data to a remote host
*/