X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=src%2Fmeshlink.h;h=26d0dfceda73af09b62bbb93565a928192823673;hp=c8b9870df9cb8c1c2b52492d1fbac968f359c539;hb=5c7be85686db219955e1af592b32d0d4108625cb;hpb=13ef38b7a24efc84122b4d2bfc86cddbc359b94f diff --git a/src/meshlink.h b/src/meshlink.h index c8b9870d..26d0dfce 100644 --- a/src/meshlink.h +++ b/src/meshlink.h @@ -403,6 +403,25 @@ extern bool meshlink_sign(meshlink_handle_t *mesh, const void *data, size_t len, */ extern bool meshlink_verify(meshlink_handle_t *mesh, meshlink_node_t *source, const void *data, size_t len, const void *signature, size_t siglen); +/// Set the canonical Address for a node. +/** This function sets the canonical Address for a node. + * This address is stored permanently until it is changed by another call to this function, + * unlike other addresses associated with a node, + * such as those added with meshlink_hint_address() or addresses discovered at runtime. + * + * If a canonical Address is set for the local node, + * it will be used for the hostname part of generated invitation URLs. + * + * @param mesh A handle which represents an instance of MeshLink. + * @param node A pointer to a meshlink_node_t describing the node. + * @param address A nul-terminated C string containing the address, which can be either in numeric format or a hostname. + * @param port A nul-terminated C string containing the port, which can be either in numeric or symbolic format. + * If it is NULL, the listening port's number will be used. + * + * @return This function returns true if the address was added, false otherwise. + */ +extern bool meshlink_set_canonical_address(meshlink_handle_t *mesh, meshlink_node_t *node, const char *address, const char *port); + /// Add an Address for the local node. /** This function adds an Address for the local node, which will be used for invitation URLs. *