Browse Source

Updated README.md

pull/1/head
Joseph Henry 9 years ago
parent
commit
b653e9e641
  1. 4
      README.md
  2. 18
      include/libzt.h

4
README.md

@ -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)

18
include/libzt.h

@ -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
*/

Loading…
Cancel
Save