aboutsummaryrefslogtreecommitdiffstats
path: root/libcoopgamma_get_crtcs_sync.c
blob: 91f31b888c8ffe451266f5055d9af8e63618bb78 (plain) (blame)
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
/* See LICENSE file for copyright and license details. */
#include "common.h"


/**
 * List all available CRTC:s, 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   ctx  The state of the library, must be connected
 * @return       A `NULL`-terminated list of names. You should only free
 *               the outer pointer, inner pointers are subpointers of the
 *               outer pointer and cannot be freed. `NULL` on error, in
 *               which case `ctx->error` (rather than `errno`) is read
 *               for information about the error.
 */
char **
libcoopgamma_get_crtcs_sync(libcoopgamma_context_t *restrict ctx)
{
	SYNC_CALL(libcoopgamma_get_crtcs_send(ctx, &async),
	          libcoopgamma_get_crtcs_recv(ctx, &async), (copy_errno(ctx), NULL));
}