]> git.meshlink.io Git - meshlink/blobdiff - src/submesh.h
Don't use assert() to check the results of pthread_*() calls.
[meshlink] / src / submesh.h
index b5d90b301d6ae726724c25b14fbc09ac79cab35e..9366b0573121fb53ff743397551a75a61da50c9e 100644 (file)
@@ -2,8 +2,8 @@
 #define MESHLINK_SUBMESH_H
 
 /*
-    submesh.h -- header for node.c
-    Copyright (C) 2014, 2017 Guus Sliepen <guus@meshlink.io>
+    submesh.h -- header for submesh.c
+    Copyright (C) 2019 Guus Sliepen <guus@meshlink.io>
 
     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