.TH LIBCOOPGAMMA_SET_GAMMA_SYNC 3 LIBCOOPGAMMA .SH "NAME" libcoopgamma_set_gamma_sync - Synchronously modify a CRTC's filter table .SH "SYNOPSIS" .nf #include int libcoopgamma_set_gamma_sync(const libcoopgamma_filter_t* restrict \fIfilter\fP, libcoopgamma_context_t *restrict \fIctx\fP); .fi .P Link with .IR -lcoopgamma . .SH "DESCRIPTION" The .BR libcoopgamma_set_gamma_sync () function synchronously adds, updates, or removes a filter to, in, or from the CTRC's, whose name is .IR filter->crtc , filter table, over the connection of .I ctx to the server. .P A filter with the class (identifier) .I filter->class is removed if .I filter->lifespan is .IR LIBCOOPGAMMA_REMOVE . If .I filter->lifespan is not .IR LIBCOOPGAMMA_REMOVE , a filter with matching class is updated if such filter exists, otherwise the filter is added. The fitler, unless it is removed, is inserted or moved to the priority specified by .IR filter->priority . .I filter->priority is isregarded when .I filter->lifespan is .IR LIBCOOPGAMMA_REMOVE . A filter with high priority is applied before a fitler with low priority. The filter is removed when it is explicit removed used .IR LIBCOOPGAMMA_REMOVE , or if .I filter->lifespan is .IR LIBCOOPGAMMA_UNTIL_DEATH , when the client that last added or updated the filter disconnects from the server, which ever comes first. Note that, when updating a filter, the lifespan is updated to .IR filter->lifespan . .P The class .RI ( filter->class ) must be of the format \fI${PACKAGE_NAME}\fP\fB::\fP\fI${COMMAND_NAME}\fP\fB::\fP\fI${RULE}\fP, where .I ${PACKAGE_NAME} is the name of the package as installed on the system, the program should make it easy to adjust this; .I ${COMMAND_NAME} is the name of the program, this too should not easily adjustable, and .I ${RULE} is a string that identifies filter uniquely within the program, or can be hardcoded or runtime configurable. .P Unless .I filter->lifespan is .IR LIBCOOPGAMMA_REMOVE , .I filter->depth and .I filter->ramps must be configured to specified the desired ramp values. .SH "RETURN VALUES" Upon successful completion, the .BR libcoopgamma_set_gamma_recv () function returns 0. On error, -1 is returned and .I errno is set appropriately. .SH "ERRORS" The .BR libcoopgamma_set_gamma_send () function may fail for any reason specified for .BR libcoopgamma_set_gamma_send (3), .BR libcoopgamma_set_gamma_recv (3), .BR libcoopgamma_flush (3), or .BR libcoopgamma_synchronise (3). .SH "SEE ALSO" .BR libcoopgamma.h (0), .BR libcoopgamma_filter_query_initialise (3), .BR libcoopgamma_filter_table_initialise (3), .BR libcoopgamma_set_gamma_send (3), .BR libcoopgamma_set_gamma_recv (3), .BR libcoopgamma_get_crtcs_sync (3), .BR libcoopgamma_get_gamma_info_sync (3), .BR libcoopgamma_get_gamma_sync (3)