copy = xzalloc(sizeof *copy);
copy->from = (meshlink_node_t*)e->from;
copy->to = (meshlink_node_t*)e->to;
- //TODO fix conversion from sockaddr_t to sockaddr_storage
- //copy->address = e->address.ss;
+#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
+ copy->address = e->address.storage;
+#endif
copy->options = e->options;
copy->weight = e->weight;
*p++ = copy;
#endif // MESHLINK_INTERNAL_H
-// TODO documentation
+/// An edge in the meshlink network.
struct meshlink_edge {
- struct meshlink_node *from;
- struct meshlink_node *to;
- struct sockaddr_storage address;
- uint32_t options;
- int weight;
+ struct meshlink_node *from; ///< Pointer to a node. Node memory is
+ // owned by meshlink and should not be
+ // deallocated. Node contents may be
+ // changed by meshlink.
+ struct meshlink_node *to; ///< Pointer to a node. Node memory is
+ // owned by meshlink and should not be
+ // deallocated. Node contents may be
+ // changed by meshlink.
+#ifdef HAVE_STRUCT_SOCKADDR_STORAGE
+ struct sockaddr_storage address;///< The address information associated
+#endif
+ // with this edge.
+ uint32_t options; ///< Edge options. @TODO what are edge options?
+ int weight; ///< Weight assigned to this edge.
};
/// Get the text for the given MeshLink error code.