aboutsummaryrefslogtreecommitdiffstats
path: root/doc/man/libcoopgamma_get_gamma_send.3
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man/libcoopgamma_get_gamma_send.3')
-rw-r--r--doc/man/libcoopgamma_get_gamma_send.392
1 files changed, 92 insertions, 0 deletions
diff --git a/doc/man/libcoopgamma_get_gamma_send.3 b/doc/man/libcoopgamma_get_gamma_send.3
new file mode 100644
index 0000000..7c0734a
--- /dev/null
+++ b/doc/man/libcoopgamma_get_gamma_send.3
@@ -0,0 +1,92 @@
+.TH LIBCOOPGAMMA_GET_GAMMA_SEND 3 LIBCOOPGAMMA
+.SH "NAME"
+libcoopgamma_get_gamma_send - Send a request to retrieve a CRTC's gamma ramp filters
+.SH "SYNOPSIS"
+.nf
+#include <libcoopgamma.h>
+
+int libcoopgamma_get_gamma_send(const libcoopgamma_filter_query_t *restrict \fIquery\fP,
+ libcoopgamma_context_t *restrict \fIctx\fP,
+ libcoopgamma_async_context_t *restrict \fIasync\fP);
+.fi
+.P
+Link with
+.IR -lcoopgamma .
+.SH "DESCRIPTION"
+The
+.BR libcoopgamma_get_gamma_send ()
+function sends a request over the connection of
+.I ctx
+to the server to retrieve the
+CRTC's, with the name given in the
+.I query->crtc
+parameter, applied filters. Information about the
+request is stored in
+.IR *async ,
+this information is used by
+.BR libcoopgamma_synchronise (3)
+to identify the response, and by
+.BR libcoopgamma_get_gamma_recv (3)
+to parse the response.
+.P
+The response will include all filter with a
+priority between
+.I query->low_priority
+and
+.IR query->high_priority,
+inclusively. If and only if
+.I query->coalesce
+is nonzero, the, from the selected filters,
+resulting gamma ramps are returned
+rather than a list of all selected filter.
+.SH "RETURN VALUES"
+Upon successful completion, the
+.BR libcoopgamma_get_gamma_send ()
+function returns 0. On error, -1 is returned and
+.I errno
+is set appropriately.
+.SH "ERRORS"
+The
+.BR libcoopgamma_get_gamma_send ()
+function may fail for any reason specified for
+.BR malloc (3),
+.BR realloc (3),
+or
+.BR libcoopgamma_flush (3).
+Particularly interesting exceptional
+conditions, that are not errors proper, include
+those indicated by the following values on
+.IR errno :
+.TP
+.B EINTR
+The function was interrupted by a signal. When
+this happens, call
+.BR libcoopgamma_flush (3)
+to resume.
+.TP
+.BR EAGAIN " or " EWOULDBLOCK
+The communication is nonblocking and the buffer
+between the server and the client is full,
+and no more data can be queued without blocking.
+When this happens, wait a short period of time
+and call
+.BR libcoopgamma_flush (3)
+to resume.
+.BR select (3)
+or similar function can be used to wait until
+.I ctx->fd
+is readable.
+.TP
+.B ECONNREST
+The connection to the server has closed.
+.SH "SEE ALSO"
+.BR libcoopgamma.h (0),
+.BR libcoopgamma_filter_query_initialise (3),
+.BR libcoopgamma_flush (3),
+.BR libcoopgamma_synchronise (3),
+.BR libcoopgamma_set_nonblocking (3),
+.BR libcoopgamma_get_gamma_recv (3),
+.BR libcoopgamma_get_gamma_sync (3),
+.BR libcoopgamma_get_crtcs_send (3),
+.BR libcoopgamma_get_gamma_info_send (3),
+.BR libcoopgamma_set_gamma_send (3)