From ec1bcdcd0dd6e196303e8d9a30b3b2740e32c502 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Mon, 10 Feb 2025 17:50:58 +0100 Subject: Minor code improvements and split into multiple c files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libcoopgamma_set_gamma_sync.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 libcoopgamma_set_gamma_sync.c (limited to 'libcoopgamma_set_gamma_sync.c') diff --git a/libcoopgamma_set_gamma_sync.c b/libcoopgamma_set_gamma_sync.c new file mode 100644 index 0000000..b682378 --- /dev/null +++ b/libcoopgamma_set_gamma_sync.c @@ -0,0 +1,26 @@ +/* See LICENSE file for copyright and license details. */ +#include "common.h" + + +/** + * Apply, update, or remove a gamma ramp adjustment, synchronous version + * + * This is a synchronous request function, as such, + * you have to ensure that communication is blocking + * (default), and that there are not asynchronous + * requests waiting, it also means that EINTR:s are + * silently ignored and there no wait to cancel the + * operation without disconnection from the server + * + * @param filter The filter to apply, update, or remove, gamma ramp meta-data must match the CRTC's + * @param depth The datatype for the stops in the gamma ramps, must match the CRTC's + * @param ctx The state of the library, must be connected + * @return Zero on success, -1 on error, in which case `ctx->error` + * (rather than `errno`) is read for information about the error + */ +int +libcoopgamma_set_gamma_sync(const libcoopgamma_filter_t *restrict filter, libcoopgamma_context_t *restrict ctx) +{ + SYNC_CALL(libcoopgamma_set_gamma_send(filter, ctx, &async), + libcoopgamma_set_gamma_recv(ctx, &async), (copy_errno(ctx), -1)); +} -- cgit v1.2.3-70-g09d2