diff options
Diffstat (limited to 'src/mds-registry')
-rw-r--r-- | src/mds-registry/globals.c | 66 | ||||
-rw-r--r-- | src/mds-registry/globals.h | 78 | ||||
-rw-r--r-- | src/mds-registry/mds-registry.c | 48 | ||||
-rw-r--r-- | src/mds-registry/util.c | 2 |
4 files changed, 147 insertions, 47 deletions
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> |