X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=src%2Fsubmesh.h;h=9366b0573121fb53ff743397551a75a61da50c9e;hb=4b6c01b1d5383b1a7417244a31ad4652aab2d5db;hp=b5d90b301d6ae726724c25b14fbc09ac79cab35e;hpb=43d8f901c4bbb693643bb6f188c97dd28c1d0b0a;p=meshlink diff --git a/src/submesh.h b/src/submesh.h index b5d90b30..9366b057 100644 --- a/src/submesh.h +++ b/src/submesh.h @@ -2,8 +2,8 @@ #define MESHLINK_SUBMESH_H /* - submesh.h -- header for node.c - Copyright (C) 2014, 2017 Guus Sliepen + submesh.h -- header for submesh.c + Copyright (C) 2019 Guus Sliepen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -22,6 +22,8 @@ #include "meshlink_internal.h" +#define CORE_MESH "." + typedef struct submesh_t { char *name; /* name of this Sub-Mesh */ void *priv; @@ -29,12 +31,11 @@ typedef struct submesh_t { struct meshlink_handle *mesh; /* the mesh this submesh belongs to */ } submesh_t; -extern void init_submeshes(struct meshlink_handle *mesh); -extern void exit_submeshes(struct meshlink_handle *mesh); -extern submesh_t *new_submesh(void) __attribute__((__malloc__)); -extern void free_submesh(submesh_t *); -extern void submesh_add(struct meshlink_handle *mesh, submesh_t *); -extern void submesh_del(struct meshlink_handle *mesh, submesh_t *); -extern submesh_t *lookup_submesh(struct meshlink_handle *mesh, const char *); +void init_submeshes(struct meshlink_handle *mesh); +void exit_submeshes(struct meshlink_handle *mesh); +submesh_t *create_submesh(struct meshlink_handle *mesh, const char *) __attribute__((__warn_unused_result__)); +submesh_t *lookup_submesh(struct meshlink_handle *mesh, const char *) __attribute__((__warn_unused_result__)); +submesh_t *lookup_or_create_submesh(struct meshlink_handle *mesh, const char *) __attribute__((__warn_unused_result__)); +bool submesh_allows_node(const submesh_t *submesh, const struct node_t *node) __attribute__((__warn_unused_result__)); #endif