diff --git a/integrations/unity3d/Assets/CameraControl.js b/integrations/unity3d/Assets/CameraControl.js deleted file mode 100644 index 5585fbf..0000000 --- a/integrations/unity3d/Assets/CameraControl.js +++ /dev/null @@ -1,194 +0,0 @@ - -var zoomSpeed : float = 3.0f; -var moveSpeed : float = 3.0f; -var rotateSpeed : float = 6.0f; - -var optionalMaterialForSelection : Material; - -// Some internal placeholders -private var orbitVector : GameObject; -private var materialForSelection : Material; -private var selectedObjects = new ArrayList(); -private var selectedObjectsMaterial = new ArrayList(); - -function Start() { - // Create a capsule (which will be the lookAt target and global orbit vector) - orbitVector = GameObject.CreatePrimitive(PrimitiveType.Capsule); - orbitVector.transform.position = Vector3.zero; - // Snap the camera to align with the grid in set starting position (otherwise everything gets a bit wonky) - transform.position = Vector3(4, 4, 4); - // Point the camera towards the capsule - transform.LookAt(orbitVector.transform.position, Vector3.up); - // Hide the capsule (disable the mesh renderer) - orbitVector.GetComponent.().enabled = false; - // Create material to apply for selections (or use material supplied by user) - if (optionalMaterialForSelection) { - materialForSelection = optionalMaterialForSelection; - } else { - materialForSelection = new Material(Shader.Find("Diffuse")); - materialForSelection.color = Color.green; - } -} - -function Update(){ - -orbitVector.transform.position = Vector3.zero; - - if (Input.GetAxis("Mouse ScrollWheel") < 0) { - var currentZoomSpeedin = -10; - transform.Translate(Vector3.forward * ( currentZoomSpeedin)); - } - if (Input.GetAxis("Mouse ScrollWheel") > 0) { - var currentZoomSpeedout = 10; - transform.Translate(Vector3.forward * ( currentZoomSpeedout)); - } -} - -// Call all of our functionality in LateUpdate() to avoid weird behaviour (as seen in Update()) -function LateUpdate() { - // Get mouse vectors - var x = Input.GetAxis("Mouse X"); - var y = Input.GetAxis("Mouse Y"); - - // ALT is pressed, start navigation - //if (Input.GetKey(KeyCode.RightAlt) || Input.GetKey(KeyCode.LeftAlt)) { - - // Distance between camera and orbitVector. We'll need this in a few places - var distanceToOrbit = Vector3.Distance(transform.position, orbitVector.transform.position); - - //RMB - ZOOM - if (Input.GetMouseButton(2)) { - - // Refine the rotateSpeed based on distance to orbitVector - var currentZoomSpeed = Mathf.Clamp(zoomSpeed * (distanceToOrbit / 50), 0.1f, 2.0f); - - // Move the camera in/out - transform.Translate(Vector3.forward * (x * currentZoomSpeed)); - - // If about to collide with the orbitVector, repulse the orbitVector slightly to keep it in front of us - if (Vector3.Distance(transform.position, orbitVector.transform.position) < 3) { - orbitVector.transform.Translate(Vector3.forward, transform); - } - - - //LMB - PIVOT - } else if (Input.GetMouseButton(1)) { - - // Refine the rotateSpeed based on distance to orbitVector - var currentRotateSpeed = Mathf.Clamp(rotateSpeed * (distanceToOrbit / 50), 1.0f, rotateSpeed); - - // Temporarily parent the camera to orbitVector and rotate orbitVector as desired - transform.parent = orbitVector.transform; - orbitVector.transform.Rotate(Vector3.right * (y * currentRotateSpeed)); - orbitVector.transform.Rotate(Vector3.up * (x * currentRotateSpeed), Space.World); - transform.parent = null; - - - //MMB - PAN - } else if (Input.GetMouseButton(0)) { - - // Calculate move speed - var translateX = Vector3.right * (x * moveSpeed) * -1; - var translateY = Vector3.up * (y * moveSpeed) * -1; - - // Move the camera - transform.Translate(translateX); - transform.Translate(translateY); - - // Move the orbitVector with the same values, along the camera's axes. In effect causing it to behave as if temporarily parented. - orbitVector.transform.Translate(translateX, transform); - orbitVector.transform.Translate(translateY, transform); - } - - - /* - // If we're not currently navigating, grab selection if something is clicked - } else if (Input.GetMouseButtonDown(0)) { - var hitInfo : RaycastHit; - var ray : Ray = camera.ScreenPointToRay(Input.mousePosition); - var allowMultiSelect : boolean = false; - - // See if the user is holding in CTRL or SHIFT. If so, enable multiselection - if(Input.GetKey(KeyCode.RightShift) || Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightControl) || Input.GetKey(KeyCode.LeftControl)) { - allowMultiSelect = true; - } - - // Something was clicked. Fetch. - if (Physics.Raycast(ray, hitInfo, camera.farClipPlane)) { - target = hitInfo.transform; - - // If NOT multiselection, remove all prior selections - if (!allowMultiSelect) { - deselectAll(); - } - - //Toggle between selected and unselected (depending on current state) - if (target.renderer.sharedMaterial != materialForSelection) { - selectedObjects.Add(target.gameObject); - selectedObjectsMaterial.Add(target.gameObject.renderer.sharedMaterial); - target.gameObject.renderer.sharedMaterial = materialForSelection; - - } else { - var arrayLocation : int = selectedObjects.IndexOf(target.gameObject); - if (arrayLocation == -1) {return;}; //this shouldn't happen. Ever. But still. - - target.gameObject.renderer.sharedMaterial = selectedObjectsMaterial[arrayLocation]; - selectedObjects.RemoveAt(arrayLocation); - selectedObjectsMaterial.RemoveAt(arrayLocation); - - } - - // Else deselect all selected objects (ie. click on empty background) - } else { - - // Don't deselect if allowMultiSelect is true - if (!allowMultiSelect) {deselectAll();}; - } - - - - // Fetch input of the F-button (focus) -- this is a very dodgy implementation... - } else if (Input.GetKeyDown("f")) { - var backtrack = Vector3(0, 0, -15); - var selectedObject : GameObject; - - // If dealing with only one selected object - if (selectedObjects.Count == 1) { - selectedObject = selectedObjects[0]; - transform.position = selectedObject.transform.position; - orbitVector.transform.position = selectedObject.transform.position; - transform.Translate(backtrack); - - // Else we need to average out the position vectors (this is the proper dodgy part of the implementation) - } else if (selectedObjects.Count > 1) { - selectedObject = selectedObjects[0]; - var average = selectedObject.transform.position; - - for (var i = 1; i < selectedObjects.Count; i++) { - selectedObject = selectedObjects[i]; - average = (average + selectedObject.transform.position) / 2; - } - - transform.position = average; - orbitVector.transform.position = average; - transform.Translate(backtrack); - } - } - */ -} - - - -// Function to handle the de-selection of all objects in scene -function deselectAll() { - - // Run through the list of selected objects and restore their original materials - for (var currentItem = 0; currentItem < selectedObjects.Count; currentItem++) { - var selectedObject : GameObject = selectedObjects[currentItem]; - selectedObject.GetComponent.().sharedMaterial = selectedObjectsMaterial[currentItem]; - } - - // Clear both arrays - selectedObjects.Clear(); - selectedObjectsMaterial.Clear(); -} \ No newline at end of file diff --git a/integrations/unity3d/Assets/Demo.cs b/integrations/unity3d/Assets/Demo.cs deleted file mode 100644 index fcca4cb..0000000 --- a/integrations/unity3d/Assets/Demo.cs +++ /dev/null @@ -1,89 +0,0 @@ -using UnityEngine; -using System.Collections; -using System.Threading; -using System.Runtime.Serialization.Formatters.Binary; -using System.IO; - -public class Demo : MonoBehaviour -{ - public float speed = 300f; - - private ZeroTierNetworkInterface zt; - string nwid = ""; - - private void zt_sample_network_test_thread() - { - print("test_network"); - - byte error; - // Prepare sample data buffer - /* - byte[] buffer = new byte[1024]; - Stream stream = new MemoryStream(buffer); - BinaryFormatter f = new BinaryFormatter(); - f.Serialize ( stream , "Welcome to the machine! (from Unity3D)" ); - int error; - */ - - // Connect to server - int connfd = zt.Connect (0, "172.22.211.245", 8888, out error); - print(connfd); - - // Send sample data to server - //int bytes_written = zt.Send(connfd,buffer,0, out error); - //print(bytes_written); - - char[] buffer = new char[1024]; - buffer = "hello".ToCharArray(); - //print (buffer); - //Stream stream = new MemoryStream(buffer); - //BinaryFormatter formatter = new BinaryFormatter(); - //formatter.Serialize(stream, "HelloServer"); - //int bufferSize = 1024; - - int bytes_written = zt.Send(connfd, "hello".ToCharArray(),4, out error); - print(bytes_written); - } - - public void zt_test_network() - { - Thread networkTestThread = new Thread(() => { zt_sample_network_test_thread();}); - networkTestThread.IsBackground = true; - networkTestThread.Start(); - } - - void Start() - { - // Create new instance of ZeroTier in separate thread - zt = new ZeroTierNetworkInterface ("/Users/Joseph/utest2"); - - /* This new instance will communicate via a named pipe, so any - * API calls (ZeroTier.Connect(), ZeroTier.Send(), etc) will be sent to the service - * via this pipe. - */ - } - - // Terminate the ZeroTier service when the application quits - void OnApplicationQuit() { - zt.Terminate (); - } - - // Update is called once per frame - void Update () { - - // Rotate ZTCube when ZT is running - if (zt.IsRunning ()) { - GameObject go = GameObject.Find ("ZTCube"); - Vector3 rotvec = new Vector3 (10f, 10f, 10f); - go.transform.Rotate (rotvec, speed * Time.deltaTime); - } - - /* - GameObject go = GameObject.Find("ZTCube"); - Text text = go.GetComponents ()[0]; - if (text) { - text.text = IsRunning() ? "ZeroTier Status: Online" : "ZeroTier Status: Offline"; - } - */ - } -} \ No newline at end of file diff --git a/integrations/unity3d/Assets/MainScene.unity b/integrations/unity3d/Assets/MainScene.unity deleted file mode 100644 index e1f3e57..0000000 Binary files a/integrations/unity3d/Assets/MainScene.unity and /dev/null differ diff --git a/integrations/unity3d/Assets/MyZeroTier.cs b/integrations/unity3d/Assets/MyZeroTier.cs deleted file mode 100644 index 0286ab4..0000000 --- a/integrations/unity3d/Assets/MyZeroTier.cs +++ /dev/null @@ -1,8 +0,0 @@ -using UnityEngine; -using System.Collections; - -public class MyZeroTier : MonoBehaviour { - void Start() { - Application.OpenURL("https://my.zerotier.com"); - } -} diff --git a/integrations/unity3d/Assets/WorldMain.cs b/integrations/unity3d/Assets/WorldMain.cs deleted file mode 100644 index 5f28270..0000000 --- a/integrations/unity3d/Assets/WorldMain.cs +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/integrations/unity3d/Assets/ZT.mat b/integrations/unity3d/Assets/ZT.mat deleted file mode 100644 index 584ed8e..0000000 Binary files a/integrations/unity3d/Assets/ZT.mat and /dev/null differ diff --git a/integrations/unity3d/Assets/ZeroTier.cs b/integrations/unity3d/Assets/ZeroTier.cs deleted file mode 100644 index aded4ca..0000000 --- a/integrations/unity3d/Assets/ZeroTier.cs +++ /dev/null @@ -1,282 +0,0 @@ -/* - * ZeroTier One - Network Virtualization Everywhere - * Copyright (C) 2011-2015 ZeroTier, Inc. - * - * 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 . - * - * -- - * - * ZeroTier may be used and distributed under the terms of the GPLv3, which - * are available at: http://www.gnu.org/licenses/gpl-3.0.html - * - * If you would like to embed ZeroTier into a commercial application or - * redistribute it in a modified binary form, please contact ZeroTier Networks - * LLC. Start here: http://www.zerotier.com/ - */ - -using UnityEngine; -using UnityEngine.UI; -using System; -using System.Collections; -using System.Runtime.InteropServices; -using System.Threading; -using UnityEngine.Networking; - -using System.Net.Sockets; -using System.Net; - -using System.IO; - - -public class ZeroTierNetworkInterface { - - // ZeroTier background thread - private Thread ztThread; - - // Interop structures - [System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential, CharSet=System.Runtime.InteropServices.CharSet.Ansi)] - public struct sockaddr { - /// u_short->unsigned short - public ushort sa_family; - /// char[14] - [System.Runtime.InteropServices.MarshalAsAttribute(System.Runtime.InteropServices.UnmanagedType.ByValTStr, SizeConst=14)] - public string sa_data; - } - - // Virtual network interace config - private int MaxPacketSize; - private string rpc_path = "/does/this/work"; - - [UnmanagedFunctionPointer(CallingConvention.Cdecl)] - public delegate void MyDelegate(string str); - - static void CallBackFunction(string str) { - Debug.Log("Native ZT Plugin: " + str); - } - - // ZeroTier service / debug initialization - [DllImport ("ZeroTierUnity")] - public static extern void SetDebugFunction( IntPtr fp ); - [DllImport ("ZeroTierUnity")] - private static extern int unity_start_service(string path); - - // Connection calls - [DllImport ("ZeroTierUnity")] - private static extern int zt_socket(int family, int type, int protocol); - - - [DllImport ("ZeroTierUnity")] - unsafe private static extern int zt_bind(int sockfd, System.IntPtr addr, int addrlen); - [DllImport ("ZeroTierUnity")] - unsafe private static extern int zt_connect(int sockfd, System.IntPtr addr, int addrlen); - - [DllImport ("ZeroTierUnity")] - private static extern int zt_accept(int sockfd); - [DllImport ("ZeroTierUnity")] - private static extern int zt_listen(int sockfd, int backlog); - [DllImport ("ZeroTierUnity")] - private static extern int zt_close(int sockfd); - - // RX / TX - [DllImport ("ZeroTierUnity")] - unsafe private static extern int zt_recv(int sockfd, System.IntPtr buf, int len); - [DllImport ("ZeroTierUnity")] - unsafe private static extern int zt_send(int sockfd, System.IntPtr buf, int len); - - // ZT Thread controls - [DllImport ("ZeroTierUnity")] - private static extern bool zt_is_running(); - [DllImport ("ZeroTierUnity")] - private static extern void zt_terminate(); - - // ZT Network controls - [DllImport ("ZeroTierUnity")] - private static extern bool zt_join_network(string nwid); - [DllImport ("ZeroTierUnity")] - private static extern void zt_leave_network(string nwid); - - // Thread which starts the ZeroTier service - // The ZeroTier service may spin off a SOCKS5 proxy server - // if -DUSE_SOCKS_PROXY is set when building the bundle - private void zt_service_thread() - { - MyDelegate callback_delegate = new MyDelegate( CallBackFunction ); - // Convert callback_delegate into a function pointer that can be - // used in unmanaged code. - IntPtr intptr_delegate = - Marshal.GetFunctionPointerForDelegate(callback_delegate); - // Call the API passing along the function pointer. - SetDebugFunction( intptr_delegate ); - unity_start_service (rpc_path); - } - - // Start the ZeroTier service - private void Init() - { - // TODO: Handle exceptions from unmanaged code - ztThread = new Thread(() => { - try { - zt_service_thread(); - } catch(Exception e) { - Debug.Log(e.Message.ToString()); - } - }); - ztThread.IsBackground = true; // Allow the thread to be aborted safely - ztThread.Start(); - } - - // Initialize the ZeroTier service with a given path - public ZeroTierNetworkInterface(string path) - { - rpc_path = path; - Init(); - } - - // Initialize the ZeroTier service - public ZeroTierNetworkInterface() - { - Init(); - } - - // Initialize the ZeroTier service - // Use the GlobalConfig to set things like the max packet size - public ZeroTierNetworkInterface(GlobalConfig gConfig) - { - MaxPacketSize = gConfig.MaxPacketSize; // TODO: Do something with this! - Init(); - } - - // Joins a ZeroTier virtual network - public void JoinNetwork(string nwid) - { - zt_join_network(nwid); - } - - // Leaves a ZeroTier virtual network - public void LeaveNetwork(string nwid) - { - zt_leave_network(nwid); - } - - // Creates a ZeroTier Socket and binds on the port provided - // A client instance can now connect to this "host" - public int AddHost(int port) - { - int sockfd = zt_socket ((int)AddressFamily.InterNetwork, (int)SocketType.Stream, (int)ProtocolType.Unspecified); - if (sockfd < 0) { - return -1; - } - GCHandle sockaddr_ptr = ZeroTierUtils.Generate_unmananged_sockaddr("0.0.0.0" + ":" + port); - IntPtr pSockAddr = sockaddr_ptr.AddrOfPinnedObject (); - int addrlen = Marshal.SizeOf (pSockAddr); - return zt_bind (sockfd, pSockAddr, addrlen); - } - - // hostId - host socket ID for this connection - public int Connect(int hostId, string address, int port, out byte error) - { - int sockfd = zt_socket ((int)AddressFamily.InterNetwork, (int)SocketType.Stream, (int)ProtocolType.Unspecified); - Debug.Log ("sockfd = " + sockfd); - - if (sockfd < 0) { - error = (byte)sockfd; - return -1; - } - GCHandle sockaddr_ptr = ZeroTierUtils.Generate_unmananged_sockaddr(address + ":" + port); - IntPtr pSockAddr = sockaddr_ptr.AddrOfPinnedObject (); - int addrlen = Marshal.SizeOf (pSockAddr); - error = (byte)zt_connect (sockfd, pSockAddr, addrlen); - return sockfd; - } - - // Returns whether the ZeroTier service is currently running - public bool IsRunning() - { - return zt_is_running (); - } - - // Terminates the ZeroTier service - public void Terminate() - { - zt_terminate (); - } - - // Shutdown a given connection - public int Disconnect(int fd) - { - return zt_close (fd); - } - - // Sends data out over the network - - public int Send(int fd, char[] buf, int len, out byte error) - { - int bytes_written = 0; - error = 0; - - GCHandle buf_handle = GCHandle.Alloc (buf, GCHandleType.Pinned); - IntPtr pBufPtr = buf_handle.AddrOfPinnedObject (); - - //int len = Marshal.SizeOf (pBufPtr); - if((bytes_written = zt_send (fd, pBufPtr, len)) < 0) { - error = (byte)bytes_written; - } - return bytes_written; - } - - - // Structure used to house arrays meant to be sent to unmanaged memory and passed to the - // ZeroTier service - public struct UnityArrayInput - { - public IntPtr array; - } - - /* - // Sends data out over the network - public int Send(int fd, char[] buf, int len, out byte error) - { - //char[] buffer = new char[1024]; - UnityArrayInput data = new UnityArrayInput (); - data.array = Marshal.AllocHGlobal (Marshal.SizeOf (typeof(char))*buf.Length); - //data.len = buf.Length; - int bytes_written = 0; - error = 0; - - try - { - Marshal.Copy(buf, 0, data.array, buf.Length); - - Debug.Log(buf.Length); - // ZT API call - if((bytes_written = zt_send (fd, data.array, buf.Length)) < 0) { - error = (byte)bytes_written; - } - return bytes_written; - } - finally - { - Marshal.FreeHGlobal (data.array); - } - return 0; - } - */ - - // Checks for data to RX - public int OnReceive(int fd, byte[] buf, int len) - { - return 0; - //return zt_read(fd, buf, len); - } -} diff --git a/integrations/unity3d/Assets/ZeroTierUtils.cs b/integrations/unity3d/Assets/ZeroTierUtils.cs deleted file mode 100644 index a1da79d..0000000 --- a/integrations/unity3d/Assets/ZeroTierUtils.cs +++ /dev/null @@ -1,55 +0,0 @@ -using UnityEngine; -using System.Collections; -using System.Net; -using System; -using System.Globalization; -using System.Runtime.InteropServices; - -public class ZeroTierUtils { - - // Handles IPv4 and IPv6 notation. - public static IPEndPoint CreateIPEndPoint(string endPoint) - { - string[] ep = endPoint.Split(':'); - if (ep.Length < 2) throw new FormatException("Invalid endpoint format"); - IPAddress ip; - if (ep.Length > 2) { - if (!IPAddress.TryParse(string.Join(":", ep, 0, ep.Length - 1), out ip)) { - throw new FormatException("Invalid ip-adress"); - } - } - else { - if (!IPAddress.TryParse(ep[0], out ip)) { - throw new FormatException("Invalid ip-adress"); - } - } - int port; - if (!int.TryParse(ep[ep.Length - 1], NumberStyles.None, NumberFormatInfo.CurrentInfo, out port)) { - throw new FormatException("Invalid port"); - } - return new IPEndPoint(ip, port); - } - - // Generates an unmanaged sockaddr structure from a string-formatted endpoint - public static GCHandle Generate_unmananged_sockaddr(string endpoint_str) - { - IPEndPoint ipEndPoint; - ipEndPoint = ZeroTierUtils.CreateIPEndPoint (endpoint_str); - SocketAddress socketAddress = ipEndPoint.Serialize (); - - // use an array of bytes instead of the sockaddr structure - byte[] sockAddrStructureBytes = new byte[socketAddress.Size]; - GCHandle sockAddrHandle = GCHandle.Alloc (sockAddrStructureBytes, GCHandleType.Pinned); - for (int i = 0; i < socketAddress.Size; ++i) { - sockAddrStructureBytes [i] = socketAddress [i]; - } - return sockAddrHandle; - } - - public static GCHandle Generate_unmanaged_buffer(byte[] buf) - { - // use an array of bytes instead of the sockaddr structure - GCHandle sockAddrHandle = GCHandle.Alloc (buf, GCHandleType.Pinned); - return sockAddrHandle; - } -} diff --git a/integrations/unity3d/Assets/smcs.rsp b/integrations/unity3d/Assets/smcs.rsp deleted file mode 100644 index 46ef843..0000000 --- a/integrations/unity3d/Assets/smcs.rsp +++ /dev/null @@ -1 +0,0 @@ --unsafe \ No newline at end of file diff --git a/integrations/unity3d/Assets/zerotier-icon.png b/integrations/unity3d/Assets/zerotier-icon.png deleted file mode 100644 index 4d9641b..0000000 Binary files a/integrations/unity3d/Assets/zerotier-icon.png and /dev/null differ diff --git a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/project.pbxproj b/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/project.pbxproj deleted file mode 100644 index 21af14c..0000000 --- a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/project.pbxproj +++ /dev/null @@ -1,817 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 7C13E9791D11BFCD004F16BE /* C25519.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9401D11BFCD004F16BE /* C25519.cpp */; }; - 7C13E97A1D11BFCD004F16BE /* CertificateOfMembership.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9421D11BFCD004F16BE /* CertificateOfMembership.cpp */; }; - 7C13E97B1D11BFCD004F16BE /* Cluster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9441D11BFCD004F16BE /* Cluster.cpp */; }; - 7C13E97C1D11BFCD004F16BE /* DeferredPackets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9471D11BFCD004F16BE /* DeferredPackets.cpp */; }; - 7C13E97D1D11BFCD004F16BE /* Dictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9491D11BFCD004F16BE /* Dictionary.cpp */; }; - 7C13E97E1D11BFCD004F16BE /* Identity.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E94C1D11BFCD004F16BE /* Identity.cpp */; }; - 7C13E97F1D11BFCD004F16BE /* IncomingPacket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E94E1D11BFCD004F16BE /* IncomingPacket.cpp */; }; - 7C13E9801D11BFCD004F16BE /* InetAddress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9501D11BFCD004F16BE /* InetAddress.cpp */; }; - 7C13E9811D11BFCD004F16BE /* Multicaster.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9531D11BFCD004F16BE /* Multicaster.cpp */; }; - 7C13E9821D11BFCD004F16BE /* Network.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9571D11BFCD004F16BE /* Network.cpp */; }; - 7C13E9831D11BFCD004F16BE /* NetworkConfig.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9591D11BFCD004F16BE /* NetworkConfig.cpp */; }; - 7C13E9841D11BFCD004F16BE /* Node.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E95D1D11BFCD004F16BE /* Node.cpp */; }; - 7C13E9851D11BFCD004F16BE /* OutboundMulticast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9601D11BFCD004F16BE /* OutboundMulticast.cpp */; }; - 7C13E9861D11BFCD004F16BE /* Packet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9621D11BFCD004F16BE /* Packet.cpp */; }; - 7C13E9871D11BFCD004F16BE /* Path.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9641D11BFCD004F16BE /* Path.cpp */; }; - 7C13E9881D11BFCD004F16BE /* Peer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9661D11BFCD004F16BE /* Peer.cpp */; }; - 7C13E9891D11BFCD004F16BE /* Poly1305.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9681D11BFCD004F16BE /* Poly1305.cpp */; }; - 7C13E98A1D11BFCD004F16BE /* Salsa20.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E96B1D11BFCD004F16BE /* Salsa20.cpp */; }; - 7C13E98B1D11BFCD004F16BE /* SelfAwareness.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E96D1D11BFCD004F16BE /* SelfAwareness.cpp */; }; - 7C13E98C1D11BFCD004F16BE /* SHA512.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E96F1D11BFCD004F16BE /* SHA512.cpp */; }; - 7C13E98D1D11BFCD004F16BE /* Switch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9721D11BFCD004F16BE /* Switch.cpp */; }; - 7C13E98E1D11BFCD004F16BE /* Topology.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9741D11BFCD004F16BE /* Topology.cpp */; }; - 7C13E98F1D11BFCD004F16BE /* Utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9761D11BFCD004F16BE /* Utils.cpp */; }; - 7C13E9981D11C013004F16BE /* ControlPlane.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9931D11C013004F16BE /* ControlPlane.cpp */; }; - 7C13E9991D11C013004F16BE /* OneService.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9951D11C013004F16BE /* OneService.cpp */; }; - 7C13E9B11D11C028004F16BE /* Arp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E99A1D11C028004F16BE /* Arp.cpp */; }; - 7C13E9B21D11C028004F16BE /* BackgroundResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E99C1D11C028004F16BE /* BackgroundResolver.cpp */; }; - 7C13E9B31D11C028004F16BE /* BSDEthernetTap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E99F1D11C028004F16BE /* BSDEthernetTap.cpp */; }; - 7C13E9B41D11C028004F16BE /* Http.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9A11D11C028004F16BE /* Http.cpp */; }; - 7C13E9B61D11C028004F16BE /* OSUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9A51D11C028004F16BE /* OSUtils.cpp */; }; - 7C13E9B81D11C028004F16BE /* PortMapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9AA1D11C028004F16BE /* PortMapper.cpp */; }; - 7C13E9B91D11C028004F16BE /* RoutingTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9AC1D11C028004F16BE /* RoutingTable.cpp */; }; - 7C13E9C91D11C03D004F16BE /* SDK_Debug.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9BB1D11C03C004F16BE /* SDK_Debug.c */; }; - 7C13E9CA1D11C03D004F16BE /* SDK_EthernetTap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9BD1D11C03C004F16BE /* SDK_EthernetTap.cpp */; }; - 7C13E9CC1D11C03D004F16BE /* SDK_Proxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9C11D11C03C004F16BE /* SDK_Proxy.cpp */; }; - 7C13E9CD1D11C03D004F16BE /* SDK_RPC.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9C21D11C03C004F16BE /* SDK_RPC.c */; }; - 7C13E9CE1D11C03D004F16BE /* SDK_ServiceSetup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9C41D11C03C004F16BE /* SDK_ServiceSetup.cpp */; }; - 7C13E9CF1D11C03D004F16BE /* SDK_Sockets.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9C71D11C03D004F16BE /* SDK_Sockets.c */; }; - 7C13E9D81D11C0D7004F16BE /* api_lib.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9D01D11C0D7004F16BE /* api_lib.c */; }; - 7C13E9D91D11C0D7004F16BE /* api_msg.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9D11D11C0D7004F16BE /* api_msg.c */; }; - 7C13E9DA1D11C0D7004F16BE /* err.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9D21D11C0D7004F16BE /* err.c */; }; - 7C13E9DB1D11C0D7004F16BE /* netbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9D31D11C0D7004F16BE /* netbuf.c */; }; - 7C13E9DC1D11C0D7004F16BE /* netdb.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9D41D11C0D7004F16BE /* netdb.c */; }; - 7C13E9DD1D11C0D7004F16BE /* netifapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9D51D11C0D7004F16BE /* netifapi.c */; }; - 7C13E9DE1D11C0D7004F16BE /* sockets.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9D61D11C0D7004F16BE /* sockets.c */; }; - 7C13E9DF1D11C0D7004F16BE /* tcpip.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9D71D11C0D7004F16BE /* tcpip.c */; }; - 7C13E9F01D11C0EE004F16BE /* def.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9E01D11C0EE004F16BE /* def.c */; }; - 7C13E9F11D11C0EE004F16BE /* dhcp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9E11D11C0EE004F16BE /* dhcp.c */; }; - 7C13E9F21D11C0EE004F16BE /* dns.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9E21D11C0EE004F16BE /* dns.c */; }; - 7C13E9F31D11C0EE004F16BE /* init.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9E31D11C0EE004F16BE /* init.c */; }; - 7C13E9F41D11C0EE004F16BE /* mem.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9E41D11C0EE004F16BE /* mem.c */; }; - 7C13E9F51D11C0EE004F16BE /* memp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9E51D11C0EE004F16BE /* memp.c */; }; - 7C13E9F61D11C0EE004F16BE /* netif.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9E61D11C0EE004F16BE /* netif.c */; }; - 7C13E9F71D11C0EE004F16BE /* pbuf.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9E71D11C0EE004F16BE /* pbuf.c */; }; - 7C13E9F81D11C0EE004F16BE /* raw.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9E81D11C0EE004F16BE /* raw.c */; }; - 7C13E9F91D11C0EE004F16BE /* stats.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9E91D11C0EE004F16BE /* stats.c */; }; - 7C13E9FA1D11C0EE004F16BE /* sys.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9EA1D11C0EE004F16BE /* sys.c */; }; - 7C13E9FB1D11C0EE004F16BE /* tcp_in.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9EB1D11C0EE004F16BE /* tcp_in.c */; }; - 7C13E9FC1D11C0EE004F16BE /* tcp_out.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9EC1D11C0EE004F16BE /* tcp_out.c */; }; - 7C13E9FD1D11C0EE004F16BE /* tcp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9ED1D11C0EE004F16BE /* tcp.c */; }; - 7C13E9FE1D11C0EE004F16BE /* timers.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9EE1D11C0EE004F16BE /* timers.c */; }; - 7C13E9FF1D11C0EE004F16BE /* udp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13E9EF1D11C0EE004F16BE /* udp.c */; }; - 7C13EA081D11C0FC004F16BE /* autoip.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA001D11C0FC004F16BE /* autoip.c */; }; - 7C13EA091D11C0FC004F16BE /* icmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA011D11C0FC004F16BE /* icmp.c */; }; - 7C13EA0A1D11C0FC004F16BE /* igmp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA021D11C0FC004F16BE /* igmp.c */; }; - 7C13EA0B1D11C0FC004F16BE /* inet_chksum.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA031D11C0FC004F16BE /* inet_chksum.c */; }; - 7C13EA0C1D11C0FC004F16BE /* inet.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA041D11C0FC004F16BE /* inet.c */; }; - 7C13EA0D1D11C0FC004F16BE /* ip_addr.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA051D11C0FC004F16BE /* ip_addr.c */; }; - 7C13EA0E1D11C0FC004F16BE /* ip_frag.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA061D11C0FC004F16BE /* ip_frag.c */; }; - 7C13EA0F1D11C0FC004F16BE /* ip.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA071D11C0FC004F16BE /* ip.c */; }; - 7C13EA131D11C10D004F16BE /* etharp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA101D11C10D004F16BE /* etharp.c */; }; - 7C13EA141D11C10D004F16BE /* ethernetif.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA111D11C10D004F16BE /* ethernetif.c */; }; - 7C13EA151D11C10D004F16BE /* slipif.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA121D11C10D004F16BE /* slipif.c */; }; - 7C13EA431D11C342004F16BE /* http_parser.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA411D11C342004F16BE /* http_parser.c */; }; - 7C13EA461D11C355004F16BE /* lz4.c in Sources */ = {isa = PBXBuildFile; fileRef = 7C13EA441D11C355004F16BE /* lz4.c */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 7C13E93B1D11BFCD004F16BE /* Address.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Address.hpp; path = ../../../../zerotierone/node/Address.hpp; sourceTree = ""; }; - 7C13E93C1D11BFCD004F16BE /* Array.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Array.hpp; path = ../../../../zerotierone/node/Array.hpp; sourceTree = ""; }; - 7C13E93D1D11BFCD004F16BE /* AtomicCounter.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = AtomicCounter.hpp; path = ../../../../zerotierone/node/AtomicCounter.hpp; sourceTree = ""; }; - 7C13E93E1D11BFCD004F16BE /* BinarySemaphore.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = BinarySemaphore.hpp; path = ../../../../zerotierone/node/BinarySemaphore.hpp; sourceTree = ""; }; - 7C13E93F1D11BFCD004F16BE /* Buffer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Buffer.hpp; path = ../../../../zerotierone/node/Buffer.hpp; sourceTree = ""; }; - 7C13E9401D11BFCD004F16BE /* C25519.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = C25519.cpp; path = ../../../../zerotierone/node/C25519.cpp; sourceTree = ""; }; - 7C13E9411D11BFCD004F16BE /* C25519.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = C25519.hpp; path = ../../../../zerotierone/node/C25519.hpp; sourceTree = ""; }; - 7C13E9421D11BFCD004F16BE /* CertificateOfMembership.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CertificateOfMembership.cpp; path = ../../../../zerotierone/node/CertificateOfMembership.cpp; sourceTree = ""; }; - 7C13E9431D11BFCD004F16BE /* CertificateOfMembership.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = CertificateOfMembership.hpp; path = ../../../../zerotierone/node/CertificateOfMembership.hpp; sourceTree = ""; }; - 7C13E9441D11BFCD004F16BE /* Cluster.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Cluster.cpp; path = ../../../../zerotierone/node/Cluster.cpp; sourceTree = ""; }; - 7C13E9451D11BFCD004F16BE /* Cluster.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Cluster.hpp; path = ../../../../zerotierone/node/Cluster.hpp; sourceTree = ""; }; - 7C13E9461D11BFCD004F16BE /* Constants.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Constants.hpp; path = ../../../../zerotierone/node/Constants.hpp; sourceTree = ""; }; - 7C13E9471D11BFCD004F16BE /* DeferredPackets.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DeferredPackets.cpp; path = ../../../../zerotierone/node/DeferredPackets.cpp; sourceTree = ""; }; - 7C13E9481D11BFCD004F16BE /* DeferredPackets.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = DeferredPackets.hpp; path = ../../../../zerotierone/node/DeferredPackets.hpp; sourceTree = ""; }; - 7C13E9491D11BFCD004F16BE /* Dictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Dictionary.cpp; path = ../../../../zerotierone/node/Dictionary.cpp; sourceTree = ""; }; - 7C13E94A1D11BFCD004F16BE /* Dictionary.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Dictionary.hpp; path = ../../../../zerotierone/node/Dictionary.hpp; sourceTree = ""; }; - 7C13E94B1D11BFCD004F16BE /* Hashtable.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Hashtable.hpp; path = ../../../../zerotierone/node/Hashtable.hpp; sourceTree = ""; }; - 7C13E94C1D11BFCD004F16BE /* Identity.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Identity.cpp; path = ../../../../zerotierone/node/Identity.cpp; sourceTree = ""; }; - 7C13E94D1D11BFCD004F16BE /* Identity.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Identity.hpp; path = ../../../../zerotierone/node/Identity.hpp; sourceTree = ""; }; - 7C13E94E1D11BFCD004F16BE /* IncomingPacket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IncomingPacket.cpp; path = ../../../../zerotierone/node/IncomingPacket.cpp; sourceTree = ""; }; - 7C13E94F1D11BFCD004F16BE /* IncomingPacket.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = IncomingPacket.hpp; path = ../../../../zerotierone/node/IncomingPacket.hpp; sourceTree = ""; }; - 7C13E9501D11BFCD004F16BE /* InetAddress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InetAddress.cpp; path = ../../../../zerotierone/node/InetAddress.cpp; sourceTree = ""; }; - 7C13E9511D11BFCD004F16BE /* InetAddress.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = InetAddress.hpp; path = ../../../../zerotierone/node/InetAddress.hpp; sourceTree = ""; }; - 7C13E9521D11BFCD004F16BE /* MAC.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = MAC.hpp; path = ../../../../zerotierone/node/MAC.hpp; sourceTree = ""; }; - 7C13E9531D11BFCD004F16BE /* Multicaster.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Multicaster.cpp; path = ../../../../zerotierone/node/Multicaster.cpp; sourceTree = ""; }; - 7C13E9541D11BFCD004F16BE /* Multicaster.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Multicaster.hpp; path = ../../../../zerotierone/node/Multicaster.hpp; sourceTree = ""; }; - 7C13E9551D11BFCD004F16BE /* MulticastGroup.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = MulticastGroup.hpp; path = ../../../../zerotierone/node/MulticastGroup.hpp; sourceTree = ""; }; - 7C13E9561D11BFCD004F16BE /* Mutex.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Mutex.hpp; path = ../../../../zerotierone/node/Mutex.hpp; sourceTree = ""; }; - 7C13E9571D11BFCD004F16BE /* Network.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Network.cpp; path = ../../../../zerotierone/node/Network.cpp; sourceTree = ""; }; - 7C13E9581D11BFCD004F16BE /* Network.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Network.hpp; path = ../../../../zerotierone/node/Network.hpp; sourceTree = ""; }; - 7C13E9591D11BFCD004F16BE /* NetworkConfig.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkConfig.cpp; path = ../../../../zerotierone/node/NetworkConfig.cpp; sourceTree = ""; }; - 7C13E95A1D11BFCD004F16BE /* NetworkConfig.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = NetworkConfig.hpp; path = ../../../../zerotierone/node/NetworkConfig.hpp; sourceTree = ""; }; - 7C13E95B1D11BFCD004F16BE /* NetworkConfigRequestMetaData.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = NetworkConfigRequestMetaData.hpp; path = ../../../../zerotierone/node/NetworkConfigRequestMetaData.hpp; sourceTree = ""; }; - 7C13E95C1D11BFCD004F16BE /* NetworkController.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = NetworkController.hpp; path = ../../../../zerotierone/node/NetworkController.hpp; sourceTree = ""; }; - 7C13E95D1D11BFCD004F16BE /* Node.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Node.cpp; path = ../../../../zerotierone/node/Node.cpp; sourceTree = ""; }; - 7C13E95E1D11BFCD004F16BE /* Node.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Node.hpp; path = ../../../../zerotierone/node/Node.hpp; sourceTree = ""; }; - 7C13E95F1D11BFCD004F16BE /* NonCopyable.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = NonCopyable.hpp; path = ../../../../zerotierone/node/NonCopyable.hpp; sourceTree = ""; }; - 7C13E9601D11BFCD004F16BE /* OutboundMulticast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OutboundMulticast.cpp; path = ../../../../zerotierone/node/OutboundMulticast.cpp; sourceTree = ""; }; - 7C13E9611D11BFCD004F16BE /* OutboundMulticast.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = OutboundMulticast.hpp; path = ../../../../zerotierone/node/OutboundMulticast.hpp; sourceTree = ""; }; - 7C13E9621D11BFCD004F16BE /* Packet.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Packet.cpp; path = ../../../../zerotierone/node/Packet.cpp; sourceTree = ""; }; - 7C13E9631D11BFCD004F16BE /* Packet.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Packet.hpp; path = ../../../../zerotierone/node/Packet.hpp; sourceTree = ""; }; - 7C13E9641D11BFCD004F16BE /* Path.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Path.cpp; path = ../../../../zerotierone/node/Path.cpp; sourceTree = ""; }; - 7C13E9651D11BFCD004F16BE /* Path.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Path.hpp; path = ../../../../zerotierone/node/Path.hpp; sourceTree = ""; }; - 7C13E9661D11BFCD004F16BE /* Peer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Peer.cpp; path = ../../../../zerotierone/node/Peer.cpp; sourceTree = ""; }; - 7C13E9671D11BFCD004F16BE /* Peer.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Peer.hpp; path = ../../../../zerotierone/node/Peer.hpp; sourceTree = ""; }; - 7C13E9681D11BFCD004F16BE /* Poly1305.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Poly1305.cpp; path = ../../../../zerotierone/node/Poly1305.cpp; sourceTree = ""; }; - 7C13E9691D11BFCD004F16BE /* Poly1305.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Poly1305.hpp; path = ../../../../zerotierone/node/Poly1305.hpp; sourceTree = ""; }; - 7C13E96A1D11BFCD004F16BE /* RuntimeEnvironment.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = RuntimeEnvironment.hpp; path = ../../../../zerotierone/node/RuntimeEnvironment.hpp; sourceTree = ""; }; - 7C13E96B1D11BFCD004F16BE /* Salsa20.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Salsa20.cpp; path = ../../../../zerotierone/node/Salsa20.cpp; sourceTree = ""; }; - 7C13E96C1D11BFCD004F16BE /* Salsa20.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Salsa20.hpp; path = ../../../../zerotierone/node/Salsa20.hpp; sourceTree = ""; }; - 7C13E96D1D11BFCD004F16BE /* SelfAwareness.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SelfAwareness.cpp; path = ../../../../zerotierone/node/SelfAwareness.cpp; sourceTree = ""; }; - 7C13E96E1D11BFCD004F16BE /* SelfAwareness.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SelfAwareness.hpp; path = ../../../../zerotierone/node/SelfAwareness.hpp; sourceTree = ""; }; - 7C13E96F1D11BFCD004F16BE /* SHA512.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SHA512.cpp; path = ../../../../zerotierone/node/SHA512.cpp; sourceTree = ""; }; - 7C13E9701D11BFCD004F16BE /* SHA512.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SHA512.hpp; path = ../../../../zerotierone/node/SHA512.hpp; sourceTree = ""; }; - 7C13E9711D11BFCD004F16BE /* SharedPtr.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SharedPtr.hpp; path = ../../../../zerotierone/node/SharedPtr.hpp; sourceTree = ""; }; - 7C13E9721D11BFCD004F16BE /* Switch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Switch.cpp; path = ../../../../zerotierone/node/Switch.cpp; sourceTree = ""; }; - 7C13E9731D11BFCD004F16BE /* Switch.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Switch.hpp; path = ../../../../zerotierone/node/Switch.hpp; sourceTree = ""; }; - 7C13E9741D11BFCD004F16BE /* Topology.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Topology.cpp; path = ../../../../zerotierone/node/Topology.cpp; sourceTree = ""; }; - 7C13E9751D11BFCD004F16BE /* Topology.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Topology.hpp; path = ../../../../zerotierone/node/Topology.hpp; sourceTree = ""; }; - 7C13E9761D11BFCD004F16BE /* Utils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Utils.cpp; path = ../../../../zerotierone/node/Utils.cpp; sourceTree = ""; }; - 7C13E9771D11BFCD004F16BE /* Utils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Utils.hpp; path = ../../../../zerotierone/node/Utils.hpp; sourceTree = ""; }; - 7C13E9781D11BFCD004F16BE /* World.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = World.hpp; path = ../../../../zerotierone/node/World.hpp; sourceTree = ""; }; - 7C13E9931D11C013004F16BE /* ControlPlane.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ControlPlane.cpp; path = ../../../../zerotierone/service/ControlPlane.cpp; sourceTree = ""; }; - 7C13E9941D11C013004F16BE /* ControlPlane.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = ControlPlane.hpp; path = ../../../../zerotierone/service/ControlPlane.hpp; sourceTree = ""; }; - 7C13E9951D11C013004F16BE /* OneService.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OneService.cpp; path = ../../../../zerotierone/service/OneService.cpp; sourceTree = ""; }; - 7C13E9961D11C013004F16BE /* OneService.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = OneService.hpp; path = ../../../../zerotierone/service/OneService.hpp; sourceTree = ""; }; - 7C13E99A1D11C028004F16BE /* Arp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Arp.cpp; path = ../../../../zerotierone/osdep/Arp.cpp; sourceTree = ""; }; - 7C13E99B1D11C028004F16BE /* Arp.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Arp.hpp; path = ../../../../zerotierone/osdep/Arp.hpp; sourceTree = ""; }; - 7C13E99C1D11C028004F16BE /* BackgroundResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BackgroundResolver.cpp; path = ../../../../zerotierone/osdep/BackgroundResolver.cpp; sourceTree = ""; }; - 7C13E99D1D11C028004F16BE /* BackgroundResolver.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = BackgroundResolver.hpp; path = ../../../../zerotierone/osdep/BackgroundResolver.hpp; sourceTree = ""; }; - 7C13E99E1D11C028004F16BE /* Binder.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Binder.hpp; path = ../../../../zerotierone/osdep/Binder.hpp; sourceTree = ""; }; - 7C13E99F1D11C028004F16BE /* BSDEthernetTap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BSDEthernetTap.cpp; path = ../../../../zerotierone/osdep/BSDEthernetTap.cpp; sourceTree = ""; }; - 7C13E9A01D11C028004F16BE /* BSDEthernetTap.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = BSDEthernetTap.hpp; path = ../../../../zerotierone/osdep/BSDEthernetTap.hpp; sourceTree = ""; }; - 7C13E9A11D11C028004F16BE /* Http.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Http.cpp; path = ../../../../zerotierone/osdep/Http.cpp; sourceTree = ""; }; - 7C13E9A21D11C028004F16BE /* Http.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Http.hpp; path = ../../../../zerotierone/osdep/Http.hpp; sourceTree = ""; }; - 7C13E9A51D11C028004F16BE /* OSUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = OSUtils.cpp; path = ../../../../zerotierone/osdep/OSUtils.cpp; sourceTree = ""; }; - 7C13E9A61D11C028004F16BE /* OSUtils.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = OSUtils.hpp; path = ../../../../zerotierone/osdep/OSUtils.hpp; sourceTree = ""; }; - 7C13E9A91D11C028004F16BE /* Phy.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Phy.hpp; path = ../../../../zerotierone/osdep/Phy.hpp; sourceTree = ""; }; - 7C13E9AA1D11C028004F16BE /* PortMapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PortMapper.cpp; path = ../../../../zerotierone/osdep/PortMapper.cpp; sourceTree = ""; }; - 7C13E9AB1D11C028004F16BE /* PortMapper.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = PortMapper.hpp; path = ../../../../zerotierone/osdep/PortMapper.hpp; sourceTree = ""; }; - 7C13E9AC1D11C028004F16BE /* RoutingTable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RoutingTable.cpp; path = ../../../../zerotierone/osdep/RoutingTable.cpp; sourceTree = ""; }; - 7C13E9AD1D11C028004F16BE /* RoutingTable.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = RoutingTable.hpp; path = ../../../../zerotierone/osdep/RoutingTable.hpp; sourceTree = ""; }; - 7C13E9AE1D11C028004F16BE /* Thread.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = Thread.hpp; path = ../../../../zerotierone/osdep/Thread.hpp; sourceTree = ""; }; - 7C13E9BB1D11C03C004F16BE /* SDK_Debug.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDK_Debug.c; path = ../../../../src/SDK_Debug.c; sourceTree = ""; }; - 7C13E9BC1D11C03C004F16BE /* SDK_Debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDK_Debug.h; path = ../../../../src/SDK_Debug.h; sourceTree = ""; }; - 7C13E9BD1D11C03C004F16BE /* SDK_EthernetTap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SDK_EthernetTap.cpp; path = ../../../../src/SDK_EthernetTap.cpp; sourceTree = ""; }; - 7C13E9BE1D11C03C004F16BE /* SDK_EthernetTap.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SDK_EthernetTap.hpp; path = ../../../../src/SDK_EthernetTap.hpp; sourceTree = ""; }; - 7C13E9C01D11C03C004F16BE /* SDK_LWIPStack.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SDK_LWIPStack.hpp; path = ../../../../src/SDK_LWIPStack.hpp; sourceTree = ""; }; - 7C13E9C11D11C03C004F16BE /* SDK_Proxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SDK_Proxy.cpp; path = ../../../../src/SDK_Proxy.cpp; sourceTree = ""; }; - 7C13E9C21D11C03C004F16BE /* SDK_RPC.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDK_RPC.c; path = ../../../../src/SDK_RPC.c; sourceTree = ""; }; - 7C13E9C31D11C03C004F16BE /* SDK_RPC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDK_RPC.h; path = ../../../../src/SDK_RPC.h; sourceTree = ""; }; - 7C13E9C41D11C03C004F16BE /* SDK_ServiceSetup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SDK_ServiceSetup.cpp; path = ../../../../src/SDK_ServiceSetup.cpp; sourceTree = ""; }; - 7C13E9C51D11C03C004F16BE /* SDK_ServiceSetup.hpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.h; name = SDK_ServiceSetup.hpp; path = ../../../../src/SDK_ServiceSetup.hpp; sourceTree = ""; }; - 7C13E9C61D11C03D004F16BE /* SDK_Signatures.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDK_Signatures.h; path = ../../../../src/SDK_Signatures.h; sourceTree = ""; }; - 7C13E9C71D11C03D004F16BE /* SDK_Sockets.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = SDK_Sockets.c; path = ../../../../src/SDK_Sockets.c; sourceTree = ""; }; - 7C13E9C81D11C03D004F16BE /* SDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SDK.h; path = ../../../../src/SDK.h; sourceTree = ""; }; - 7C13E9D01D11C0D7004F16BE /* api_lib.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = api_lib.c; path = ../../../../ext/lwip/src/api/api_lib.c; sourceTree = ""; }; - 7C13E9D11D11C0D7004F16BE /* api_msg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = api_msg.c; path = ../../../../ext/lwip/src/api/api_msg.c; sourceTree = ""; }; - 7C13E9D21D11C0D7004F16BE /* err.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = err.c; path = ../../../../ext/lwip/src/api/err.c; sourceTree = ""; }; - 7C13E9D31D11C0D7004F16BE /* netbuf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = netbuf.c; path = ../../../../ext/lwip/src/api/netbuf.c; sourceTree = ""; }; - 7C13E9D41D11C0D7004F16BE /* netdb.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = netdb.c; path = ../../../../ext/lwip/src/api/netdb.c; sourceTree = ""; }; - 7C13E9D51D11C0D7004F16BE /* netifapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = netifapi.c; path = ../../../../ext/lwip/src/api/netifapi.c; sourceTree = ""; }; - 7C13E9D61D11C0D7004F16BE /* sockets.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sockets.c; path = ../../../../ext/lwip/src/api/sockets.c; sourceTree = ""; }; - 7C13E9D71D11C0D7004F16BE /* tcpip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tcpip.c; path = ../../../../ext/lwip/src/api/tcpip.c; sourceTree = ""; }; - 7C13E9E01D11C0EE004F16BE /* def.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = def.c; path = ../../../../ext/lwip/src/core/def.c; sourceTree = ""; }; - 7C13E9E11D11C0EE004F16BE /* dhcp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dhcp.c; path = ../../../../ext/lwip/src/core/dhcp.c; sourceTree = ""; }; - 7C13E9E21D11C0EE004F16BE /* dns.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = dns.c; path = ../../../../ext/lwip/src/core/dns.c; sourceTree = ""; }; - 7C13E9E31D11C0EE004F16BE /* init.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = init.c; path = ../../../../ext/lwip/src/core/init.c; sourceTree = ""; }; - 7C13E9E41D11C0EE004F16BE /* mem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mem.c; path = ../../../../ext/lwip/src/core/mem.c; sourceTree = ""; }; - 7C13E9E51D11C0EE004F16BE /* memp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = memp.c; path = ../../../../ext/lwip/src/core/memp.c; sourceTree = ""; }; - 7C13E9E61D11C0EE004F16BE /* netif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = netif.c; path = ../../../../ext/lwip/src/core/netif.c; sourceTree = ""; }; - 7C13E9E71D11C0EE004F16BE /* pbuf.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pbuf.c; path = ../../../../ext/lwip/src/core/pbuf.c; sourceTree = ""; }; - 7C13E9E81D11C0EE004F16BE /* raw.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = raw.c; path = ../../../../ext/lwip/src/core/raw.c; sourceTree = ""; }; - 7C13E9E91D11C0EE004F16BE /* stats.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = stats.c; path = ../../../../ext/lwip/src/core/stats.c; sourceTree = ""; }; - 7C13E9EA1D11C0EE004F16BE /* sys.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sys.c; path = ../../../../ext/lwip/src/core/sys.c; sourceTree = ""; }; - 7C13E9EB1D11C0EE004F16BE /* tcp_in.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tcp_in.c; path = ../../../../ext/lwip/src/core/tcp_in.c; sourceTree = ""; }; - 7C13E9EC1D11C0EE004F16BE /* tcp_out.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tcp_out.c; path = ../../../../ext/lwip/src/core/tcp_out.c; sourceTree = ""; }; - 7C13E9ED1D11C0EE004F16BE /* tcp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = tcp.c; path = ../../../../ext/lwip/src/core/tcp.c; sourceTree = ""; }; - 7C13E9EE1D11C0EE004F16BE /* timers.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = timers.c; path = ../../../../ext/lwip/src/core/timers.c; sourceTree = ""; }; - 7C13E9EF1D11C0EE004F16BE /* udp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = udp.c; path = ../../../../ext/lwip/src/core/udp.c; sourceTree = ""; }; - 7C13EA001D11C0FC004F16BE /* autoip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = autoip.c; path = ../../../../ext/lwip/src/core/ipv4/autoip.c; sourceTree = ""; }; - 7C13EA011D11C0FC004F16BE /* icmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = icmp.c; path = ../../../../ext/lwip/src/core/ipv4/icmp.c; sourceTree = ""; }; - 7C13EA021D11C0FC004F16BE /* igmp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = igmp.c; path = ../../../../ext/lwip/src/core/ipv4/igmp.c; sourceTree = ""; }; - 7C13EA031D11C0FC004F16BE /* inet_chksum.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = inet_chksum.c; path = ../../../../ext/lwip/src/core/ipv4/inet_chksum.c; sourceTree = ""; }; - 7C13EA041D11C0FC004F16BE /* inet.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = inet.c; path = ../../../../ext/lwip/src/core/ipv4/inet.c; sourceTree = ""; }; - 7C13EA051D11C0FC004F16BE /* ip_addr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ip_addr.c; path = ../../../../ext/lwip/src/core/ipv4/ip_addr.c; sourceTree = ""; }; - 7C13EA061D11C0FC004F16BE /* ip_frag.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ip_frag.c; path = ../../../../ext/lwip/src/core/ipv4/ip_frag.c; sourceTree = ""; }; - 7C13EA071D11C0FC004F16BE /* ip.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ip.c; path = ../../../../ext/lwip/src/core/ipv4/ip.c; sourceTree = ""; }; - 7C13EA101D11C10D004F16BE /* etharp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = etharp.c; path = ../../../../ext/lwip/src/netif/etharp.c; sourceTree = ""; }; - 7C13EA111D11C10D004F16BE /* ethernetif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = ethernetif.c; path = ../../../../ext/lwip/src/netif/ethernetif.c; sourceTree = ""; }; - 7C13EA121D11C10D004F16BE /* slipif.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = slipif.c; path = ../../../../ext/lwip/src/netif/slipif.c; sourceTree = ""; }; - 7C13EA161D11C12F004F16BE /* lwipopts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lwipopts.h; path = ../../../../ext/lwipopts.h; sourceTree = ""; }; - 7C13EA171D11C14B004F16BE /* autoip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = autoip.h; path = ../../../../ext/lwip/src/include/ipv4/lwip/autoip.h; sourceTree = ""; }; - 7C13EA181D11C14B004F16BE /* icmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = icmp.h; path = ../../../../ext/lwip/src/include/ipv4/lwip/icmp.h; sourceTree = ""; }; - 7C13EA191D11C14B004F16BE /* igmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = igmp.h; path = ../../../../ext/lwip/src/include/ipv4/lwip/igmp.h; sourceTree = ""; }; - 7C13EA1A1D11C14B004F16BE /* inet_chksum.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = inet_chksum.h; path = ../../../../ext/lwip/src/include/ipv4/lwip/inet_chksum.h; sourceTree = ""; }; - 7C13EA1B1D11C14B004F16BE /* inet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = inet.h; path = ../../../../ext/lwip/src/include/ipv4/lwip/inet.h; sourceTree = ""; }; - 7C13EA1C1D11C14B004F16BE /* ip_addr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ip_addr.h; path = ../../../../ext/lwip/src/include/ipv4/lwip/ip_addr.h; sourceTree = ""; }; - 7C13EA1D1D11C14B004F16BE /* ip_frag.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ip_frag.h; path = ../../../../ext/lwip/src/include/ipv4/lwip/ip_frag.h; sourceTree = ""; }; - 7C13EA1E1D11C14B004F16BE /* ip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ip.h; path = ../../../../ext/lwip/src/include/ipv4/lwip/ip.h; sourceTree = ""; }; - 7C13EA1F1D11C15D004F16BE /* api_msg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = api_msg.h; path = ../../../../ext/lwip/src/include/lwip/api_msg.h; sourceTree = ""; }; - 7C13EA201D11C15D004F16BE /* api.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = api.h; path = ../../../../ext/lwip/src/include/lwip/api.h; sourceTree = ""; }; - 7C13EA211D11C15D004F16BE /* arch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = arch.h; path = ../../../../ext/lwip/src/include/lwip/arch.h; sourceTree = ""; }; - 7C13EA221D11C15D004F16BE /* debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = debug.h; path = ../../../../ext/lwip/src/include/lwip/debug.h; sourceTree = ""; }; - 7C13EA231D11C15D004F16BE /* def.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = def.h; path = ../../../../ext/lwip/src/include/lwip/def.h; sourceTree = ""; }; - 7C13EA241D11C15D004F16BE /* dhcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dhcp.h; path = ../../../../ext/lwip/src/include/lwip/dhcp.h; sourceTree = ""; }; - 7C13EA251D11C15D004F16BE /* dns.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = dns.h; path = ../../../../ext/lwip/src/include/lwip/dns.h; sourceTree = ""; }; - 7C13EA261D11C15D004F16BE /* err.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = err.h; path = ../../../../ext/lwip/src/include/lwip/err.h; sourceTree = ""; }; - 7C13EA271D11C15D004F16BE /* init.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = init.h; path = ../../../../ext/lwip/src/include/lwip/init.h; sourceTree = ""; }; - 7C13EA281D11C15D004F16BE /* ip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ip.h; path = ../../../../ext/lwip/src/include/lwip/ip.h; sourceTree = ""; }; - 7C13EA291D11C15D004F16BE /* mem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = mem.h; path = ../../../../ext/lwip/src/include/lwip/mem.h; sourceTree = ""; }; - 7C13EA2A1D11C15D004F16BE /* memp_std.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = memp_std.h; path = ../../../../ext/lwip/src/include/lwip/memp_std.h; sourceTree = ""; }; - 7C13EA2B1D11C15D004F16BE /* memp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = memp.h; path = ../../../../ext/lwip/src/include/lwip/memp.h; sourceTree = ""; }; - 7C13EA2C1D11C15D004F16BE /* netbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = netbuf.h; path = ../../../../ext/lwip/src/include/lwip/netbuf.h; sourceTree = ""; }; - 7C13EA2D1D11C15D004F16BE /* netdb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = netdb.h; path = ../../../../ext/lwip/src/include/lwip/netdb.h; sourceTree = ""; }; - 7C13EA2E1D11C15D004F16BE /* netif.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = netif.h; path = ../../../../ext/lwip/src/include/lwip/netif.h; sourceTree = ""; }; - 7C13EA2F1D11C15D004F16BE /* netifapi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = netifapi.h; path = ../../../../ext/lwip/src/include/lwip/netifapi.h; sourceTree = ""; }; - 7C13EA301D11C15D004F16BE /* opt.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = opt.h; path = ../../../../ext/lwip/src/include/lwip/opt.h; sourceTree = ""; }; - 7C13EA311D11C15D004F16BE /* pbuf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pbuf.h; path = ../../../../ext/lwip/src/include/lwip/pbuf.h; sourceTree = ""; }; - 7C13EA321D11C15D004F16BE /* raw.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = raw.h; path = ../../../../ext/lwip/src/include/lwip/raw.h; sourceTree = ""; }; - 7C13EA331D11C15D004F16BE /* sio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sio.h; path = ../../../../ext/lwip/src/include/lwip/sio.h; sourceTree = ""; }; - 7C13EA341D11C15D004F16BE /* snmp_asn1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = snmp_asn1.h; path = ../../../../ext/lwip/src/include/lwip/snmp_asn1.h; sourceTree = ""; }; - 7C13EA351D11C15D004F16BE /* snmp_msg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = snmp_msg.h; path = ../../../../ext/lwip/src/include/lwip/snmp_msg.h; sourceTree = ""; }; - 7C13EA361D11C15D004F16BE /* snmp_structs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = snmp_structs.h; path = ../../../../ext/lwip/src/include/lwip/snmp_structs.h; sourceTree = ""; }; - 7C13EA371D11C15D004F16BE /* snmp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = snmp.h; path = ../../../../ext/lwip/src/include/lwip/snmp.h; sourceTree = ""; }; - 7C13EA381D11C15D004F16BE /* sockets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sockets.h; path = ../../../../ext/lwip/src/include/lwip/sockets.h; sourceTree = ""; }; - 7C13EA391D11C15D004F16BE /* stats.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = stats.h; path = ../../../../ext/lwip/src/include/lwip/stats.h; sourceTree = ""; }; - 7C13EA3A1D11C15D004F16BE /* sys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sys.h; path = ../../../../ext/lwip/src/include/lwip/sys.h; sourceTree = ""; }; - 7C13EA3B1D11C15D004F16BE /* tcp_impl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tcp_impl.h; path = ../../../../ext/lwip/src/include/lwip/tcp_impl.h; sourceTree = ""; }; - 7C13EA3C1D11C15D004F16BE /* tcp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tcp.h; path = ../../../../ext/lwip/src/include/lwip/tcp.h; sourceTree = ""; }; - 7C13EA3D1D11C15D004F16BE /* tcpip.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tcpip.h; path = ../../../../ext/lwip/src/include/lwip/tcpip.h; sourceTree = ""; }; - 7C13EA3E1D11C15D004F16BE /* timers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = timers.h; path = ../../../../ext/lwip/src/include/lwip/timers.h; sourceTree = ""; }; - 7C13EA3F1D11C15D004F16BE /* udp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = udp.h; path = ../../../../ext/lwip/src/include/lwip/udp.h; sourceTree = ""; }; - 7C13EA411D11C342004F16BE /* http_parser.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = http_parser.c; path = "../../../../zerotierone/ext/http-parser/http_parser.c"; sourceTree = ""; }; - 7C13EA421D11C342004F16BE /* http_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = http_parser.h; path = "../../../../zerotierone/ext/http-parser/http_parser.h"; sourceTree = ""; }; - 7C13EA441D11C355004F16BE /* lz4.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = lz4.c; path = ../../../../zerotierone/ext/lz4/lz4.c; sourceTree = ""; }; - 7C13EA451D11C355004F16BE /* lz4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = lz4.h; path = ../../../../zerotierone/ext/lz4/lz4.h; sourceTree = ""; }; - 7C3F4C791D0618670033F5EB /* ZeroTierUnity.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ZeroTierUnity.bundle; sourceTree = BUILT_PRODUCTS_DIR; }; - 7C3F4C7C1D0618670033F5EB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 7C3F4C761D0618670033F5EB /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 7C13EA401D11C325004F16BE /* ext */ = { - isa = PBXGroup; - children = ( - 7C13EA441D11C355004F16BE /* lz4.c */, - 7C13EA451D11C355004F16BE /* lz4.h */, - 7C13EA411D11C342004F16BE /* http_parser.c */, - 7C13EA421D11C342004F16BE /* http_parser.h */, - ); - name = ext; - sourceTree = ""; - }; - 7C24164B1D073F2A000851B2 /* ZeroTier */ = { - isa = PBXGroup; - children = ( - 7C13E99A1D11C028004F16BE /* Arp.cpp */, - 7C13E99B1D11C028004F16BE /* Arp.hpp */, - 7C13E99C1D11C028004F16BE /* BackgroundResolver.cpp */, - 7C13E99D1D11C028004F16BE /* BackgroundResolver.hpp */, - 7C13E99E1D11C028004F16BE /* Binder.hpp */, - 7C13E99F1D11C028004F16BE /* BSDEthernetTap.cpp */, - 7C13E9A01D11C028004F16BE /* BSDEthernetTap.hpp */, - 7C13E9A11D11C028004F16BE /* Http.cpp */, - 7C13E9A21D11C028004F16BE /* Http.hpp */, - 7C13E9A51D11C028004F16BE /* OSUtils.cpp */, - 7C13E9A61D11C028004F16BE /* OSUtils.hpp */, - 7C13E9A91D11C028004F16BE /* Phy.hpp */, - 7C13E9AA1D11C028004F16BE /* PortMapper.cpp */, - 7C13E9AB1D11C028004F16BE /* PortMapper.hpp */, - 7C13E9AC1D11C028004F16BE /* RoutingTable.cpp */, - 7C13E9AD1D11C028004F16BE /* RoutingTable.hpp */, - 7C13E9AE1D11C028004F16BE /* Thread.hpp */, - 7C13E9931D11C013004F16BE /* ControlPlane.cpp */, - 7C13E9941D11C013004F16BE /* ControlPlane.hpp */, - 7C13E9951D11C013004F16BE /* OneService.cpp */, - 7C13E9961D11C013004F16BE /* OneService.hpp */, - 7C13E93B1D11BFCD004F16BE /* Address.hpp */, - 7C13E93C1D11BFCD004F16BE /* Array.hpp */, - 7C13E93D1D11BFCD004F16BE /* AtomicCounter.hpp */, - 7C13E93E1D11BFCD004F16BE /* BinarySemaphore.hpp */, - 7C13E93F1D11BFCD004F16BE /* Buffer.hpp */, - 7C13E9401D11BFCD004F16BE /* C25519.cpp */, - 7C13E9411D11BFCD004F16BE /* C25519.hpp */, - 7C13E9421D11BFCD004F16BE /* CertificateOfMembership.cpp */, - 7C13E9431D11BFCD004F16BE /* CertificateOfMembership.hpp */, - 7C13E9441D11BFCD004F16BE /* Cluster.cpp */, - 7C13E9451D11BFCD004F16BE /* Cluster.hpp */, - 7C13E9461D11BFCD004F16BE /* Constants.hpp */, - 7C13E9471D11BFCD004F16BE /* DeferredPackets.cpp */, - 7C13E9481D11BFCD004F16BE /* DeferredPackets.hpp */, - 7C13E9491D11BFCD004F16BE /* Dictionary.cpp */, - 7C13E94A1D11BFCD004F16BE /* Dictionary.hpp */, - 7C13E94B1D11BFCD004F16BE /* Hashtable.hpp */, - 7C13E94C1D11BFCD004F16BE /* Identity.cpp */, - 7C13E94D1D11BFCD004F16BE /* Identity.hpp */, - 7C13E94E1D11BFCD004F16BE /* IncomingPacket.cpp */, - 7C13E94F1D11BFCD004F16BE /* IncomingPacket.hpp */, - 7C13E9501D11BFCD004F16BE /* InetAddress.cpp */, - 7C13E9511D11BFCD004F16BE /* InetAddress.hpp */, - 7C13E9521D11BFCD004F16BE /* MAC.hpp */, - 7C13E9531D11BFCD004F16BE /* Multicaster.cpp */, - 7C13E9541D11BFCD004F16BE /* Multicaster.hpp */, - 7C13E9551D11BFCD004F16BE /* MulticastGroup.hpp */, - 7C13E9561D11BFCD004F16BE /* Mutex.hpp */, - 7C13E9571D11BFCD004F16BE /* Network.cpp */, - 7C13E9581D11BFCD004F16BE /* Network.hpp */, - 7C13E9591D11BFCD004F16BE /* NetworkConfig.cpp */, - 7C13E95A1D11BFCD004F16BE /* NetworkConfig.hpp */, - 7C13E95B1D11BFCD004F16BE /* NetworkConfigRequestMetaData.hpp */, - 7C13E95C1D11BFCD004F16BE /* NetworkController.hpp */, - 7C13E95D1D11BFCD004F16BE /* Node.cpp */, - 7C13E95E1D11BFCD004F16BE /* Node.hpp */, - 7C13E95F1D11BFCD004F16BE /* NonCopyable.hpp */, - 7C13E9601D11BFCD004F16BE /* OutboundMulticast.cpp */, - 7C13E9611D11BFCD004F16BE /* OutboundMulticast.hpp */, - 7C13E9621D11BFCD004F16BE /* Packet.cpp */, - 7C13E9631D11BFCD004F16BE /* Packet.hpp */, - 7C13E9641D11BFCD004F16BE /* Path.cpp */, - 7C13E9651D11BFCD004F16BE /* Path.hpp */, - 7C13E9661D11BFCD004F16BE /* Peer.cpp */, - 7C13E9671D11BFCD004F16BE /* Peer.hpp */, - 7C13E9681D11BFCD004F16BE /* Poly1305.cpp */, - 7C13E9691D11BFCD004F16BE /* Poly1305.hpp */, - 7C13E96A1D11BFCD004F16BE /* RuntimeEnvironment.hpp */, - 7C13E96B1D11BFCD004F16BE /* Salsa20.cpp */, - 7C13E96C1D11BFCD004F16BE /* Salsa20.hpp */, - 7C13E96D1D11BFCD004F16BE /* SelfAwareness.cpp */, - 7C13E96E1D11BFCD004F16BE /* SelfAwareness.hpp */, - 7C13E96F1D11BFCD004F16BE /* SHA512.cpp */, - 7C13E9701D11BFCD004F16BE /* SHA512.hpp */, - 7C13E9711D11BFCD004F16BE /* SharedPtr.hpp */, - 7C13E9721D11BFCD004F16BE /* Switch.cpp */, - 7C13E9731D11BFCD004F16BE /* Switch.hpp */, - 7C13E9741D11BFCD004F16BE /* Topology.cpp */, - 7C13E9751D11BFCD004F16BE /* Topology.hpp */, - 7C13E9761D11BFCD004F16BE /* Utils.cpp */, - 7C13E9771D11BFCD004F16BE /* Utils.hpp */, - 7C13E9781D11BFCD004F16BE /* World.hpp */, - ); - name = ZeroTier; - sourceTree = ""; - }; - 7C24164C1D073F43000851B2 /* lwIP */ = { - isa = PBXGroup; - children = ( - 7C13EA1F1D11C15D004F16BE /* api_msg.h */, - 7C13EA201D11C15D004F16BE /* api.h */, - 7C13EA211D11C15D004F16BE /* arch.h */, - 7C13EA221D11C15D004F16BE /* debug.h */, - 7C13EA231D11C15D004F16BE /* def.h */, - 7C13EA241D11C15D004F16BE /* dhcp.h */, - 7C13EA251D11C15D004F16BE /* dns.h */, - 7C13EA261D11C15D004F16BE /* err.h */, - 7C13EA271D11C15D004F16BE /* init.h */, - 7C13EA281D11C15D004F16BE /* ip.h */, - 7C13EA291D11C15D004F16BE /* mem.h */, - 7C13EA2A1D11C15D004F16BE /* memp_std.h */, - 7C13EA2B1D11C15D004F16BE /* memp.h */, - 7C13EA2C1D11C15D004F16BE /* netbuf.h */, - 7C13EA2D1D11C15D004F16BE /* netdb.h */, - 7C13EA2E1D11C15D004F16BE /* netif.h */, - 7C13EA2F1D11C15D004F16BE /* netifapi.h */, - 7C13EA301D11C15D004F16BE /* opt.h */, - 7C13EA311D11C15D004F16BE /* pbuf.h */, - 7C13EA321D11C15D004F16BE /* raw.h */, - 7C13EA331D11C15D004F16BE /* sio.h */, - 7C13EA341D11C15D004F16BE /* snmp_asn1.h */, - 7C13EA351D11C15D004F16BE /* snmp_msg.h */, - 7C13EA361D11C15D004F16BE /* snmp_structs.h */, - 7C13EA371D11C15D004F16BE /* snmp.h */, - 7C13EA381D11C15D004F16BE /* sockets.h */, - 7C13EA391D11C15D004F16BE /* stats.h */, - 7C13EA3A1D11C15D004F16BE /* sys.h */, - 7C13EA3B1D11C15D004F16BE /* tcp_impl.h */, - 7C13EA3C1D11C15D004F16BE /* tcp.h */, - 7C13EA3D1D11C15D004F16BE /* tcpip.h */, - 7C13EA3E1D11C15D004F16BE /* timers.h */, - 7C13EA3F1D11C15D004F16BE /* udp.h */, - 7C13EA171D11C14B004F16BE /* autoip.h */, - 7C13EA181D11C14B004F16BE /* icmp.h */, - 7C13EA191D11C14B004F16BE /* igmp.h */, - 7C13EA1A1D11C14B004F16BE /* inet_chksum.h */, - 7C13EA1B1D11C14B004F16BE /* inet.h */, - 7C13EA1C1D11C14B004F16BE /* ip_addr.h */, - 7C13EA1D1D11C14B004F16BE /* ip_frag.h */, - 7C13EA1E1D11C14B004F16BE /* ip.h */, - 7C13EA161D11C12F004F16BE /* lwipopts.h */, - 7C13EA101D11C10D004F16BE /* etharp.c */, - 7C13EA111D11C10D004F16BE /* ethernetif.c */, - 7C13EA121D11C10D004F16BE /* slipif.c */, - 7C13EA001D11C0FC004F16BE /* autoip.c */, - 7C13EA011D11C0FC004F16BE /* icmp.c */, - 7C13EA021D11C0FC004F16BE /* igmp.c */, - 7C13EA031D11C0FC004F16BE /* inet_chksum.c */, - 7C13EA041D11C0FC004F16BE /* inet.c */, - 7C13EA051D11C0FC004F16BE /* ip_addr.c */, - 7C13EA061D11C0FC004F16BE /* ip_frag.c */, - 7C13EA071D11C0FC004F16BE /* ip.c */, - 7C13E9E01D11C0EE004F16BE /* def.c */, - 7C13E9E11D11C0EE004F16BE /* dhcp.c */, - 7C13E9E21D11C0EE004F16BE /* dns.c */, - 7C13E9E31D11C0EE004F16BE /* init.c */, - 7C13E9E41D11C0EE004F16BE /* mem.c */, - 7C13E9E51D11C0EE004F16BE /* memp.c */, - 7C13E9E61D11C0EE004F16BE /* netif.c */, - 7C13E9E71D11C0EE004F16BE /* pbuf.c */, - 7C13E9E81D11C0EE004F16BE /* raw.c */, - 7C13E9E91D11C0EE004F16BE /* stats.c */, - 7C13E9EA1D11C0EE004F16BE /* sys.c */, - 7C13E9EB1D11C0EE004F16BE /* tcp_in.c */, - 7C13E9EC1D11C0EE004F16BE /* tcp_out.c */, - 7C13E9ED1D11C0EE004F16BE /* tcp.c */, - 7C13E9EE1D11C0EE004F16BE /* timers.c */, - 7C13E9EF1D11C0EE004F16BE /* udp.c */, - 7C13E9D01D11C0D7004F16BE /* api_lib.c */, - 7C13E9D11D11C0D7004F16BE /* api_msg.c */, - 7C13E9D21D11C0D7004F16BE /* err.c */, - 7C13E9D31D11C0D7004F16BE /* netbuf.c */, - 7C13E9D41D11C0D7004F16BE /* netdb.c */, - 7C13E9D51D11C0D7004F16BE /* netifapi.c */, - 7C13E9D61D11C0D7004F16BE /* sockets.c */, - 7C13E9D71D11C0D7004F16BE /* tcpip.c */, - ); - name = lwIP; - sourceTree = ""; - }; - 7C24169F1D074282000851B2 /* zt_api */ = { - isa = PBXGroup; - children = ( - 7C13E9BB1D11C03C004F16BE /* SDK_Debug.c */, - 7C13E9BC1D11C03C004F16BE /* SDK_Debug.h */, - 7C13E9BD1D11C03C004F16BE /* SDK_EthernetTap.cpp */, - 7C13E9BE1D11C03C004F16BE /* SDK_EthernetTap.hpp */, - 7C13E9C01D11C03C004F16BE /* SDK_LWIPStack.hpp */, - 7C13E9C11D11C03C004F16BE /* SDK_Proxy.cpp */, - 7C13E9C21D11C03C004F16BE /* SDK_RPC.c */, - 7C13E9C31D11C03C004F16BE /* SDK_RPC.h */, - 7C13E9C41D11C03C004F16BE /* SDK_ServiceSetup.cpp */, - 7C13E9C51D11C03C004F16BE /* SDK_ServiceSetup.hpp */, - 7C13E9C61D11C03D004F16BE /* SDK_Signatures.h */, - 7C13E9C71D11C03D004F16BE /* SDK_Sockets.c */, - 7C13E9C81D11C03D004F16BE /* SDK.h */, - ); - name = zt_api; - sourceTree = ""; - }; - 7C3F4C701D0618670033F5EB = { - isa = PBXGroup; - children = ( - 7C13EA401D11C325004F16BE /* ext */, - 7C24169F1D074282000851B2 /* zt_api */, - 7C24164C1D073F43000851B2 /* lwIP */, - 7C24164B1D073F2A000851B2 /* ZeroTier */, - 7C3F4C7B1D0618670033F5EB /* ZeroTierUnity */, - 7C3F4C7A1D0618670033F5EB /* Products */, - ); - sourceTree = ""; - }; - 7C3F4C7A1D0618670033F5EB /* Products */ = { - isa = PBXGroup; - children = ( - 7C3F4C791D0618670033F5EB /* ZeroTierUnity.bundle */, - ); - name = Products; - sourceTree = ""; - }; - 7C3F4C7B1D0618670033F5EB /* ZeroTierUnity */ = { - isa = PBXGroup; - children = ( - 7C3F4C7C1D0618670033F5EB /* Info.plist */, - ); - path = ZeroTierUnity; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 7C3F4C781D0618670033F5EB /* ZeroTierUnity */ = { - isa = PBXNativeTarget; - buildConfigurationList = 7C3F4C7F1D0618670033F5EB /* Build configuration list for PBXNativeTarget "ZeroTierUnity" */; - buildPhases = ( - 7C3F4C751D0618670033F5EB /* Sources */, - 7C3F4C761D0618670033F5EB /* Frameworks */, - 7C3F4C771D0618670033F5EB /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = ZeroTierUnity; - productName = ZeroTierUnity; - productReference = 7C3F4C791D0618670033F5EB /* ZeroTierUnity.bundle */; - productType = "com.apple.product-type.bundle"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 7C3F4C711D0618670033F5EB /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0730; - ORGANIZATIONNAME = "ZeroTier Inc."; - TargetAttributes = { - 7C3F4C781D0618670033F5EB = { - CreatedOnToolsVersion = 7.3; - }; - }; - }; - buildConfigurationList = 7C3F4C741D0618670033F5EB /* Build configuration list for PBXProject "ZeroTierUnity" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 7C3F4C701D0618670033F5EB; - productRefGroup = 7C3F4C7A1D0618670033F5EB /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 7C3F4C781D0618670033F5EB /* ZeroTierUnity */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 7C3F4C771D0618670033F5EB /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 7C3F4C751D0618670033F5EB /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7C13EA0A1D11C0FC004F16BE /* igmp.c in Sources */, - 7C13EA431D11C342004F16BE /* http_parser.c in Sources */, - 7C13E9821D11BFCD004F16BE /* Network.cpp in Sources */, - 7C13E97D1D11BFCD004F16BE /* Dictionary.cpp in Sources */, - 7C13E9B61D11C028004F16BE /* OSUtils.cpp in Sources */, - 7C13E9F61D11C0EE004F16BE /* netif.c in Sources */, - 7C13E97F1D11BFCD004F16BE /* IncomingPacket.cpp in Sources */, - 7C13E9FB1D11C0EE004F16BE /* tcp_in.c in Sources */, - 7C13E9C91D11C03D004F16BE /* SDK_Debug.c in Sources */, - 7C13E97C1D11BFCD004F16BE /* DeferredPackets.cpp in Sources */, - 7C13E9851D11BFCD004F16BE /* OutboundMulticast.cpp in Sources */, - 7C13E9B31D11C028004F16BE /* BSDEthernetTap.cpp in Sources */, - 7C13E9D81D11C0D7004F16BE /* api_lib.c in Sources */, - 7C13E97B1D11BFCD004F16BE /* Cluster.cpp in Sources */, - 7C13E9991D11C013004F16BE /* OneService.cpp in Sources */, - 7C13E9F11D11C0EE004F16BE /* dhcp.c in Sources */, - 7C13E9CC1D11C03D004F16BE /* SDK_Proxy.cpp in Sources */, - 7C13E98A1D11BFCD004F16BE /* Salsa20.cpp in Sources */, - 7C13E9CD1D11C03D004F16BE /* SDK_RPC.c in Sources */, - 7C13E9DA1D11C0D7004F16BE /* err.c in Sources */, - 7C13E9CE1D11C03D004F16BE /* SDK_ServiceSetup.cpp in Sources */, - 7C13EA0C1D11C0FC004F16BE /* inet.c in Sources */, - 7C13E9F31D11C0EE004F16BE /* init.c in Sources */, - 7C13E9861D11BFCD004F16BE /* Packet.cpp in Sources */, - 7C13EA151D11C10D004F16BE /* slipif.c in Sources */, - 7C13E9FC1D11C0EE004F16BE /* tcp_out.c in Sources */, - 7C13E9FE1D11C0EE004F16BE /* timers.c in Sources */, - 7C13E9791D11BFCD004F16BE /* C25519.cpp in Sources */, - 7C13E9DC1D11C0D7004F16BE /* netdb.c in Sources */, - 7C13E9FA1D11C0EE004F16BE /* sys.c in Sources */, - 7C13E9DE1D11C0D7004F16BE /* sockets.c in Sources */, - 7C13EA461D11C355004F16BE /* lz4.c in Sources */, - 7C13E9FF1D11C0EE004F16BE /* udp.c in Sources */, - 7C13E9DB1D11C0D7004F16BE /* netbuf.c in Sources */, - 7C13E98F1D11BFCD004F16BE /* Utils.cpp in Sources */, - 7C13E9F01D11C0EE004F16BE /* def.c in Sources */, - 7C13E9811D11BFCD004F16BE /* Multicaster.cpp in Sources */, - 7C13EA0D1D11C0FC004F16BE /* ip_addr.c in Sources */, - 7C13E98D1D11BFCD004F16BE /* Switch.cpp in Sources */, - 7C13E9871D11BFCD004F16BE /* Path.cpp in Sources */, - 7C13EA141D11C10D004F16BE /* ethernetif.c in Sources */, - 7C13E9841D11BFCD004F16BE /* Node.cpp in Sources */, - 7C13EA131D11C10D004F16BE /* etharp.c in Sources */, - 7C13EA0B1D11C0FC004F16BE /* inet_chksum.c in Sources */, - 7C13E9B21D11C028004F16BE /* BackgroundResolver.cpp in Sources */, - 7C13E9F51D11C0EE004F16BE /* memp.c in Sources */, - 7C13E9B11D11C028004F16BE /* Arp.cpp in Sources */, - 7C13E9F81D11C0EE004F16BE /* raw.c in Sources */, - 7C13E9DD1D11C0D7004F16BE /* netifapi.c in Sources */, - 7C13EA0F1D11C0FC004F16BE /* ip.c in Sources */, - 7C13EA0E1D11C0FC004F16BE /* ip_frag.c in Sources */, - 7C13E9831D11BFCD004F16BE /* NetworkConfig.cpp in Sources */, - 7C13E9F71D11C0EE004F16BE /* pbuf.c in Sources */, - 7C13E9F41D11C0EE004F16BE /* mem.c in Sources */, - 7C13E9981D11C013004F16BE /* ControlPlane.cpp in Sources */, - 7C13E98E1D11BFCD004F16BE /* Topology.cpp in Sources */, - 7C13E9B81D11C028004F16BE /* PortMapper.cpp in Sources */, - 7C13E9F91D11C0EE004F16BE /* stats.c in Sources */, - 7C13E9F21D11C0EE004F16BE /* dns.c in Sources */, - 7C13E9CA1D11C03D004F16BE /* SDK_EthernetTap.cpp in Sources */, - 7C13E97A1D11BFCD004F16BE /* CertificateOfMembership.cpp in Sources */, - 7C13E9881D11BFCD004F16BE /* Peer.cpp in Sources */, - 7C13EA091D11C0FC004F16BE /* icmp.c in Sources */, - 7C13EA081D11C0FC004F16BE /* autoip.c in Sources */, - 7C13E98C1D11BFCD004F16BE /* SHA512.cpp in Sources */, - 7C13E9B91D11C028004F16BE /* RoutingTable.cpp in Sources */, - 7C13E9891D11BFCD004F16BE /* Poly1305.cpp in Sources */, - 7C13E9FD1D11C0EE004F16BE /* tcp.c in Sources */, - 7C13E9B41D11C028004F16BE /* Http.cpp in Sources */, - 7C13E9CF1D11C03D004F16BE /* SDK_Sockets.c in Sources */, - 7C13E9D91D11C0D7004F16BE /* api_msg.c in Sources */, - 7C13E9801D11BFCD004F16BE /* InetAddress.cpp in Sources */, - 7C13E9DF1D11C0D7004F16BE /* tcpip.c in Sources */, - 7C13E98B1D11BFCD004F16BE /* SelfAwareness.cpp in Sources */, - 7C13E97E1D11BFCD004F16BE /* Identity.cpp in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin XCBuildConfiguration section */ - 7C3F4C7D1D0618670033F5EB /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = macosx; - }; - name = Debug; - }; - 7C3F4C7E1D0618670033F5EB /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = "-"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.11; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = macosx; - }; - name = Release; - }; - 7C3F4C801D0618670033F5EB /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/../../../../src/", - "$(SRCROOT)/../../../../zerotierone/include/", - "$(SRCROOT)/../../../../ext/lwip/src/include/", - "$(SRCROOT)/../../../../ext/lwip/src/include/ipv4/", - "$(SRCROOT)/../../../../zerotierone/", - ); - INFOPLIST_FILE = ZeroTierUnity/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - OTHER_CFLAGS = ( - "-DNETCON_SERVICE", - "-D__UNITY_3D__", - "-DZT_SERVICE_NETCON", - "-g", - ); - PRODUCT_BUNDLE_IDENTIFIER = zerotier.ZeroTierUnity; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Debug; - }; - 7C3F4C811D0618670033F5EB /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - COMBINE_HIDPI_IMAGES = YES; - HEADER_SEARCH_PATHS = ( - "$(SRCROOT)/../../../../src/", - "$(SRCROOT)/../../../../zerotierone/include/", - "$(SRCROOT)/../../../../ext/lwip/src/include/", - "$(SRCROOT)/../../../../ext/lwip/src/include/ipv4/", - "$(SRCROOT)/../../../../zerotierone/", - ); - INFOPLIST_FILE = ZeroTierUnity/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles"; - OTHER_CFLAGS = ( - "-DNETCON_SERVICE", - "-D__UNITY_3D__", - "-DZT_SERVICE_NETCON", - "-g", - ); - PRODUCT_BUNDLE_IDENTIFIER = zerotier.ZeroTierUnity; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - WRAPPER_EXTENSION = bundle; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 7C3F4C741D0618670033F5EB /* Build configuration list for PBXProject "ZeroTierUnity" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 7C3F4C7D1D0618670033F5EB /* Debug */, - 7C3F4C7E1D0618670033F5EB /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 7C3F4C7F1D0618670033F5EB /* Build configuration list for PBXNativeTarget "ZeroTierUnity" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 7C3F4C801D0618670033F5EB /* Debug */, - 7C3F4C811D0618670033F5EB /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 7C3F4C711D0618670033F5EB /* Project object */; -} diff --git a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 29d513d..0000000 --- a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate b/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 0bdb44e..0000000 Binary files a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/ZeroTierUnity.xcscheme b/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/ZeroTierUnity.xcscheme deleted file mode 100644 index e0a2d83..0000000 --- a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/ZeroTierUnity.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/xcschememanagement.plist b/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 2656a7f..0000000 --- a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity.xcodeproj/xcuserdata/Joseph.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - SchemeUserState - - ZeroTierUnity.xcscheme - - orderHint - 0 - - - SuppressBuildableAutocreation - - 7C3F4C781D0618670033F5EB - - primary - - - - - diff --git a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity/Info.plist b/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity/Info.plist deleted file mode 100644 index a3ef5c8..0000000 --- a/integrations/unity3d/osx_bundle/ZeroTierUnity/ZeroTierUnity/Info.plist +++ /dev/null @@ -1,28 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - NSHumanReadableCopyright - Copyright © 2016 ZeroTier Inc. All rights reserved. - NSPrincipalClass - - - diff --git a/integrations/unity3d/unity3d_zt_sdk.md b/integrations/unity3d/unity3d_zt_sdk.md deleted file mode 100644 index ee2e772..0000000 --- a/integrations/unity3d/unity3d_zt_sdk.md +++ /dev/null @@ -1,84 +0,0 @@ -Unity3D + ZeroTier SDK -==== - -Welcome! - -We want your Unity apps to talk *directly* over a flat, secure, no-config virtual network without sending everything into the "cloud". Thus, we introduce the ZeroTier-Unity3D integration! - -Our implementation currently intends to be the bare minimum required to get your Unity application to talk over ZeroTier virtual networks. As a result, we've created an API that is very similar to the built-in Unity LLAPI. It's possible that higher-level functionality could be added in the future. - -*** -## Adding ZeroTier to your Unity app - -**Step 1: Create virtual ZeroTier [virtual network](https://my.zerotier.com/)** - -**Step 2: Add plugin** - - Create a folder called `Plugins` in `Assets` - - Place `ZeroTierUnity.bundle` in that folder - -**Step 3: Add script to some `GameObject`** - - Drag our `ZeroTier.cs` native plugin wrapper onto any `GameObject` - - -*** -## Examples - -Calling `ZeroTier.Init()` will start the network service in a separate thread. You can check if the service is running by checking `ZeroTier.IsRunning()`. Then, connecting and sending data to another endpoint would look something like the following: - -``` -public void zt_sample_network_test_thread() -{ - // Prepare sample data buffer - byte[] buffer = new byte[1024]; - Stream stream = new MemoryStream(buffer); - BinaryFormatter f = new BinaryFormatter(); - f.Serialize ( stream , "Welcome to the machine! (from Unity3D)" ); - - // Connect and send - int error; - Connect (0, "192.168.0.6", 8887, out error); - Send(connfd,buffer,0, out error); -} -``` - -Finally, when you're done running the service you can call `ZeroTier.Terminate()` - -*** -## API - -The API is designed to resemble the Unity LLAPI, so you'll see a few familiar functions but with a slight twist. - -- `Join(nwid)`: Joins a ZeroTier virtual network -- `Leave(nwid)`: Leaves a ZeroTier virtual network -- `AddHost(port)`: Creates a socket, and binds to that socket on the address and port given -- `Connect(fd, ip_address, port, out error)`: Connects to an endpoint associated with the given `fd` -- `Send(fd, buf, pos, out error)`: Sends data to the endpoint associated with the given `fd` -- `Recv(fd, buf, out error)`: Receives data from an endpoint associated with the given `fd` -- `Disconnect(fd)`: Closes a connection with an endpoint - -*** -## Design and structure of the ZeroTier Unity OSX Bundle - -XCode: -New XCode project -Select Cocoa bundle as target -Add C linkages to external functions -Build as 64bit (not universal) - -Unity: -Select x86_64 build target in `Build Settings` -In new C# script asset: - -``` -[DllImport ("ZeroTierUnity")] -private static extern int unity_start_service (); -``` - -Add asset to GameObject -Start ZT service - -*** -## Future Roadmap -With the ZeroTier sockets API in place, higher-level functionality such as lobbies, chat, and object synchronization could easily be built on top. - -