aboutsummaryrefslogtreecommitdiffstats
path: root/man3/LIBAXL_REQUEST_LIST_EXTENSIONS.3
blob: 6b0d4aa0731849bfef0edb4f13f8a8fba512a4c8 (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
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
.TH LIBAXL_REQUEST_LIST_EXTENSIONS 3 libaxl
.SH NAME
LIBAXL_REQUEST_LIST_EXTENSIONS - Get support display server protocol extension
.SH SYNOPSIS
.nf
#include <libaxl.h>

#define LIBAXL_REQUEST_LIST_EXTENSIONS 99
struct libaxl_request_list_extensions {
        uint8_t  \fIopcode\fP;
        uint8_t  \fI__pad1\fP;
        uint16_t \fI_request_length\fP;
};
.fi
.SH DESCRIPTION
Requests the a list of protocol extensions supported
by the display server
.PP
The value of the
.I opcode
field shall be
.I LIBAXL_REQUEST_LIST_EXTENSIONS
to signify that the request is of the
request described in this document.
.PP
Other fields are filled in automatically by the
.BR libaxl_send_request (3)
function.
.SH ERRORS
None.
.SH REPLIES
.nf
struct libaxl_reply_list_extensions {
        uint8_t             \fI__one\fP;
        uint8_t             \fInumber_of_names\fP;
        uint16_t            \fIsequence_number\fP;
        uint32_t            \fI_reply_length\fP;
        uint8_t             \fI__unused\fP[24];
        struct libaxl_str8 *\fInames\fP;
};

struct libaxl_str8 {
        uint8_t \fIlength\fP;
        char   *\fIname\fP;
};
.fi
.PP
The display server shall, unless it returns an
error, return one
.B "struct libaxl_reply_list_extensions"
with the
.I number_of_names
field set to the number of support extensions,
and with their names stored in
.IR names ,
where
.IR names[i].length ,
for indices
.I i
in [
.IR 0 ,
.IR number_of_names ),
is the length of
.IR names[i].name ,
which is the name of a supported extension.
.PP
Protocol-extension names are encoded in ISO Latin-1,
a superset of ASCII, and a subset, to the lowest 256
codepoints of UCS.
.SH SEE ALSO
.BR libaxl_send_request (3),
.BR libaxl_receive (3),
.BR LIBAXL_REQUEST_QUERY_EXTENSION (3)