X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fnode.h;h=d307e5f26094de6bf96476adb87be83a43f59349;hb=fe5563f92021618b4a8b41e412c73d8364fcaf6e;hp=dc15e3f299f9c2767fa06a5b23ca95ae390a05d4;hpb=282b99f3c71705bd6e34d4e4f9e8369ea63c87ed;p=meshlink diff --git a/src/node.h b/src/node.h index dc15e3f2..d307e5f2 100644 --- a/src/node.h +++ b/src/node.h @@ -37,6 +37,7 @@ typedef struct node_status_t { uint16_t destroyed: 1; /* 1 if the node is being destroyed, deallocate channels when any callback is triggered */ uint16_t duplicate: 1; /* 1 if the node is duplicate, ie. multiple nodes using the same Name are online */ uint16_t dirty: 1; /* 1 if the configuration of the node is dirty and needs to be written out */ + uint16_t want_udp: 1; /* 1 if we want working UDP because we have data to send */ } node_status_t; typedef struct node_t { @@ -47,11 +48,12 @@ typedef struct node_t { // Private member variables node_status_t status; uint16_t minmtu; /* Probed minimum MTU */ - int32_t devclass; + dev_class_t devclass; // Used for packet I/O - sptps_t sptps; int sock; /* Socket to use for outgoing UDP packets */ + uint32_t session_id; /* Unique ID for this node's currently running process */ + sptps_t sptps; sockaddr_t address; /* his real (internet) ip to send UDP packets to */ struct utcp *utcp; @@ -98,8 +100,8 @@ extern node_t *new_node(void) __attribute__((__malloc__)); extern void free_node(node_t *n); extern void node_add(struct meshlink_handle *mesh, node_t *n); extern void node_del(struct meshlink_handle *mesh, node_t *n); -extern node_t *lookup_node(struct meshlink_handle *mesh, const char *name); -extern node_t *lookup_node_udp(struct meshlink_handle *mesh, const sockaddr_t *sa); +extern node_t *lookup_node(struct meshlink_handle *mesh, const char *name) __attribute__((__warn_unused_result__)); +extern node_t *lookup_node_udp(struct meshlink_handle *mesh, const sockaddr_t *sa) __attribute__((__warn_unused_result__)); extern void update_node_udp(struct meshlink_handle *mesh, node_t *n, const sockaddr_t *sa); #endif