aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2025-03-05 18:15:02 +0100
committerMattias Andrée <m@maandree.se>2025-03-05 18:15:02 +0100
commitc9105c1206c9df070fb13c3deb9055b9535a23d6 (patch)
tree8dc21ebbc39fe9171470c59779fd5d2a4401b0db /src
parentRemove old #include (diff)
downloadredshift-ng-c9105c1206c9df070fb13c3deb9055b9535a23d6.tar.gz
redshift-ng-c9105c1206c9df070fb13c3deb9055b9535a23d6.tar.bz2
redshift-ng-c9105c1206c9df070fb13c3deb9055b9535a23d6.tar.xz
Merge redshift.h into common.h
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'src')
-rw-r--r--src/Makefile1
-rw-r--r--src/common.h130
-rw-r--r--src/gamma-dummy.c5
-rw-r--r--src/options.c2
-rw-r--r--src/options.h2
-rw-r--r--src/redshift.h153
6 files changed, 131 insertions, 162 deletions
diff --git a/src/Makefile b/src/Makefile
index b2841d3..7d7e9d6 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -25,7 +25,6 @@ OBJ =\
HDR =\
common.h\
solar.h\
- redshift.h\
options.h\
config-ini.h
diff --git a/src/common.h b/src/common.h
index 79ff387..028865f 100644
--- a/src/common.h
+++ b/src/common.h
@@ -20,15 +20,141 @@
#ifndef REDSHIFT_COMMON_H
#define REDSHIFT_COMMON_H
-#include "redshift.h"
-
#include <stdint.h>
#include <stdio.h>
+#include <stdlib.h>
#if !defined(__WIN32__)
# include <signal.h>
#endif
+/* The color temperature when no adjustment is applied. */
+#define NEUTRAL_TEMP 6500
+
+
+/* Location */
+typedef struct {
+ float lat;
+ float lon;
+} location_t;
+
+/* Periods of day. */
+typedef enum {
+ PERIOD_NONE = 0,
+ PERIOD_DAYTIME,
+ PERIOD_NIGHT,
+ PERIOD_TRANSITION
+} period_t;
+
+/* Color setting */
+typedef struct {
+ int temperature;
+ float gamma[3];
+ float brightness;
+} color_setting_t;
+
+/* Program modes. */
+typedef enum {
+ PROGRAM_MODE_CONTINUAL,
+ PROGRAM_MODE_ONE_SHOT,
+ PROGRAM_MODE_PRINT,
+ PROGRAM_MODE_RESET,
+ PROGRAM_MODE_MANUAL
+} program_mode_t;
+
+/* Time range.
+ Fields are offsets from midnight in seconds. */
+typedef struct {
+ int start;
+ int end;
+} time_range_t;
+
+/* Transition scheme.
+ The solar elevations at which the transition begins/ends,
+ and the association color settings. */
+typedef struct {
+ double high;
+ double low;
+ int use_time; /* When enabled, ignore elevation and use time ranges. */
+ time_range_t dawn;
+ time_range_t dusk;
+ color_setting_t day;
+ color_setting_t night;
+} transition_scheme_t;
+
+
+/* Gamma adjustment method */
+typedef struct gamma_state gamma_state_t;
+
+typedef int gamma_method_init_func(gamma_state_t **state);
+typedef int gamma_method_start_func(gamma_state_t *state, program_mode_t mode);
+typedef void gamma_method_free_func(gamma_state_t *state);
+typedef void gamma_method_print_help_func(FILE *f);
+typedef int gamma_method_set_option_func(gamma_state_t *state, const char *key,
+ const char *value);
+typedef void gamma_method_restore_func(gamma_state_t *state);
+typedef int gamma_method_set_temperature_func(
+ gamma_state_t *state, const color_setting_t *setting, int preserve);
+
+typedef struct {
+ char *name;
+
+ /* If true, this method will be tried if none is explicitly chosen. */
+ int autostart;
+
+ /* Initialize state. Options can be set between init and start. */
+ gamma_method_init_func *init;
+ /* Allocate storage and make connections that depend on options. */
+ gamma_method_start_func *start;
+ /* Free all allocated storage and close connections. */
+ gamma_method_free_func *free;
+
+ /* Print help on options for this adjustment method. */
+ gamma_method_print_help_func *print_help;
+ /* Set an option key, value-pair */
+ gamma_method_set_option_func *set_option;
+
+ /* Restore the adjustment to the state before start was called. */
+ gamma_method_restore_func *restore;
+ /* Set a specific color temperature. */
+ gamma_method_set_temperature_func *set_temperature;
+} gamma_method_t;
+
+
+/* Location provider */
+typedef struct location_state location_state_t;
+
+typedef int location_provider_init_func(location_state_t **state);
+typedef int location_provider_start_func(location_state_t *state);
+typedef void location_provider_free_func(location_state_t *state);
+typedef void location_provider_print_help_func(FILE *f);
+typedef int location_provider_set_option_func(
+ location_state_t *state, const char *key, const char *value);
+typedef int location_provider_get_fd_func(location_state_t *state);
+typedef int location_provider_handle_func(
+ location_state_t *state, location_t *location, int *available);
+
+typedef struct {
+ char *name;
+
+ /* Initialize state. Options can be set between init and start. */
+ location_provider_init_func *init;
+ /* Allocate storage and make connections that depend on options. */
+ location_provider_start_func *start;
+ /* Free all allocated storage and close connections. */
+ location_provider_free_func *free;
+
+ /* Print help on options for this location provider. */
+ location_provider_print_help_func *print_help;
+ /* Set an option key, value-pair. */
+ location_provider_set_option_func *set_option;
+
+ /* Listen and handle location updates. */
+ location_provider_get_fd_func *get_fd;
+ location_provider_handle_func *handle;
+} location_provider_t;
+
+
#define LIST_RAMPS_STOP_VALUE_TYPES\
X(u8, uint8_t, UINT8_MAX + 1ULL, UINT8_MAX, 8)\
X(u16, uint16_t, UINT16_MAX + 1ULL, UINT16_MAX, 16)\
diff --git a/src/gamma-dummy.c b/src/gamma-dummy.c
index 559fcea..066ae96 100644
--- a/src/gamma-dummy.c
+++ b/src/gamma-dummy.c
@@ -21,9 +21,6 @@
# include "config.h"
#endif
-#include <stdio.h>
-#include <stdlib.h>
-
#ifdef ENABLE_NLS
# include <libintl.h>
# define _(s) gettext(s)
@@ -31,7 +28,7 @@
# define _(s) s
#endif
-#include "redshift.h"
+#include "common.h"
static int
diff --git a/src/options.c b/src/options.c
index aadd317..28c9149 100644
--- a/src/options.c
+++ b/src/options.c
@@ -34,7 +34,7 @@
# define _(s) s
#endif
-#include "redshift.h"
+#include "common.h"
#include "config-ini.h"
#include "options.h"
#include "solar.h"
diff --git a/src/options.h b/src/options.h
index 9993a07..3470599 100644
--- a/src/options.h
+++ b/src/options.h
@@ -20,7 +20,7 @@
#ifndef REDSHIFT_OPTIONS_H
#define REDSHIFT_OPTIONS_H
-#include "redshift.h"
+#include "common.h"
typedef struct {
/* Path to config file */
diff --git a/src/redshift.h b/src/redshift.h
deleted file mode 100644
index 896ee28..0000000
--- a/src/redshift.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/* redshift.h -- Main program header
- This file is part of Redshift.
-
- Redshift 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.
-
- Redshift 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 Redshift. If not, see <http://www.gnu.org/licenses/>.
-
- Copyright (c) 2013-2017 Jon Lund Steffensen <jonlst@gmail.com>
-*/
-
-#ifndef REDSHIFT_REDSHIFT_H
-#define REDSHIFT_REDSHIFT_H
-
-#include <stdio.h>
-#include <stdlib.h>
-
-/* The color temperature when no adjustment is applied. */
-#define NEUTRAL_TEMP 6500
-
-
-/* Location */
-typedef struct {
- float lat;
- float lon;
-} location_t;
-
-/* Periods of day. */
-typedef enum {
- PERIOD_NONE = 0,
- PERIOD_DAYTIME,
- PERIOD_NIGHT,
- PERIOD_TRANSITION
-} period_t;
-
-/* Color setting */
-typedef struct {
- int temperature;
- float gamma[3];
- float brightness;
-} color_setting_t;
-
-/* Program modes. */
-typedef enum {
- PROGRAM_MODE_CONTINUAL,
- PROGRAM_MODE_ONE_SHOT,
- PROGRAM_MODE_PRINT,
- PROGRAM_MODE_RESET,
- PROGRAM_MODE_MANUAL
-} program_mode_t;
-
-/* Time range.
- Fields are offsets from midnight in seconds. */
-typedef struct {
- int start;
- int end;
-} time_range_t;
-
-/* Transition scheme.
- The solar elevations at which the transition begins/ends,
- and the association color settings. */
-typedef struct {
- double high;
- double low;
- int use_time; /* When enabled, ignore elevation and use time ranges. */
- time_range_t dawn;
- time_range_t dusk;
- color_setting_t day;
- color_setting_t night;
-} transition_scheme_t;
-
-
-/* Gamma adjustment method */
-typedef struct gamma_state gamma_state_t;
-
-typedef int gamma_method_init_func(gamma_state_t **state);
-typedef int gamma_method_start_func(gamma_state_t *state, program_mode_t mode);
-typedef void gamma_method_free_func(gamma_state_t *state);
-typedef void gamma_method_print_help_func(FILE *f);
-typedef int gamma_method_set_option_func(gamma_state_t *state, const char *key,
- const char *value);
-typedef void gamma_method_restore_func(gamma_state_t *state);
-typedef int gamma_method_set_temperature_func(
- gamma_state_t *state, const color_setting_t *setting, int preserve);
-
-typedef struct {
- char *name;
-
- /* If true, this method will be tried if none is explicitly chosen. */
- int autostart;
-
- /* Initialize state. Options can be set between init and start. */
- gamma_method_init_func *init;
- /* Allocate storage and make connections that depend on options. */
- gamma_method_start_func *start;
- /* Free all allocated storage and close connections. */
- gamma_method_free_func *free;
-
- /* Print help on options for this adjustment method. */
- gamma_method_print_help_func *print_help;
- /* Set an option key, value-pair */
- gamma_method_set_option_func *set_option;
-
- /* Restore the adjustment to the state before start was called. */
- gamma_method_restore_func *restore;
- /* Set a specific color temperature. */
- gamma_method_set_temperature_func *set_temperature;
-} gamma_method_t;
-
-
-/* Location provider */
-typedef struct location_state location_state_t;
-
-typedef int location_provider_init_func(location_state_t **state);
-typedef int location_provider_start_func(location_state_t *state);
-typedef void location_provider_free_func(location_state_t *state);
-typedef void location_provider_print_help_func(FILE *f);
-typedef int location_provider_set_option_func(
- location_state_t *state, const char *key, const char *value);
-typedef int location_provider_get_fd_func(location_state_t *state);
-typedef int location_provider_handle_func(
- location_state_t *state, location_t *location, int *available);
-
-typedef struct {
- char *name;
-
- /* Initialize state. Options can be set between init and start. */
- location_provider_init_func *init;
- /* Allocate storage and make connections that depend on options. */
- location_provider_start_func *start;
- /* Free all allocated storage and close connections. */
- location_provider_free_func *free;
-
- /* Print help on options for this location provider. */
- location_provider_print_help_func *print_help;
- /* Set an option key, value-pair. */
- location_provider_set_option_func *set_option;
-
- /* Listen and handle location updates. */
- location_provider_get_fd_func *get_fd;
- location_provider_handle_func *handle;
-} location_provider_t;
-
-
-#endif /* ! REDSHIFT_REDSHIFT_H */