X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fdevtools.h;h=3c5f9433b20cf4cdd4e1d57d0b07b802941d440c;hb=5a8c20cfd63b480e94101f7333e871511a92fd37;hp=e74d41376b7a0644b4cba2e235fc08521b66ef20;hpb=305f26990ad31de1bc5edbf95e5d8b8d330ca5dc;p=meshlink diff --git a/src/devtools.h b/src/devtools.h index e74d4137..3c5f9433 100644 --- a/src/devtools.h +++ b/src/devtools.h @@ -120,4 +120,35 @@ struct devtool_node_status { */ extern void devtool_get_node_status(meshlink_handle_t *mesh, meshlink_node_t *node, devtool_node_status_t *status); +/// Get the list of all submeshes of a meshlink instance. +/** This function returns an array of submesh handles. + * These pointers are the same pointers that are present in the submeshes list + * in mesh handle. + * + * @param mesh A handle which represents an instance of MeshLink. + * @param submeshes A pointer to an array of submesh handles if any allocated previously. + * @param nmemb A pointer to a size_t variable that has + * to be provided by the caller. + * The contents of this variable will be changed to indicate + * the number if array elements. + */ +extern meshlink_submesh_t **devtool_get_all_submeshes(meshlink_handle_t *mesh, meshlink_submesh_t **submeshes, size_t *nmemb); + +/// Open a MeshLink instance in a given network namespace. +/** This function opens MeshLink in the given network namespace. + * + * @param confbase The directory in which MeshLink will store its configuration files. + * After the function returns, the application is free to overwrite or free @a confbase @a. + * @param name The name which this instance of the application will use in the mesh. + * After the function returns, the application is free to overwrite or free @a name @a. + * @param appname The application name which will be used in the mesh. + * After the function returns, the application is free to overwrite or free @a name @a. + * @param devclass The device class which will be used in the mesh. + * @param netns A filedescriptor that represents the network namespace. + * + * @return A pointer to a meshlink_handle_t which represents this instance of MeshLink, or NULL in case of an error. + * The pointer is valid until meshlink_close() is called. + */ +extern meshlink_handle_t *devtool_open_in_netns(const char *confbase, const char *name, const char *appname, dev_class_t devclass, int netns); + #endif