1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
.TH LIBCOOPGAMMA_GET_GAMMA_RECV 3 LIBCOOPGAMMA
.SH "NAME"
libcoopgamma_get_gamma_recv - Receive the gamma filter table for a CRTC
.SH "SYNOPSIS"
.nf
#include <libcoopgamma.h>
int libcoopgamma_get_gamma_recv(libcoopgamma_filter_table_t *restrict \fItable\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_recv ()
function parses the response for the requests
sent using the
.BR libcoopgamma_get_gamma_send ()
function with the same
.I ctx
and
.I async
arguments. The
.I async
must have been selected by the last call to the
.BR libcoopgamma_synchronise (3)
function.
.P
The filters will be stored in
.IR *table .
In particular, the number of filter (1 if coalesced)
will be stored to
.IR table->filter_count ,
the filters themselves will be stored in
.IR table->filters .
Some metainformation sent by the server will also
be stored in
.IR *table :
.TP
.I info->red_size
The number of stops on the red gamma ramp.
.TP
.I info->green_size
The number of stops on the green gamma ramp.
.TP
.I info->blue_size
The number of stops on the blue gamma ramp.
.TP
.I info->depth
Describes the gamma ramp types used for the CRTC.
.P
For all
.I i
from 0 up to but exclusing
.IR table->filter_count ,
Information about the filter applied
.IR i :th
is stored in
.IR table->filters[i] .
.I table->filters[i].ramps
is the gamma ramps for
.I i :th
the filter. Unless coalesced,
.I table->filters[i].priority
and
.I table->filters[i].class
is also set.
.I table->filters[i].priority
is the prority of the filter, and
.I table->filters[i].class
is the class (identifier) of the filter.
.SH "RETURN VALUES"
Upon successful completion, the
.BR libcoopgamma_get_gamma_recv ()
function returns 0. On error, -1 is returned and
.I errno
is set appropriately.
.SH "ERRORS"
The
.BR libcoopgamma_get_gamma_recv ()
function may fail for any reason specified for
.BR malloc (3).
The function may also fail for the following reasons:
.TP
.B EBADMSG
The received message was corrupt.
.SH "SEE ALSO"
.BR libcoopgamma.h (0),
.BR libcoopgamma_filter_table_initialise (3),
.BR libcoopgamma_async_context_destroy (3),
.BR libcoopgamma_synchronise (3),
.BR libcoopgamma_get_gamma_send (3),
.BR libcoopgamma_get_gamma_sync (3),
.BR libcoopgamma_get_crtcs_recv (3),
.BR libcoopgamma_get_gamma_info_recv (3),
.BR libcoopgamma_set_gamma_recv (3)
|