xref: /aosp_15_r20/external/mesa3d/src/loader/loader_wayland_helper.h (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1 /*
2  * Copyright © 2022 Red Hat, Inc.
3  *
4  * Permission to use, copy, modify, distribute, and sell this software and its
5  * documentation for any purpose is hereby granted without fee, provided that
6  * the above copyright notice appear in all copies and that both that copyright
7  * notice and this permission notice appear in supporting documentation, and
8  * that the name of the copyright holders not be used in advertising or
9  * publicity pertaining to distribution of the software without specific,
10  * written prior permission.  The copyright holders make no representations
11  * about the suitability of this software for any purpose.  It is provided "as
12  * is" without express or implied warranty.
13  *
14  * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16  * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
20  * OF THIS SOFTWARE.
21  */
22 
23 #ifndef LOADER_WAYLAND_HELPER_HEADER_H
24 #define LOADER_WAYLAND_HELPER_HEADER_H
25 
26 #include <wayland-client.h>
27 
28 #ifndef HAVE_WL_DISPATCH_QUEUE_TIMEOUT
29 
30 #include <util/timespec.h>
31 int
32 wl_display_dispatch_queue_timeout(struct wl_display *display,
33                                   struct wl_event_queue *queue,
34                                   const struct timespec *deadline);
35 #endif
36 
37 #ifndef HAVE_WL_CREATE_QUEUE_WITH_NAME
38 struct wl_event_queue *
39 wl_display_create_queue_with_name(struct wl_display *display,
40                                   const char *name);
41 #endif
42 
43 int
44 loader_wayland_dispatch(struct wl_display *display,
45                         struct wl_event_queue *queue,
46                         struct timespec *end_time);
47 
48 #endif
49