wlcs 0.1.0

Bindings/helpers for WLCS (Wayland Conformance Test Suite)
Documentation
/* automatically generated by rust-bindgen 0.64.0 */

//! FFI API for Pointer testing in WLCS. Compositors that implement WLCS pointer testing will use the FFI wrappers that relay on the types defined here.
//!
//! Original C++ source:
//! [](https://github.com/MirServer/wlcs/blob/main/include/wlcs/pointer.h)

#![allow(non_camel_case_types, non_snake_case, missing_docs)]

use wayland_sys::common::wl_fixed_t;

#[doc = " An object to manipulate the server's pointer state"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct WlcsPointer {
    #[doc = "< Version of the struct this instance provides"]
    pub version: u32,
    #[doc = " Move the pointer to the specified location, in compositor coördinate space"]
    pub move_absolute: ::std::option::Option<
        unsafe extern "C" fn(pointer: *mut WlcsPointer, x: wl_fixed_t, y: wl_fixed_t),
    >,
    #[doc = " Move the pointer by the specified amount, in compositor coördinates."]
    pub move_relative: ::std::option::Option<
        unsafe extern "C" fn(pointer: *mut WlcsPointer, dx: wl_fixed_t, dy: wl_fixed_t),
    >,
    #[doc = " Generate a button-up event\n\n \\param button    Button code (as per wl_pointer. eg: BTN_LEFT)"]
    pub button_up: ::std::option::Option<
        unsafe extern "C" fn(pointer: *mut WlcsPointer, button: ::std::os::raw::c_int),
    >,
    #[doc = " Generate a button-down event\n\n \\param button    Button code (as per wl_pointer. eg: BTN_LEFT)"]
    pub button_down: ::std::option::Option<
        unsafe extern "C" fn(pointer: *mut WlcsPointer, button: ::std::os::raw::c_int),
    >,
    #[doc = " Destroy this pointer, freeing any resources."]
    pub destroy: ::std::option::Option<unsafe extern "C" fn(pointer: *mut WlcsPointer)>,
}
#[test]
fn bindgen_test_layout_WlcsPointer() {
    const UNINIT: ::std::mem::MaybeUninit<WlcsPointer> = ::std::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::std::mem::size_of::<WlcsPointer>(),
        48usize,
        concat!("Size of: ", stringify!(WlcsPointer))
    );
    assert_eq!(
        ::std::mem::align_of::<WlcsPointer>(),
        8usize,
        concat!("Alignment of ", stringify!(WlcsPointer))
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).version) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(WlcsPointer),
            "::",
            stringify!(version)
        )
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).move_absolute) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(WlcsPointer),
            "::",
            stringify!(move_absolute)
        )
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).move_relative) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(WlcsPointer),
            "::",
            stringify!(move_relative)
        )
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).button_up) as usize - ptr as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(WlcsPointer),
            "::",
            stringify!(button_up)
        )
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).button_down) as usize - ptr as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(WlcsPointer),
            "::",
            stringify!(button_down)
        )
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).destroy) as usize - ptr as usize },
        40usize,
        concat!(
            "Offset of field: ",
            stringify!(WlcsPointer),
            "::",
            stringify!(destroy)
        )
    );
}
pub type __builtin_va_list = [__va_list_tag; 1usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __va_list_tag {
    pub gp_offset: ::std::os::raw::c_uint,
    pub fp_offset: ::std::os::raw::c_uint,
    pub overflow_arg_area: *mut ::std::os::raw::c_void,
    pub reg_save_area: *mut ::std::os::raw::c_void,
}
#[test]
fn bindgen_test_layout___va_list_tag() {
    const UNINIT: ::std::mem::MaybeUninit<__va_list_tag> = ::std::mem::MaybeUninit::uninit();
    let ptr = UNINIT.as_ptr();
    assert_eq!(
        ::std::mem::size_of::<__va_list_tag>(),
        24usize,
        concat!("Size of: ", stringify!(__va_list_tag))
    );
    assert_eq!(
        ::std::mem::align_of::<__va_list_tag>(),
        8usize,
        concat!("Alignment of ", stringify!(__va_list_tag))
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).gp_offset) as usize - ptr as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(gp_offset)
        )
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).fp_offset) as usize - ptr as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(fp_offset)
        )
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).overflow_arg_area) as usize - ptr as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(overflow_arg_area)
        )
    );
    assert_eq!(
        unsafe { ::std::ptr::addr_of!((*ptr).reg_save_area) as usize - ptr as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list_tag),
            "::",
            stringify!(reg_save_area)
        )
    );
}