Revert "wayland-drm: constify the callbacks struct"
[mesa.git] / src / egl / wayland / wayland-drm / wayland-drm.h
1 #ifndef WAYLAND_DRM_H
2 #define WAYLAND_DRM_H
3
4 #include <wayland-server.h>
5
6 struct wl_display;
7 struct wl_drm;
8 struct wl_resource;
9
10 struct wl_drm_buffer {
11 struct wl_resource *resource;
12 struct wl_drm *drm;
13 int32_t width, height;
14 uint32_t format;
15 const void *driver_format;
16 int32_t offset[3];
17 int32_t stride[3];
18 void *driver_buffer;
19 };
20
21 struct wayland_drm_callbacks {
22 int (*authenticate)(void *user_data, uint32_t id);
23
24 void (*reference_buffer)(void *user_data, uint32_t name, int fd,
25 struct wl_drm_buffer *buffer);
26
27 void (*release_buffer)(void *user_data, struct wl_drm_buffer *buffer);
28 };
29
30 enum { WAYLAND_DRM_PRIME = 0x01 };
31
32 struct wl_drm_buffer *
33 wayland_drm_buffer_get(struct wl_drm *drm, struct wl_resource *resource);
34
35 struct wl_drm *
36 wayland_drm_init(struct wl_display *display, char *device_name,
37 struct wayland_drm_callbacks *callbacks, void *user_data,
38 uint32_t flags);
39
40 void
41 wayland_drm_uninit(struct wl_drm *drm);
42
43 #endif