X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fnode.h;h=acbf2e8bfec4b866458fdc4e94d5959952065bc1;hb=ed1f31db1e8840ffd6849b48bcad93e9975a24bb;hp=ba5b1d48fc9efab5e8839f62e579157b63891e91;hpb=ea294dac41365a08a77b64c62c0ba630292d7a07;p=meshlink diff --git a/src/node.h b/src/node.h index ba5b1d48..acbf2e8b 100644 --- a/src/node.h +++ b/src/node.h @@ -24,6 +24,7 @@ #include "sockaddr.h" #include "sptps.h" #include "utcp/utcp.h" +#include "submesh.h" typedef struct node_status_t { unsigned int unused_active: 1; /* 1 if active (not used for nodes) */ @@ -37,7 +38,8 @@ typedef struct node_status_t { unsigned int broadcast: 1; /* 1 if the next UDP packet should be broadcast to the local network */ unsigned int blacklisted: 1; /* 1 if the node is blacklist so we never want to speak with him anymore */ unsigned int destroyed: 1; /* 1 if the node is being destroyed, deallocate channels when any callback is triggered */ - unsigned int unused: 22; + unsigned int duplicate: 1; /* 1 if the node is duplicate, ie. multiple nodes using the same Name are online */ + unsigned int unused: 20; } node_status_t; typedef struct node_t { @@ -48,6 +50,7 @@ typedef struct node_t { dev_class_t devclass; struct meshlink_handle *mesh; /* The mesh this node belongs to */ + struct submesh_t *submesh; /* Nodes Sub-Mesh Handle*/ int sock; /* Socket to use for outgoing UDP packets */ sockaddr_t address; /* his real (internet) ip to send UDP packets to */