aboutsummaryrefslogtreecommitdiffstats
path: root/src/state.h
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2019-10-22 15:04:45 +0200
committerMattias Andrée <maandree@kth.se>2019-10-22 15:04:45 +0200
commitb13efce73e506b0feb4bb7c275c273a54ae6e716 (patch)
tree79f93e69b01d236e96037aa60332d214696e048b /src/state.h
parentFix NULL-pointer bug in get_pathname when running with -mdrm (diff)
downloadcoopgammad-b13efce73e506b0feb4bb7c275c273a54ae6e716.tar.gz
coopgammad-b13efce73e506b0feb4bb7c275c273a54ae6e716.tar.bz2
coopgammad-b13efce73e506b0feb4bb7c275c273a54ae6e716.tar.xz
Change license and style, reorganise file, make makefile portable, and fix bugs1.3
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'src/state.h')
-rw-r--r--src/state.h192
1 files changed, 0 insertions, 192 deletions
diff --git a/src/state.h b/src/state.h
deleted file mode 100644
index 1cbe482..0000000
--- a/src/state.h
+++ /dev/null
@@ -1,192 +0,0 @@
-/**
- * coopgammad -- Cooperative gamma server
- * Copyright (C) 2016 Mattias Andrée (maandree@kth.se)
- *
- * 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 STATE_H
-#define STATE_H
-
-
-#include "types/message.h"
-#include "types/ring.h"
-#include "types/output.h"
-
-#include <libgamma.h>
-
-#include <stddef.h>
-#include <signal.h>
-
-
-
-#ifndef GCC_ONLY
-# if defined(__GNUC__) && !defined(__clang__)
-# define GCC_ONLY(...) __VA_ARGS__
-# else
-# define GCC_ONLY(...) /* nothing */
-# endif
-#endif
-
-
-
-/**
- * The name of the process
- */
-extern char* restrict argv0;
-
-/**
- * The real pathname of the process's binary,
- * `NULL` if `argv0` is satisfactory
- */
-extern char* restrict argv0_real;
-
-/**
- * Array of all outputs
- */
-extern struct output* restrict outputs;
-
-/**
- * The nubmer of elements in `outputs`
- */
-extern size_t outputs_n;
-
-/**
- * The server socket's file descriptor
- */
-extern int socketfd;
-
-/**
- * Has the process receive a signal
- * telling it to re-execute?
- */
-extern volatile sig_atomic_t reexec;
-
-/**
- * Has the process receive a signal
- * telling it to terminate?
- */
-extern volatile sig_atomic_t terminate;
-
-/**
- * Has the process receive a to
- * disconnect from or reconnect to
- * the site? 1 if disconnect, 2 if
- * reconnect, 0 otherwise.
- */
-extern volatile sig_atomic_t connection;
-
-/**
- * List of all client's file descriptors
- *
- * Unused slots, with index less than `connections_used`,
- * should have the value -1 (negative)
- */
-extern int* restrict connections;
-
-/**
- * The number of elements allocated for `connections`
- */
-extern size_t connections_alloc;
-
-/**
- * The index of the first unused slot in `connections`
- */
-extern size_t connections_ptr;
-
-/**
- * The index of the last used slot in `connections`, plus 1
- */
-extern size_t connections_used;
-
-/**
- * The clients' connections' inbound-message buffers
- */
-extern struct message* restrict inbound;
-
-/**
- * The clients' connections' outbound-message buffers
- */
-extern struct ring* restrict outbound;
-
-/**
- * Is the server connect to the display?
- *
- * Set to true before the initial connection
- */
-extern int connected;
-
-/**
- * The adjustment method, -1 for automatic
- */
-extern int method;
-
-/**
- * The site's name, may be `NULL`
- */
-extern char* restrict sitename;
-
-/**
- * The libgamma site state
- */
-extern libgamma_site_state_t site;
-
-/**
- * The libgamma partition states
- */
-extern libgamma_partition_state_t* restrict partitions;
-
-/**
- * The libgamma CRTC states
- */
-extern libgamma_crtc_state_t* restrict crtcs;
-
-/**
- * Preserve gamma ramps at priority 0?
- */
-extern int preserve;
-
-
-
-/**
- * Dump the state to stderr
- */
-void state_dump(void);
-
-/**
- * Destroy the state
- */
-void state_destroy(void);
-
-/**
- * Marshal the state
- *
- * @param buf Output buffer for the marshalled data,
- * `NULL` to only measure how many bytes
- * this buffer needs
- * @return The number of marshalled bytes
- */
-size_t state_marshal(void* restrict buf);
-
-/**
- * Unmarshal the state
- *
- * @param buf Buffer for the marshalled data
- * @return The number of unmarshalled bytes, 0 on error
- */
-GCC_ONLY(__attribute__((nonnull)))
-size_t state_unmarshal(const void* restrict buf);
-
-
-#endif
-