X-Git-Url: http://git.meshlink.io/?p=meshlink;a=blobdiff_plain;f=src%2Fsubmesh.h;h=15720aab604747d4b9d22bc392b47710145d91f1;hp=b35edf181f250358265e85d1a2e24a9987f6b683;hb=963c5055505f2fc117cd5efa06eaa02c9b2bf85d;hpb=3a73d524bf6ea79f8badb83ec15863a546602b7b diff --git a/src/submesh.h b/src/submesh.h index b35edf18..15720aab 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 @@ -20,7 +20,9 @@ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#include "meshlink.h" +#include "meshlink_internal.h" + +#define CORE_MESH "." typedef struct submesh_t { char *name; /* name of this Sub-Mesh */ @@ -31,10 +33,9 @@ typedef struct 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 *); +extern submesh_t *create_submesh(struct meshlink_handle *mesh, const char *) __attribute__((__warn_unused_result__)); +extern submesh_t *lookup_submesh(struct meshlink_handle *mesh, const char *) __attribute__((__warn_unused_result__)); +extern submesh_t *lookup_or_create_submesh(struct meshlink_handle *mesh, const char *) __attribute__((__warn_unused_result__)); +extern bool submesh_allows_node(const submesh_t *submesh, const struct node_t *node) __attribute__((__warn_unused_result__)); #endif