xref: /aosp_15_r20/external/crosvm/gpu_display/src/dwl.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker // Copyright 2019 The ChromiumOS Authors
2*bb4ee6a4SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*bb4ee6a4SAndroid Build Coastguard Worker // found in the LICENSE file.
4*bb4ee6a4SAndroid Build Coastguard Worker 
5*bb4ee6a4SAndroid Build Coastguard Worker /* automatically generated by rust-bindgen */
6*bb4ee6a4SAndroid Build Coastguard Worker 
7*bb4ee6a4SAndroid Build Coastguard Worker /// @page page_xdg_shell_unstable_v6 The xdg_shell_unstable_v6 protocol
8*bb4ee6a4SAndroid Build Coastguard Worker /// @section page_ifaces_xdg_shell_unstable_v6 Interfaces
9*bb4ee6a4SAndroid Build Coastguard Worker /// - @subpage page_iface_zxdg_shell_v6 - create desktop-style surfaces
10*bb4ee6a4SAndroid Build Coastguard Worker /// - @subpage page_iface_zxdg_positioner_v6 - child surface positioner
11*bb4ee6a4SAndroid Build Coastguard Worker /// - @subpage page_iface_zxdg_surface_v6 - desktop user interface surface base interface
12*bb4ee6a4SAndroid Build Coastguard Worker /// - @subpage page_iface_zxdg_toplevel_v6 - toplevel surface
13*bb4ee6a4SAndroid Build Coastguard Worker /// - @subpage page_iface_zxdg_popup_v6 - short-lived, popup surfaces for menus
14*bb4ee6a4SAndroid Build Coastguard Worker ///
15*bb4ee6a4SAndroid Build Coastguard Worker /// @section page_copyright_xdg_shell_unstable_v6 Copyright
16*bb4ee6a4SAndroid Build Coastguard Worker /// <pre>
17*bb4ee6a4SAndroid Build Coastguard Worker ///
18*bb4ee6a4SAndroid Build Coastguard Worker /// Copyright © 2008-2013 Kristian Høgsberg
19*bb4ee6a4SAndroid Build Coastguard Worker /// Copyright © 2013      Rafael Antognolli
20*bb4ee6a4SAndroid Build Coastguard Worker /// Copyright © 2013      Jasper St. Pierre
21*bb4ee6a4SAndroid Build Coastguard Worker /// Copyright © 2010-2013 Intel Corporation
22*bb4ee6a4SAndroid Build Coastguard Worker ///
23*bb4ee6a4SAndroid Build Coastguard Worker /// Permission is hereby granted, free of charge, to any person obtaining a
24*bb4ee6a4SAndroid Build Coastguard Worker /// copy of this software and associated documentation files (the "Software"),
25*bb4ee6a4SAndroid Build Coastguard Worker /// to deal in the Software without restriction, including without limitation
26*bb4ee6a4SAndroid Build Coastguard Worker /// the rights to use, copy, modify, merge, publish, distribute, sublicense,
27*bb4ee6a4SAndroid Build Coastguard Worker /// and/or sell copies of the Software, and to permit persons to whom the
28*bb4ee6a4SAndroid Build Coastguard Worker /// Software is furnished to do so, subject to the following conditions:
29*bb4ee6a4SAndroid Build Coastguard Worker ///
30*bb4ee6a4SAndroid Build Coastguard Worker /// The above copyright notice and this permission notice (including the next
31*bb4ee6a4SAndroid Build Coastguard Worker /// paragraph) shall be included in all copies or substantial portions of the
32*bb4ee6a4SAndroid Build Coastguard Worker /// Software.
33*bb4ee6a4SAndroid Build Coastguard Worker ///
34*bb4ee6a4SAndroid Build Coastguard Worker /// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35*bb4ee6a4SAndroid Build Coastguard Worker /// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
36*bb4ee6a4SAndroid Build Coastguard Worker /// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
37*bb4ee6a4SAndroid Build Coastguard Worker /// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
38*bb4ee6a4SAndroid Build Coastguard Worker /// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39*bb4ee6a4SAndroid Build Coastguard Worker /// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
40*bb4ee6a4SAndroid Build Coastguard Worker /// DEALINGS IN THE SOFTWARE.
41*bb4ee6a4SAndroid Build Coastguard Worker /// </pre>
42*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
43*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Copy, Clone)]
44*bb4ee6a4SAndroid Build Coastguard Worker pub struct wl_output {
45*bb4ee6a4SAndroid Build Coastguard Worker     _unused: [u8; 0],
46*bb4ee6a4SAndroid Build Coastguard Worker }
47*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
48*bb4ee6a4SAndroid Build Coastguard Worker pub struct dwl_context {
49*bb4ee6a4SAndroid Build Coastguard Worker     pub _bindgen_opaque_blob: [u64; 52usize],
50*bb4ee6a4SAndroid Build Coastguard Worker }
51*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
52*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Copy, Clone)]
53*bb4ee6a4SAndroid Build Coastguard Worker pub struct dwl_dmabuf {
54*bb4ee6a4SAndroid Build Coastguard Worker     pub _bindgen_opaque_blob: [u64; 3usize],
55*bb4ee6a4SAndroid Build Coastguard Worker }
56*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
57*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Copy, Clone)]
58*bb4ee6a4SAndroid Build Coastguard Worker pub struct dwl_surface {
59*bb4ee6a4SAndroid Build Coastguard Worker     pub _bindgen_opaque_blob: [u64; 12usize],
60*bb4ee6a4SAndroid Build Coastguard Worker }
61*bb4ee6a4SAndroid Build Coastguard Worker 
62*bb4ee6a4SAndroid Build Coastguard Worker #[allow(dead_code)]
63*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_KEYBOARD_KEY_STATE_RELEASED: i32 = 0;
64*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_KEYBOARD_KEY_STATE_PRESSED: i32 = 1;
65*bb4ee6a4SAndroid Build Coastguard Worker 
66*bb4ee6a4SAndroid Build Coastguard Worker #[allow(dead_code)]
67*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_EVENT_TYPE_KEYBOARD_ENTER: u32 = 0x00;
68*bb4ee6a4SAndroid Build Coastguard Worker #[allow(dead_code)]
69*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_EVENT_TYPE_KEYBOARD_LEAVE: u32 = 0x01;
70*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_EVENT_TYPE_KEYBOARD_KEY: u32 = 0x02;
71*bb4ee6a4SAndroid Build Coastguard Worker #[allow(dead_code)]
72*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_EVENT_TYPE_POINTER_ENTER: u32 = 0x10;
73*bb4ee6a4SAndroid Build Coastguard Worker #[allow(dead_code)]
74*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_EVENT_TYPE_POINTER_LEAVE: u32 = 0x11;
75*bb4ee6a4SAndroid Build Coastguard Worker #[allow(dead_code)]
76*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_EVENT_TYPE_POINTER_MOVE: u32 = 0x12;
77*bb4ee6a4SAndroid Build Coastguard Worker #[allow(dead_code)]
78*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_EVENT_TYPE_POINTER_BUTTON: u32 = 0x13;
79*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_EVENT_TYPE_TOUCH_DOWN: u32 = 0x20;
80*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_EVENT_TYPE_TOUCH_UP: u32 = 0x21;
81*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_EVENT_TYPE_TOUCH_MOTION: u32 = 0x22;
82*bb4ee6a4SAndroid Build Coastguard Worker 
83*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_SURFACE_FLAG_RECEIVE_INPUT: u32 = 1 << 0;
84*bb4ee6a4SAndroid Build Coastguard Worker pub const DWL_SURFACE_FLAG_HAS_ALPHA: u32 = 1 << 1;
85*bb4ee6a4SAndroid Build Coastguard Worker 
86*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
87*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Copy, Clone)]
88*bb4ee6a4SAndroid Build Coastguard Worker pub struct dwl_event {
89*bb4ee6a4SAndroid Build Coastguard Worker     pub surface_descriptor: *const ::std::ffi::c_void,
90*bb4ee6a4SAndroid Build Coastguard Worker     pub event_type: u32,
91*bb4ee6a4SAndroid Build Coastguard Worker     pub params: [i32; 3usize],
92*bb4ee6a4SAndroid Build Coastguard Worker }
93*bb4ee6a4SAndroid Build Coastguard Worker 
94*bb4ee6a4SAndroid Build Coastguard Worker #[allow(non_camel_case_types)]
95*bb4ee6a4SAndroid Build Coastguard Worker pub type dwl_error_callback_type =
96*bb4ee6a4SAndroid Build Coastguard Worker     ::std::option::Option<unsafe extern "C" fn(message: *const ::std::os::raw::c_char)>;
97*bb4ee6a4SAndroid Build Coastguard Worker 
98*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_context_new(log_proc: dwl_error_callback_type) -> *mut dwl_context99*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_context_new(log_proc: dwl_error_callback_type) -> *mut dwl_context;
100*bb4ee6a4SAndroid Build Coastguard Worker }
101*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_context_destroy(self_: *mut *mut dwl_context)102*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_context_destroy(self_: *mut *mut dwl_context);
103*bb4ee6a4SAndroid Build Coastguard Worker }
104*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_context_setup( self_: *mut dwl_context, socket_path: *const ::std::os::raw::c_char, ) -> bool105*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_context_setup(
106*bb4ee6a4SAndroid Build Coastguard Worker         self_: *mut dwl_context,
107*bb4ee6a4SAndroid Build Coastguard Worker         socket_path: *const ::std::os::raw::c_char,
108*bb4ee6a4SAndroid Build Coastguard Worker     ) -> bool;
109*bb4ee6a4SAndroid Build Coastguard Worker }
110*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_context_fd(self_: *mut dwl_context) -> ::std::os::raw::c_int111*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_context_fd(self_: *mut dwl_context) -> ::std::os::raw::c_int;
112*bb4ee6a4SAndroid Build Coastguard Worker }
113*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_context_dispatch(self_: *mut dwl_context)114*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_context_dispatch(self_: *mut dwl_context);
115*bb4ee6a4SAndroid Build Coastguard Worker }
116*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_context_dmabuf_new( self_: *mut dwl_context, import_id: u32, fd: ::std::os::raw::c_int, offset: u32, stride: u32, modifiers: u64, width: u32, height: u32, fourcc: u32, ) -> *mut dwl_dmabuf117*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_context_dmabuf_new(
118*bb4ee6a4SAndroid Build Coastguard Worker         self_: *mut dwl_context,
119*bb4ee6a4SAndroid Build Coastguard Worker         import_id: u32,
120*bb4ee6a4SAndroid Build Coastguard Worker         fd: ::std::os::raw::c_int,
121*bb4ee6a4SAndroid Build Coastguard Worker         offset: u32,
122*bb4ee6a4SAndroid Build Coastguard Worker         stride: u32,
123*bb4ee6a4SAndroid Build Coastguard Worker         modifiers: u64,
124*bb4ee6a4SAndroid Build Coastguard Worker         width: u32,
125*bb4ee6a4SAndroid Build Coastguard Worker         height: u32,
126*bb4ee6a4SAndroid Build Coastguard Worker         fourcc: u32,
127*bb4ee6a4SAndroid Build Coastguard Worker     ) -> *mut dwl_dmabuf;
128*bb4ee6a4SAndroid Build Coastguard Worker }
129*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_dmabuf_destroy(self_: *mut *mut dwl_dmabuf)130*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_dmabuf_destroy(self_: *mut *mut dwl_dmabuf);
131*bb4ee6a4SAndroid Build Coastguard Worker }
132*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_context_surface_new( self_: *mut dwl_context, parent_id: u32, surface_id: u32, shm_fd: ::std::os::raw::c_int, shm_size: usize, buffer_size: usize, width: u32, height: u32, stride: u32, flags: u32, ) -> *mut dwl_surface133*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_context_surface_new(
134*bb4ee6a4SAndroid Build Coastguard Worker         self_: *mut dwl_context,
135*bb4ee6a4SAndroid Build Coastguard Worker         parent_id: u32,
136*bb4ee6a4SAndroid Build Coastguard Worker         surface_id: u32,
137*bb4ee6a4SAndroid Build Coastguard Worker         shm_fd: ::std::os::raw::c_int,
138*bb4ee6a4SAndroid Build Coastguard Worker         shm_size: usize,
139*bb4ee6a4SAndroid Build Coastguard Worker         buffer_size: usize,
140*bb4ee6a4SAndroid Build Coastguard Worker         width: u32,
141*bb4ee6a4SAndroid Build Coastguard Worker         height: u32,
142*bb4ee6a4SAndroid Build Coastguard Worker         stride: u32,
143*bb4ee6a4SAndroid Build Coastguard Worker         flags: u32,
144*bb4ee6a4SAndroid Build Coastguard Worker     ) -> *mut dwl_surface;
145*bb4ee6a4SAndroid Build Coastguard Worker }
146*bb4ee6a4SAndroid Build Coastguard Worker 
147*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_surface_destroy(self_: *mut *mut dwl_surface)148*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_surface_destroy(self_: *mut *mut dwl_surface);
149*bb4ee6a4SAndroid Build Coastguard Worker }
150*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_surface_commit(self_: *mut dwl_surface)151*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_surface_commit(self_: *mut dwl_surface);
152*bb4ee6a4SAndroid Build Coastguard Worker }
153*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_surface_buffer_in_use(self_: *mut dwl_surface, buffer_index: usize) -> bool154*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_surface_buffer_in_use(self_: *mut dwl_surface, buffer_index: usize) -> bool;
155*bb4ee6a4SAndroid Build Coastguard Worker }
156*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_surface_flip(self_: *mut dwl_surface, buffer_index: usize)157*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_surface_flip(self_: *mut dwl_surface, buffer_index: usize);
158*bb4ee6a4SAndroid Build Coastguard Worker }
159*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_surface_flip_to(self_: *mut dwl_surface, import_id: u32)160*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_surface_flip_to(self_: *mut dwl_surface, import_id: u32);
161*bb4ee6a4SAndroid Build Coastguard Worker }
162*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_surface_close_requested(self_: *const dwl_surface) -> bool163*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_surface_close_requested(self_: *const dwl_surface) -> bool;
164*bb4ee6a4SAndroid Build Coastguard Worker }
165*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_surface_set_position(self_: *mut dwl_surface, x: u32, y: u32)166*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_surface_set_position(self_: *mut dwl_surface, x: u32, y: u32);
167*bb4ee6a4SAndroid Build Coastguard Worker }
168*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_surface_descriptor(self_: *const dwl_surface) -> *const ::std::ffi::c_void169*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_surface_descriptor(self_: *const dwl_surface) -> *const ::std::ffi::c_void;
170*bb4ee6a4SAndroid Build Coastguard Worker }
171*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_context_pending_events(self_: *const dwl_context) -> bool172*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_context_pending_events(self_: *const dwl_context) -> bool;
173*bb4ee6a4SAndroid Build Coastguard Worker }
174*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_context_next_event(self_: *mut dwl_context, event: *mut dwl_event)175*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_context_next_event(self_: *mut dwl_context, event: *mut dwl_event);
176*bb4ee6a4SAndroid Build Coastguard Worker }
177*bb4ee6a4SAndroid Build Coastguard Worker extern "C" {
dwl_surface_set_scanout_id(self_: *mut dwl_surface, scanout_id: u32)178*bb4ee6a4SAndroid Build Coastguard Worker     pub fn dwl_surface_set_scanout_id(self_: *mut dwl_surface, scanout_id: u32);
179*bb4ee6a4SAndroid Build Coastguard Worker }
180