aboutsummaryrefslogblamecommitdiffstats
path: root/libcoopgamma_get_gamma_info_send.3
blob: 16a312dc8b8088217ad64bb77e2bd6839164a6ac (plain) (tree)
1
2
3
4
5
6
7
8






                                                                                             
                                                                                                                 





























































                                                                                         
                                              







                                         
.TH LIBCOOPGAMMA_GET_GAMMA_INFO_SEND 3 LIBCOOPGAMMA
.SH "NAME"
libcoopgamma_get_gamma_info_send - Send a request for metainfomation for a CRTC's gamma ramps
.SH "SYNOPSIS"
.nf
#include <libcoopgamma.h>

int libcoopgamma_get_gamma_info_send(const char *restrict \fIcrtc\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_info_send ()
function sends a request over the connection of
.I ctx
to the server for metainformation about a the
CRTC, with the name given in the
.I crtc
parameter, gamma ramps. 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_info_recv (3)
to parse the response.
.SH "RETURN VALUES"
Upon successful completion, the
.BR libcoopgamma_get_gamma_info_send ()
function returns 0. On error, -1 is returned and
.I errno
is set appropriately.
.SH "ERRORS"
The
.BR libcoopgamma_get_gamma_info_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_async_context_initialise (3),
.BR libcoopgamma_flush (3),
.BR libcoopgamma_synchronise (3),
.BR libcoopgamma_set_nonblocking (3),
.BR libcoopgamma_get_gamma_info_recv (3),
.BR libcoopgamma_get_gamma_info_sync (3),
.BR libcoopgamma_get_crtcs_send (3),
.BR libcoopgamma_get_gamma_send (3),
.BR libcoopgamma_set_gamma_send (3)