1 /* Generated by wayland-scanner 1.22.0 */
2 
3 /*
4  * Copyright © 2008-2011 Kristian Høgsberg
5  * Copyright © 2010-2011 Intel Corporation
6  * Copyright © 2012-2013 Collabora, Ltd.
7  *
8  * Permission is hereby granted, free of charge, to any person
9  * obtaining a copy of this software and associated documentation files
10  * (the "Software"), to deal in the Software without restriction,
11  * including without limitation the rights to use, copy, modify, merge,
12  * publish, distribute, sublicense, and/or sell copies of the Software,
13  * and to permit persons to whom the Software is furnished to do so,
14  * subject to the following conditions:
15  *
16  * The above copyright notice and this permission notice (including the
17  * next paragraph) shall be included in all copies or substantial
18  * portions of the Software.
19  *
20  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23  * NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
24  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
25  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
26  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27  * SOFTWARE.
28  */
29 
30 #include <stdlib.h>
31 #include <stdint.h>
32 #include "wayland-util.h"
33 
34 #ifndef __has_attribute
35 # define __has_attribute(x) 0  /* Compatibility with non-clang compilers. */
36 #endif
37 
38 #if (__has_attribute(visibility) || defined(__GNUC__) && __GNUC__ >= 4)
39 #define WL_PRIVATE __attribute__ ((visibility("hidden")))
40 #else
41 #define WL_PRIVATE
42 #endif
43 
44 extern const struct wl_interface wl_buffer_interface;
45 extern const struct wl_interface wl_callback_interface;
46 extern const struct wl_interface wl_data_device_interface;
47 extern const struct wl_interface wl_data_offer_interface;
48 extern const struct wl_interface wl_data_source_interface;
49 extern const struct wl_interface wl_keyboard_interface;
50 extern const struct wl_interface wl_output_interface;
51 extern const struct wl_interface wl_pointer_interface;
52 extern const struct wl_interface wl_region_interface;
53 extern const struct wl_interface wl_registry_interface;
54 extern const struct wl_interface wl_seat_interface;
55 extern const struct wl_interface wl_shell_surface_interface;
56 extern const struct wl_interface wl_shm_pool_interface;
57 extern const struct wl_interface wl_subsurface_interface;
58 extern const struct wl_interface wl_surface_interface;
59 extern const struct wl_interface wl_touch_interface;
60 
61 static const struct wl_interface *wayland_types[] = {
62 	NULL,
63 	NULL,
64 	NULL,
65 	NULL,
66 	NULL,
67 	NULL,
68 	NULL,
69 	NULL,
70 	&wl_callback_interface,
71 	&wl_registry_interface,
72 	&wl_surface_interface,
73 	&wl_region_interface,
74 	&wl_buffer_interface,
75 	NULL,
76 	NULL,
77 	NULL,
78 	NULL,
79 	NULL,
80 	&wl_shm_pool_interface,
81 	NULL,
82 	NULL,
83 	&wl_data_source_interface,
84 	&wl_surface_interface,
85 	&wl_surface_interface,
86 	NULL,
87 	&wl_data_source_interface,
88 	NULL,
89 	&wl_data_offer_interface,
90 	NULL,
91 	&wl_surface_interface,
92 	NULL,
93 	NULL,
94 	&wl_data_offer_interface,
95 	&wl_data_offer_interface,
96 	&wl_data_source_interface,
97 	&wl_data_device_interface,
98 	&wl_seat_interface,
99 	&wl_shell_surface_interface,
100 	&wl_surface_interface,
101 	&wl_seat_interface,
102 	NULL,
103 	&wl_seat_interface,
104 	NULL,
105 	NULL,
106 	&wl_surface_interface,
107 	NULL,
108 	NULL,
109 	NULL,
110 	NULL,
111 	NULL,
112 	&wl_output_interface,
113 	&wl_seat_interface,
114 	NULL,
115 	&wl_surface_interface,
116 	NULL,
117 	NULL,
118 	NULL,
119 	&wl_output_interface,
120 	&wl_buffer_interface,
121 	NULL,
122 	NULL,
123 	&wl_callback_interface,
124 	&wl_region_interface,
125 	&wl_region_interface,
126 	&wl_output_interface,
127 	&wl_output_interface,
128 	&wl_pointer_interface,
129 	&wl_keyboard_interface,
130 	&wl_touch_interface,
131 	NULL,
132 	&wl_surface_interface,
133 	NULL,
134 	NULL,
135 	NULL,
136 	&wl_surface_interface,
137 	NULL,
138 	NULL,
139 	NULL,
140 	&wl_surface_interface,
141 	NULL,
142 	&wl_surface_interface,
143 	NULL,
144 	NULL,
145 	&wl_surface_interface,
146 	NULL,
147 	NULL,
148 	&wl_surface_interface,
149 	NULL,
150 	NULL,
151 	NULL,
152 	&wl_subsurface_interface,
153 	&wl_surface_interface,
154 	&wl_surface_interface,
155 	&wl_surface_interface,
156 	&wl_surface_interface,
157 };
158 
159 static const struct wl_message wl_display_requests[] = {
160 	{ "sync", "n", wayland_types + 8 },
161 	{ "get_registry", "n", wayland_types + 9 },
162 };
163 
164 static const struct wl_message wl_display_events[] = {
165 	{ "error", "ous", wayland_types + 0 },
166 	{ "delete_id", "u", wayland_types + 0 },
167 };
168 
169 WL_PRIVATE const struct wl_interface wl_display_interface = {
170 	"wl_display", 1,
171 	2, wl_display_requests,
172 	2, wl_display_events,
173 };
174 
175 static const struct wl_message wl_registry_requests[] = {
176 	{ "bind", "usun", wayland_types + 0 },
177 };
178 
179 static const struct wl_message wl_registry_events[] = {
180 	{ "global", "usu", wayland_types + 0 },
181 	{ "global_remove", "u", wayland_types + 0 },
182 };
183 
184 WL_PRIVATE const struct wl_interface wl_registry_interface = {
185 	"wl_registry", 1,
186 	1, wl_registry_requests,
187 	2, wl_registry_events,
188 };
189 
190 static const struct wl_message wl_callback_events[] = {
191 	{ "done", "u", wayland_types + 0 },
192 };
193 
194 WL_PRIVATE const struct wl_interface wl_callback_interface = {
195 	"wl_callback", 1,
196 	0, NULL,
197 	1, wl_callback_events,
198 };
199 
200 static const struct wl_message wl_compositor_requests[] = {
201 	{ "create_surface", "n", wayland_types + 10 },
202 	{ "create_region", "n", wayland_types + 11 },
203 };
204 
205 WL_PRIVATE const struct wl_interface wl_compositor_interface = {
206 	"wl_compositor", 6,
207 	2, wl_compositor_requests,
208 	0, NULL,
209 };
210 
211 static const struct wl_message wl_shm_pool_requests[] = {
212 	{ "create_buffer", "niiiiu", wayland_types + 12 },
213 	{ "destroy", "", wayland_types + 0 },
214 	{ "resize", "i", wayland_types + 0 },
215 };
216 
217 WL_PRIVATE const struct wl_interface wl_shm_pool_interface = {
218 	"wl_shm_pool", 1,
219 	3, wl_shm_pool_requests,
220 	0, NULL,
221 };
222 
223 static const struct wl_message wl_shm_requests[] = {
224 	{ "create_pool", "nhi", wayland_types + 18 },
225 };
226 
227 static const struct wl_message wl_shm_events[] = {
228 	{ "format", "u", wayland_types + 0 },
229 };
230 
231 WL_PRIVATE const struct wl_interface wl_shm_interface = {
232 	"wl_shm", 1,
233 	1, wl_shm_requests,
234 	1, wl_shm_events,
235 };
236 
237 static const struct wl_message wl_buffer_requests[] = {
238 	{ "destroy", "", wayland_types + 0 },
239 };
240 
241 static const struct wl_message wl_buffer_events[] = {
242 	{ "release", "", wayland_types + 0 },
243 };
244 
245 WL_PRIVATE const struct wl_interface wl_buffer_interface = {
246 	"wl_buffer", 1,
247 	1, wl_buffer_requests,
248 	1, wl_buffer_events,
249 };
250 
251 static const struct wl_message wl_data_offer_requests[] = {
252 	{ "accept", "u?s", wayland_types + 0 },
253 	{ "receive", "sh", wayland_types + 0 },
254 	{ "destroy", "", wayland_types + 0 },
255 	{ "finish", "3", wayland_types + 0 },
256 	{ "set_actions", "3uu", wayland_types + 0 },
257 };
258 
259 static const struct wl_message wl_data_offer_events[] = {
260 	{ "offer", "s", wayland_types + 0 },
261 	{ "source_actions", "3u", wayland_types + 0 },
262 	{ "action", "3u", wayland_types + 0 },
263 };
264 
265 WL_PRIVATE const struct wl_interface wl_data_offer_interface = {
266 	"wl_data_offer", 3,
267 	5, wl_data_offer_requests,
268 	3, wl_data_offer_events,
269 };
270 
271 static const struct wl_message wl_data_source_requests[] = {
272 	{ "offer", "s", wayland_types + 0 },
273 	{ "destroy", "", wayland_types + 0 },
274 	{ "set_actions", "3u", wayland_types + 0 },
275 };
276 
277 static const struct wl_message wl_data_source_events[] = {
278 	{ "target", "?s", wayland_types + 0 },
279 	{ "send", "sh", wayland_types + 0 },
280 	{ "cancelled", "", wayland_types + 0 },
281 	{ "dnd_drop_performed", "3", wayland_types + 0 },
282 	{ "dnd_finished", "3", wayland_types + 0 },
283 	{ "action", "3u", wayland_types + 0 },
284 };
285 
286 WL_PRIVATE const struct wl_interface wl_data_source_interface = {
287 	"wl_data_source", 3,
288 	3, wl_data_source_requests,
289 	6, wl_data_source_events,
290 };
291 
292 static const struct wl_message wl_data_device_requests[] = {
293 	{ "start_drag", "?oo?ou", wayland_types + 21 },
294 	{ "set_selection", "?ou", wayland_types + 25 },
295 	{ "release", "2", wayland_types + 0 },
296 };
297 
298 static const struct wl_message wl_data_device_events[] = {
299 	{ "data_offer", "n", wayland_types + 27 },
300 	{ "enter", "uoff?o", wayland_types + 28 },
301 	{ "leave", "", wayland_types + 0 },
302 	{ "motion", "uff", wayland_types + 0 },
303 	{ "drop", "", wayland_types + 0 },
304 	{ "selection", "?o", wayland_types + 33 },
305 };
306 
307 WL_PRIVATE const struct wl_interface wl_data_device_interface = {
308 	"wl_data_device", 3,
309 	3, wl_data_device_requests,
310 	6, wl_data_device_events,
311 };
312 
313 static const struct wl_message wl_data_device_manager_requests[] = {
314 	{ "create_data_source", "n", wayland_types + 34 },
315 	{ "get_data_device", "no", wayland_types + 35 },
316 };
317 
318 WL_PRIVATE const struct wl_interface wl_data_device_manager_interface = {
319 	"wl_data_device_manager", 3,
320 	2, wl_data_device_manager_requests,
321 	0, NULL,
322 };
323 
324 static const struct wl_message wl_shell_requests[] = {
325 	{ "get_shell_surface", "no", wayland_types + 37 },
326 };
327 
328 WL_PRIVATE const struct wl_interface wl_shell_interface = {
329 	"wl_shell", 1,
330 	1, wl_shell_requests,
331 	0, NULL,
332 };
333 
334 static const struct wl_message wl_shell_surface_requests[] = {
335 	{ "pong", "u", wayland_types + 0 },
336 	{ "move", "ou", wayland_types + 39 },
337 	{ "resize", "ouu", wayland_types + 41 },
338 	{ "set_toplevel", "", wayland_types + 0 },
339 	{ "set_transient", "oiiu", wayland_types + 44 },
340 	{ "set_fullscreen", "uu?o", wayland_types + 48 },
341 	{ "set_popup", "ouoiiu", wayland_types + 51 },
342 	{ "set_maximized", "?o", wayland_types + 57 },
343 	{ "set_title", "s", wayland_types + 0 },
344 	{ "set_class", "s", wayland_types + 0 },
345 };
346 
347 static const struct wl_message wl_shell_surface_events[] = {
348 	{ "ping", "u", wayland_types + 0 },
349 	{ "configure", "uii", wayland_types + 0 },
350 	{ "popup_done", "", wayland_types + 0 },
351 };
352 
353 WL_PRIVATE const struct wl_interface wl_shell_surface_interface = {
354 	"wl_shell_surface", 1,
355 	10, wl_shell_surface_requests,
356 	3, wl_shell_surface_events,
357 };
358 
359 static const struct wl_message wl_surface_requests[] = {
360 	{ "destroy", "", wayland_types + 0 },
361 	{ "attach", "?oii", wayland_types + 58 },
362 	{ "damage", "iiii", wayland_types + 0 },
363 	{ "frame", "n", wayland_types + 61 },
364 	{ "set_opaque_region", "?o", wayland_types + 62 },
365 	{ "set_input_region", "?o", wayland_types + 63 },
366 	{ "commit", "", wayland_types + 0 },
367 	{ "set_buffer_transform", "2i", wayland_types + 0 },
368 	{ "set_buffer_scale", "3i", wayland_types + 0 },
369 	{ "damage_buffer", "4iiii", wayland_types + 0 },
370 	{ "offset", "5ii", wayland_types + 0 },
371 };
372 
373 static const struct wl_message wl_surface_events[] = {
374 	{ "enter", "o", wayland_types + 64 },
375 	{ "leave", "o", wayland_types + 65 },
376 	{ "preferred_buffer_scale", "6i", wayland_types + 0 },
377 	{ "preferred_buffer_transform", "6u", wayland_types + 0 },
378 };
379 
380 WL_PRIVATE const struct wl_interface wl_surface_interface = {
381 	"wl_surface", 6,
382 	11, wl_surface_requests,
383 	4, wl_surface_events,
384 };
385 
386 static const struct wl_message wl_seat_requests[] = {
387 	{ "get_pointer", "n", wayland_types + 66 },
388 	{ "get_keyboard", "n", wayland_types + 67 },
389 	{ "get_touch", "n", wayland_types + 68 },
390 	{ "release", "5", wayland_types + 0 },
391 };
392 
393 static const struct wl_message wl_seat_events[] = {
394 	{ "capabilities", "u", wayland_types + 0 },
395 	{ "name", "2s", wayland_types + 0 },
396 };
397 
398 WL_PRIVATE const struct wl_interface wl_seat_interface = {
399 	"wl_seat", 9,
400 	4, wl_seat_requests,
401 	2, wl_seat_events,
402 };
403 
404 static const struct wl_message wl_pointer_requests[] = {
405 	{ "set_cursor", "u?oii", wayland_types + 69 },
406 	{ "release", "3", wayland_types + 0 },
407 };
408 
409 static const struct wl_message wl_pointer_events[] = {
410 	{ "enter", "uoff", wayland_types + 73 },
411 	{ "leave", "uo", wayland_types + 77 },
412 	{ "motion", "uff", wayland_types + 0 },
413 	{ "button", "uuuu", wayland_types + 0 },
414 	{ "axis", "uuf", wayland_types + 0 },
415 	{ "frame", "5", wayland_types + 0 },
416 	{ "axis_source", "5u", wayland_types + 0 },
417 	{ "axis_stop", "5uu", wayland_types + 0 },
418 	{ "axis_discrete", "5ui", wayland_types + 0 },
419 	{ "axis_value120", "8ui", wayland_types + 0 },
420 	{ "axis_relative_direction", "9uu", wayland_types + 0 },
421 };
422 
423 WL_PRIVATE const struct wl_interface wl_pointer_interface = {
424 	"wl_pointer", 9,
425 	2, wl_pointer_requests,
426 	11, wl_pointer_events,
427 };
428 
429 static const struct wl_message wl_keyboard_requests[] = {
430 	{ "release", "3", wayland_types + 0 },
431 };
432 
433 static const struct wl_message wl_keyboard_events[] = {
434 	{ "keymap", "uhu", wayland_types + 0 },
435 	{ "enter", "uoa", wayland_types + 79 },
436 	{ "leave", "uo", wayland_types + 82 },
437 	{ "key", "uuuu", wayland_types + 0 },
438 	{ "modifiers", "uuuuu", wayland_types + 0 },
439 	{ "repeat_info", "4ii", wayland_types + 0 },
440 };
441 
442 WL_PRIVATE const struct wl_interface wl_keyboard_interface = {
443 	"wl_keyboard", 9,
444 	1, wl_keyboard_requests,
445 	6, wl_keyboard_events,
446 };
447 
448 static const struct wl_message wl_touch_requests[] = {
449 	{ "release", "3", wayland_types + 0 },
450 };
451 
452 static const struct wl_message wl_touch_events[] = {
453 	{ "down", "uuoiff", wayland_types + 84 },
454 	{ "up", "uui", wayland_types + 0 },
455 	{ "motion", "uiff", wayland_types + 0 },
456 	{ "frame", "", wayland_types + 0 },
457 	{ "cancel", "", wayland_types + 0 },
458 	{ "shape", "6iff", wayland_types + 0 },
459 	{ "orientation", "6if", wayland_types + 0 },
460 };
461 
462 WL_PRIVATE const struct wl_interface wl_touch_interface = {
463 	"wl_touch", 9,
464 	1, wl_touch_requests,
465 	7, wl_touch_events,
466 };
467 
468 static const struct wl_message wl_output_requests[] = {
469 	{ "release", "3", wayland_types + 0 },
470 };
471 
472 static const struct wl_message wl_output_events[] = {
473 	{ "geometry", "iiiiissi", wayland_types + 0 },
474 	{ "mode", "uiii", wayland_types + 0 },
475 	{ "done", "2", wayland_types + 0 },
476 	{ "scale", "2i", wayland_types + 0 },
477 	{ "name", "4s", wayland_types + 0 },
478 	{ "description", "4s", wayland_types + 0 },
479 };
480 
481 WL_PRIVATE const struct wl_interface wl_output_interface = {
482 	"wl_output", 4,
483 	1, wl_output_requests,
484 	6, wl_output_events,
485 };
486 
487 static const struct wl_message wl_region_requests[] = {
488 	{ "destroy", "", wayland_types + 0 },
489 	{ "add", "iiii", wayland_types + 0 },
490 	{ "subtract", "iiii", wayland_types + 0 },
491 };
492 
493 WL_PRIVATE const struct wl_interface wl_region_interface = {
494 	"wl_region", 1,
495 	3, wl_region_requests,
496 	0, NULL,
497 };
498 
499 static const struct wl_message wl_subcompositor_requests[] = {
500 	{ "destroy", "", wayland_types + 0 },
501 	{ "get_subsurface", "noo", wayland_types + 90 },
502 };
503 
504 WL_PRIVATE const struct wl_interface wl_subcompositor_interface = {
505 	"wl_subcompositor", 1,
506 	2, wl_subcompositor_requests,
507 	0, NULL,
508 };
509 
510 static const struct wl_message wl_subsurface_requests[] = {
511 	{ "destroy", "", wayland_types + 0 },
512 	{ "set_position", "ii", wayland_types + 0 },
513 	{ "place_above", "o", wayland_types + 93 },
514 	{ "place_below", "o", wayland_types + 94 },
515 	{ "set_sync", "", wayland_types + 0 },
516 	{ "set_desync", "", wayland_types + 0 },
517 };
518 
519 WL_PRIVATE const struct wl_interface wl_subsurface_interface = {
520 	"wl_subsurface", 1,
521 	6, wl_subsurface_requests,
522 	0, NULL,
523 };
524 
525