X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=src%2Fmeshlink.h;h=e0f1bae7b09d6413d9b809ef514cbe5f75143348;hp=e3a7ca942ae3b30de27a8ce18deaa646def9f08e;hb=be83b0af60449c7b35d17d97f2e6dc12f611e831;hpb=529b8fab8c21e7ae5af91d742ff202eab38e51f3 diff --git a/src/meshlink.h b/src/meshlink.h index e3a7ca94..e0f1bae7 100644 --- a/src/meshlink.h +++ b/src/meshlink.h @@ -758,6 +758,22 @@ extern dev_class_t meshlink_get_node_dev_class(struct meshlink_handle *mesh, str */ extern struct meshlink_submesh *meshlink_get_node_submesh(struct meshlink_handle *mesh, struct meshlink_node *node) __attribute__((__warn_unused_result__)); +/// Get a node's reachability status. +/** This function returns the current reachability of a given node, and the times of the last state changes. + * If a given state change never happened, the time returned will be 0. + * + * \memberof meshlink_node + * @param mesh A handle which represents an instance of MeshLink. + * @param node A pointer to a struct meshlink_node describing the node. + * @param last_reachable A pointer to a time_t variable that will be filled in with the last time the node became reachable. + * Pass NULL to not have anything written. + * @param last_unreachable A pointer to a time_t variable that will be filled in with the last time the node became unreachable. + * Pass NULL to not have anything written. + * + * @return This function returns true if the node is currently reachable, false otherwise. + */ +extern bool meshlink_get_node_reachability(struct meshlink_handle *mesh, struct meshlink_node *node, time_t *last_reachable, time_t *last_unreachable); + /// Verify the signature generated by another node of a piece of data. /** This function verifies the signature that another node generated for a piece of data. *