aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Makefile2
-rw-r--r--src/mds-registry/globals.c66
-rw-r--r--src/mds-registry/globals.h78
-rw-r--r--src/mds-registry/mds-registry.c48
-rw-r--r--src/mds-registry/util.c2
5 files changed, 148 insertions, 48 deletions
diff --git a/Makefile b/Makefile
index f92ead9..0fd08b9 100644
--- a/Makefile
+++ b/Makefile
@@ -20,7 +20,7 @@ OBJ_mds-server_ = mds-server interception-condition client multicast \
queued-interception globals signals interceptors \
sending slavery reexec receiving
-OBJ_mds-registry_ = mds-registry util
+OBJ_mds-registry_ = mds-registry util globals
OBJ_mds-server = $(foreach O,$(OBJ_mds-server_),obj/mds-server/$(O).o)
OBJ_mds-registry = $(foreach O,$(OBJ_mds-registry_),obj/mds-registry/$(O).o)
diff --git a/src/mds-registry/globals.c b/src/mds-registry/globals.c
new file mode 100644
index 0000000..981cad1
--- /dev/null
+++ b/src/mds-registry/globals.c
@@ -0,0 +1,66 @@
+/**
+ * mds — A micro-display server
+ * Copyright © 2014 Mattias Andrée (maandree@member.fsf.org)
+ *
+ * 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#include "globals.h"
+
+
+
+/**
+ * Value of the ‘Message ID’ header for the next message
+ */
+int32_t message_id = 2;
+
+/**
+ * Buffer for received messages
+ */
+mds_message_t received;
+
+/**
+ * Whether the server is connected to the display
+ */
+int connected = 1;
+
+/**
+ * Protocol registry table
+ */
+hash_table_t reg_table;
+
+/**
+ * Reusable buffer for data to send
+ */
+char* send_buffer = NULL;
+
+/**
+ * The size of `send_buffer`
+ */
+size_t send_buffer_size = 0;
+
+/**
+ * General mutex
+ */
+pthread_mutex_t reg_mutex;
+
+/**
+ * General condition
+ */
+pthread_cond_t reg_cond;
+
+/**
+ * Used to temporarily store the old value when reallocating heap-allocations
+ */
+char* old;
+
diff --git a/src/mds-registry/globals.h b/src/mds-registry/globals.h
new file mode 100644
index 0000000..8c0799a
--- /dev/null
+++ b/src/mds-registry/globals.h
@@ -0,0 +1,78 @@
+/**
+ * mds — A micro-display server
+ * Copyright © 2014 Mattias Andrée (maandree@member.fsf.org)
+ *
+ * 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
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef MDS_MDS_REGISTRY_GLOBALS_H
+#define MDS_MDS_REGISTRY_GLOBALS_H
+
+
+#include <libmdsserver/mds-message.h>
+#include <libmdsserver/hash-table.h>
+
+#include <stdint.h>
+#include <stddef.h>
+#include <pthread.h>
+
+
+
+/**
+ * Value of the ‘Message ID’ header for the next message
+ */
+extern int32_t message_id;
+
+/**
+ * Buffer for received messages
+ */
+extern mds_message_t received;
+
+/**
+ * Whether the server is connected to the display
+ */
+extern int connected;
+
+/**
+ * Protocol registry table
+ */
+extern hash_table_t reg_table;
+
+/**
+ * Reusable buffer for data to send
+ */
+extern char* send_buffer;
+
+/**
+ * The size of `send_buffer`
+ */
+extern size_t send_buffer_size;
+
+/**
+ * General mutex
+ */
+extern pthread_mutex_t reg_mutex;
+
+/**
+ * General condition
+ */
+extern pthread_cond_t reg_cond;
+
+/**
+ * Used to temporarily store the old value when reallocating heap-allocations
+ */
+extern char* old;
+
+
+#endif
+
diff --git a/src/mds-registry/mds-registry.c b/src/mds-registry/mds-registry.c
index 28dd368..b41733a 100644
--- a/src/mds-registry/mds-registry.c
+++ b/src/mds-registry/mds-registry.c
@@ -18,6 +18,7 @@
#include "mds-registry.h"
#include "util.h"
+#include "globals.h"
#include <libmdsserver/macros.h>
#include <libmdsserver/util.h>
@@ -56,53 +57,6 @@ server_characteristics_t server_characteristics =
/**
- * Value of the ‘Message ID’ header for the next message
- */
-static int32_t message_id = 2;
-
-/**
- * Buffer for received messages
- */
-static mds_message_t received;
-
-/**
- * Whether the server is connected to the display
- */
-static int connected = 1;
-
-/**
- * Protocol registry table
- */
-static hash_table_t reg_table;
-
-/**
- * Reusable buffer for data to send
- */
-static char* send_buffer = NULL;
-
-/**
- * The size of `send_buffer`
- */
-static size_t send_buffer_size = 0;
-
-/**
- * General mutex
- */
-static pthread_mutex_t reg_mutex;
-
-/**
- * General condition
- */
-static pthread_cond_t reg_cond;
-
-/**
- * Used to temporarily store the old value when reallocating heap-allocations
- */
-static char* old;
-
-
-
-/**
* This function will be invoked before `initialise_server` (if not re-exec:ing)
* or before `unmarshal_server` (if re-exec:ing)
*
diff --git a/src/mds-registry/util.c b/src/mds-registry/util.c
index c497121..31df0e1 100644
--- a/src/mds-registry/util.c
+++ b/src/mds-registry/util.c
@@ -17,6 +17,8 @@
*/
#include "util.h"
+#include "globals.h"
+
#include "../mds-base.h"
#include <libmdsserver/util.h>