pub type va_list = __builtin_va_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct udev([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct udev_device([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_device([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_device_group([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_seat([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_tablet_tool([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_event([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_event_device_notify([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_event_keyboard([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_event_pointer([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_event_touch([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_event_tablet_tool([u8; 0]);
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_event_tablet_pad([u8; 0]);
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_log_priority {
LIBINPUT_LOG_PRIORITY_DEBUG = 10,
LIBINPUT_LOG_PRIORITY_INFO = 20,
LIBINPUT_LOG_PRIORITY_ERROR = 30,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_device_capability {
LIBINPUT_DEVICE_CAP_KEYBOARD = 0,
LIBINPUT_DEVICE_CAP_POINTER = 1,
LIBINPUT_DEVICE_CAP_TOUCH = 2,
LIBINPUT_DEVICE_CAP_TABLET_TOOL = 3,
LIBINPUT_DEVICE_CAP_TABLET_PAD = 4,
LIBINPUT_DEVICE_CAP_GESTURE = 5,
LIBINPUT_DEVICE_CAP_SWITCH = 6,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_key_state {
LIBINPUT_KEY_STATE_RELEASED = 0,
LIBINPUT_KEY_STATE_PRESSED = 1,
}
pub const libinput_led_LIBINPUT_LED_NUM_LOCK: libinput_led = 1;
pub const libinput_led_LIBINPUT_LED_CAPS_LOCK: libinput_led = 2;
pub const libinput_led_LIBINPUT_LED_SCROLL_LOCK: libinput_led = 4;
pub type libinput_led = libc::c_uint;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_button_state {
LIBINPUT_BUTTON_STATE_RELEASED = 0,
LIBINPUT_BUTTON_STATE_PRESSED = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_pointer_axis {
LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL = 0,
LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_pointer_axis_source {
LIBINPUT_POINTER_AXIS_SOURCE_WHEEL = 1,
LIBINPUT_POINTER_AXIS_SOURCE_FINGER = 2,
LIBINPUT_POINTER_AXIS_SOURCE_CONTINUOUS = 3,
LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT = 4,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_tablet_pad_ring_axis_source {
LIBINPUT_TABLET_PAD_RING_SOURCE_UNKNOWN = 1,
LIBINPUT_TABLET_PAD_RING_SOURCE_FINGER = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_tablet_pad_strip_axis_source {
LIBINPUT_TABLET_PAD_STRIP_SOURCE_UNKNOWN = 1,
LIBINPUT_TABLET_PAD_STRIP_SOURCE_FINGER = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_tablet_tool_type {
LIBINPUT_TABLET_TOOL_TYPE_PEN = 1,
LIBINPUT_TABLET_TOOL_TYPE_ERASER = 2,
LIBINPUT_TABLET_TOOL_TYPE_BRUSH = 3,
LIBINPUT_TABLET_TOOL_TYPE_PENCIL = 4,
LIBINPUT_TABLET_TOOL_TYPE_AIRBRUSH = 5,
LIBINPUT_TABLET_TOOL_TYPE_MOUSE = 6,
LIBINPUT_TABLET_TOOL_TYPE_LENS = 7,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_tablet_tool_proximity_state {
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT = 0,
LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_IN = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_tablet_tool_tip_state {
LIBINPUT_TABLET_TOOL_TIP_UP = 0,
LIBINPUT_TABLET_TOOL_TIP_DOWN = 1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_tablet_pad_mode_group([u8; 0]);
extern "C" {
pub fn libinput_device_tablet_pad_get_num_mode_groups(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_tablet_pad_get_mode_group(device:
*mut libinput_device,
index: libc::c_uint)
-> *mut libinput_tablet_pad_mode_group;
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_get_index(group:
*mut libinput_tablet_pad_mode_group)
-> libc::c_uint;
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_get_num_modes(group:
*mut libinput_tablet_pad_mode_group)
-> libc::c_uint;
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_get_mode(group:
*mut libinput_tablet_pad_mode_group)
-> libc::c_uint;
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_has_button(group:
*mut libinput_tablet_pad_mode_group,
button: libc::c_uint)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_has_ring(group:
*mut libinput_tablet_pad_mode_group,
ring: libc::c_uint)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_has_strip(group:
*mut libinput_tablet_pad_mode_group,
strip: libc::c_uint)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_button_is_toggle(group:
*mut libinput_tablet_pad_mode_group,
button:
libc::c_uint)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_ref(group:
*mut libinput_tablet_pad_mode_group)
-> *mut libinput_tablet_pad_mode_group;
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_unref(group:
*mut libinput_tablet_pad_mode_group)
-> *mut libinput_tablet_pad_mode_group;
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_set_user_data(group:
*mut libinput_tablet_pad_mode_group,
user_data:
*mut libc::c_void);
}
extern "C" {
pub fn libinput_tablet_pad_mode_group_get_user_data(group:
*mut libinput_tablet_pad_mode_group)
-> *mut libc::c_void;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_switch_state {
LIBINPUT_SWITCH_STATE_OFF = 0,
LIBINPUT_SWITCH_STATE_ON = 1,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_switch { LIBINPUT_SWITCH_LID = 1, }
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_event_switch([u8; 0]);
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_event_type {
LIBINPUT_EVENT_NONE = 0,
LIBINPUT_EVENT_DEVICE_ADDED = 1,
LIBINPUT_EVENT_DEVICE_REMOVED = 2,
LIBINPUT_EVENT_KEYBOARD_KEY = 300,
LIBINPUT_EVENT_POINTER_MOTION = 400,
LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE = 401,
LIBINPUT_EVENT_POINTER_BUTTON = 402,
LIBINPUT_EVENT_POINTER_AXIS = 403,
LIBINPUT_EVENT_TOUCH_DOWN = 500,
LIBINPUT_EVENT_TOUCH_UP = 501,
LIBINPUT_EVENT_TOUCH_MOTION = 502,
LIBINPUT_EVENT_TOUCH_CANCEL = 503,
LIBINPUT_EVENT_TOUCH_FRAME = 504,
LIBINPUT_EVENT_TABLET_TOOL_AXIS = 600,
LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY = 601,
LIBINPUT_EVENT_TABLET_TOOL_TIP = 602,
LIBINPUT_EVENT_TABLET_TOOL_BUTTON = 603,
LIBINPUT_EVENT_TABLET_PAD_BUTTON = 700,
LIBINPUT_EVENT_TABLET_PAD_RING = 701,
LIBINPUT_EVENT_TABLET_PAD_STRIP = 702,
LIBINPUT_EVENT_GESTURE_SWIPE_BEGIN = 800,
LIBINPUT_EVENT_GESTURE_SWIPE_UPDATE = 801,
LIBINPUT_EVENT_GESTURE_SWIPE_END = 802,
LIBINPUT_EVENT_GESTURE_PINCH_BEGIN = 803,
LIBINPUT_EVENT_GESTURE_PINCH_UPDATE = 804,
LIBINPUT_EVENT_GESTURE_PINCH_END = 805,
LIBINPUT_EVENT_SWITCH_TOGGLE = 900,
}
extern "C" {
pub fn libinput_event_destroy(event: *mut libinput_event);
}
extern "C" {
pub fn libinput_event_get_type(event: *mut libinput_event)
-> libinput_event_type;
}
extern "C" {
pub fn libinput_event_get_context(event: *mut libinput_event)
-> *mut libinput;
}
extern "C" {
pub fn libinput_event_get_device(event: *mut libinput_event)
-> *mut libinput_device;
}
extern "C" {
pub fn libinput_event_get_pointer_event(event: *mut libinput_event)
-> *mut libinput_event_pointer;
}
extern "C" {
pub fn libinput_event_get_keyboard_event(event: *mut libinput_event)
-> *mut libinput_event_keyboard;
}
extern "C" {
pub fn libinput_event_get_touch_event(event: *mut libinput_event)
-> *mut libinput_event_touch;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libinput_event_gesture([u8; 0]);
extern "C" {
pub fn libinput_event_get_gesture_event(event: *mut libinput_event)
-> *mut libinput_event_gesture;
}
extern "C" {
pub fn libinput_event_get_tablet_tool_event(event: *mut libinput_event)
-> *mut libinput_event_tablet_tool;
}
extern "C" {
pub fn libinput_event_get_tablet_pad_event(event: *mut libinput_event)
-> *mut libinput_event_tablet_pad;
}
extern "C" {
pub fn libinput_event_get_switch_event(event: *mut libinput_event)
-> *mut libinput_event_switch;
}
extern "C" {
pub fn libinput_event_get_device_notify_event(event: *mut libinput_event)
-> *mut libinput_event_device_notify;
}
extern "C" {
pub fn libinput_event_device_notify_get_base_event(event:
*mut libinput_event_device_notify)
-> *mut libinput_event;
}
extern "C" {
pub fn libinput_event_keyboard_get_time(event:
*mut libinput_event_keyboard)
-> u32;
}
extern "C" {
pub fn libinput_event_keyboard_get_time_usec(event:
*mut libinput_event_keyboard)
-> u64;
}
extern "C" {
pub fn libinput_event_keyboard_get_key(event:
*mut libinput_event_keyboard)
-> u32;
}
extern "C" {
pub fn libinput_event_keyboard_get_key_state(event:
*mut libinput_event_keyboard)
-> libinput_key_state;
}
extern "C" {
pub fn libinput_event_keyboard_get_base_event(event:
*mut libinput_event_keyboard)
-> *mut libinput_event;
}
extern "C" {
pub fn libinput_event_keyboard_get_seat_key_count(event:
*mut libinput_event_keyboard)
-> u32;
}
extern "C" {
pub fn libinput_event_pointer_get_time(event: *mut libinput_event_pointer)
-> u32;
}
extern "C" {
pub fn libinput_event_pointer_get_time_usec(event:
*mut libinput_event_pointer)
-> u64;
}
extern "C" {
pub fn libinput_event_pointer_get_dx(event: *mut libinput_event_pointer)
-> f64;
}
extern "C" {
pub fn libinput_event_pointer_get_dy(event: *mut libinput_event_pointer)
-> f64;
}
extern "C" {
pub fn libinput_event_pointer_get_dx_unaccelerated(event:
*mut libinput_event_pointer)
-> f64;
}
extern "C" {
pub fn libinput_event_pointer_get_dy_unaccelerated(event:
*mut libinput_event_pointer)
-> f64;
}
extern "C" {
pub fn libinput_event_pointer_get_absolute_x(event:
*mut libinput_event_pointer)
-> f64;
}
extern "C" {
pub fn libinput_event_pointer_get_absolute_y(event:
*mut libinput_event_pointer)
-> f64;
}
extern "C" {
pub fn libinput_event_pointer_get_absolute_x_transformed(event:
*mut libinput_event_pointer,
width: u32)
-> f64;
}
extern "C" {
pub fn libinput_event_pointer_get_absolute_y_transformed(event:
*mut libinput_event_pointer,
height: u32)
-> f64;
}
extern "C" {
pub fn libinput_event_pointer_get_button(event:
*mut libinput_event_pointer)
-> u32;
}
extern "C" {
pub fn libinput_event_pointer_get_button_state(event:
*mut libinput_event_pointer)
-> libinput_button_state;
}
extern "C" {
pub fn libinput_event_pointer_get_seat_button_count(event:
*mut libinput_event_pointer)
-> u32;
}
extern "C" {
pub fn libinput_event_pointer_has_axis(event: *mut libinput_event_pointer,
axis: libinput_pointer_axis)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_pointer_get_axis_value(event:
*mut libinput_event_pointer,
axis: libinput_pointer_axis)
-> f64;
}
extern "C" {
pub fn libinput_event_pointer_get_axis_source(event:
*mut libinput_event_pointer)
-> libinput_pointer_axis_source;
}
extern "C" {
pub fn libinput_event_pointer_get_axis_value_discrete(event:
*mut libinput_event_pointer,
axis:
libinput_pointer_axis)
-> f64;
}
extern "C" {
pub fn libinput_event_pointer_get_base_event(event:
*mut libinput_event_pointer)
-> *mut libinput_event;
}
extern "C" {
pub fn libinput_event_touch_get_time(event: *mut libinput_event_touch)
-> u32;
}
extern "C" {
pub fn libinput_event_touch_get_time_usec(event:
*mut libinput_event_touch)
-> u64;
}
extern "C" {
pub fn libinput_event_touch_get_slot(event: *mut libinput_event_touch)
-> i32;
}
extern "C" {
pub fn libinput_event_touch_get_seat_slot(event:
*mut libinput_event_touch)
-> i32;
}
extern "C" {
pub fn libinput_event_touch_get_x(event: *mut libinput_event_touch)
-> f64;
}
extern "C" {
pub fn libinput_event_touch_get_y(event: *mut libinput_event_touch)
-> f64;
}
extern "C" {
pub fn libinput_event_touch_get_x_transformed(event:
*mut libinput_event_touch,
width: u32) -> f64;
}
extern "C" {
pub fn libinput_event_touch_get_y_transformed(event:
*mut libinput_event_touch,
height: u32) -> f64;
}
extern "C" {
pub fn libinput_event_touch_get_base_event(event:
*mut libinput_event_touch)
-> *mut libinput_event;
}
extern "C" {
pub fn libinput_event_gesture_get_time(event: *mut libinput_event_gesture)
-> u32;
}
extern "C" {
pub fn libinput_event_gesture_get_time_usec(event:
*mut libinput_event_gesture)
-> u64;
}
extern "C" {
pub fn libinput_event_gesture_get_base_event(event:
*mut libinput_event_gesture)
-> *mut libinput_event;
}
extern "C" {
pub fn libinput_event_gesture_get_finger_count(event:
*mut libinput_event_gesture)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_gesture_get_cancelled(event:
*mut libinput_event_gesture)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_gesture_get_dx(event: *mut libinput_event_gesture)
-> f64;
}
extern "C" {
pub fn libinput_event_gesture_get_dy(event: *mut libinput_event_gesture)
-> f64;
}
extern "C" {
pub fn libinput_event_gesture_get_dx_unaccelerated(event:
*mut libinput_event_gesture)
-> f64;
}
extern "C" {
pub fn libinput_event_gesture_get_dy_unaccelerated(event:
*mut libinput_event_gesture)
-> f64;
}
extern "C" {
pub fn libinput_event_gesture_get_scale(event:
*mut libinput_event_gesture)
-> f64;
}
extern "C" {
pub fn libinput_event_gesture_get_angle_delta(event:
*mut libinput_event_gesture)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_base_event(event:
*mut libinput_event_tablet_tool)
-> *mut libinput_event;
}
extern "C" {
pub fn libinput_event_tablet_tool_x_has_changed(event:
*mut libinput_event_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_tablet_tool_y_has_changed(event:
*mut libinput_event_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_tablet_tool_pressure_has_changed(event:
*mut libinput_event_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_tablet_tool_distance_has_changed(event:
*mut libinput_event_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_tablet_tool_tilt_x_has_changed(event:
*mut libinput_event_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_tablet_tool_tilt_y_has_changed(event:
*mut libinput_event_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_tablet_tool_rotation_has_changed(event:
*mut libinput_event_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_tablet_tool_slider_has_changed(event:
*mut libinput_event_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_tablet_tool_wheel_has_changed(event:
*mut libinput_event_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_x(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_y(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_dx(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_dy(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_pressure(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_distance(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_tilt_x(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_tilt_y(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_rotation(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_slider_position(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_wheel_delta(event:
*mut libinput_event_tablet_tool)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_wheel_delta_discrete(event:
*mut libinput_event_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_x_transformed(event:
*mut libinput_event_tablet_tool,
width: u32) -> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_y_transformed(event:
*mut libinput_event_tablet_tool,
height: u32) -> f64;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_tool(event:
*mut libinput_event_tablet_tool)
-> *mut libinput_tablet_tool;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_proximity_state(event:
*mut libinput_event_tablet_tool)
-> libinput_tablet_tool_proximity_state;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_tip_state(event:
*mut libinput_event_tablet_tool)
-> libinput_tablet_tool_tip_state;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_button(event:
*mut libinput_event_tablet_tool)
-> u32;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_button_state(event:
*mut libinput_event_tablet_tool)
-> libinput_button_state;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_seat_button_count(event:
*mut libinput_event_tablet_tool)
-> u32;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_time(event:
*mut libinput_event_tablet_tool)
-> u32;
}
extern "C" {
pub fn libinput_event_tablet_tool_get_time_usec(event:
*mut libinput_event_tablet_tool)
-> u64;
}
extern "C" {
pub fn libinput_tablet_tool_get_type(tool: *mut libinput_tablet_tool)
-> libinput_tablet_tool_type;
}
extern "C" {
pub fn libinput_tablet_tool_get_tool_id(tool: *mut libinput_tablet_tool)
-> u64;
}
extern "C" {
pub fn libinput_tablet_tool_ref(tool: *mut libinput_tablet_tool)
-> *mut libinput_tablet_tool;
}
extern "C" {
pub fn libinput_tablet_tool_unref(tool: *mut libinput_tablet_tool)
-> *mut libinput_tablet_tool;
}
extern "C" {
pub fn libinput_tablet_tool_has_pressure(tool: *mut libinput_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_tool_has_distance(tool: *mut libinput_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_tool_has_tilt(tool: *mut libinput_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_tool_has_rotation(tool: *mut libinput_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_tool_has_slider(tool: *mut libinput_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_tool_has_wheel(tool: *mut libinput_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_tool_has_button(tool: *mut libinput_tablet_tool,
code: u32) -> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_tool_is_unique(tool: *mut libinput_tablet_tool)
-> libc::c_int;
}
extern "C" {
pub fn libinput_tablet_tool_get_serial(tool: *mut libinput_tablet_tool)
-> u64;
}
extern "C" {
pub fn libinput_tablet_tool_get_user_data(tool: *mut libinput_tablet_tool)
-> *mut libc::c_void;
}
extern "C" {
pub fn libinput_tablet_tool_set_user_data(tool: *mut libinput_tablet_tool,
user_data: *mut libc::c_void);
}
extern "C" {
pub fn libinput_event_tablet_pad_get_base_event(event:
*mut libinput_event_tablet_pad)
-> *mut libinput_event;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_ring_position(event:
*mut libinput_event_tablet_pad)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_ring_number(event:
*mut libinput_event_tablet_pad)
-> libc::c_uint;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_ring_source(event:
*mut libinput_event_tablet_pad)
-> libinput_tablet_pad_ring_axis_source;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_strip_position(event:
*mut libinput_event_tablet_pad)
-> f64;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_strip_number(event:
*mut libinput_event_tablet_pad)
-> libc::c_uint;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_strip_source(event:
*mut libinput_event_tablet_pad)
-> libinput_tablet_pad_strip_axis_source;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_button_number(event:
*mut libinput_event_tablet_pad)
-> u32;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_button_state(event:
*mut libinput_event_tablet_pad)
-> libinput_button_state;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_mode(event:
*mut libinput_event_tablet_pad)
-> libc::c_uint;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_mode_group(event:
*mut libinput_event_tablet_pad)
-> *mut libinput_tablet_pad_mode_group;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_time(event:
*mut libinput_event_tablet_pad)
-> u32;
}
extern "C" {
pub fn libinput_event_tablet_pad_get_time_usec(event:
*mut libinput_event_tablet_pad)
-> u64;
}
extern "C" {
pub fn libinput_event_switch_get_switch(event: *mut libinput_event_switch)
-> libinput_switch;
}
extern "C" {
pub fn libinput_event_switch_get_switch_state(event:
*mut libinput_event_switch)
-> libinput_switch_state;
}
extern "C" {
pub fn libinput_event_switch_get_base_event(event:
*mut libinput_event_switch)
-> *mut libinput_event;
}
extern "C" {
pub fn libinput_event_switch_get_time(event: *mut libinput_event_switch)
-> u32;
}
extern "C" {
pub fn libinput_event_switch_get_time_usec(event:
*mut libinput_event_switch)
-> u64;
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct libinput_interface {
pub open_restricted: ::std::option::Option<unsafe extern "C" fn(path:
*const libc::c_char,
flags:
libc::c_int,
user_data:
*mut libc::c_void)
-> libc::c_int>,
pub close_restricted: ::std::option::Option<unsafe extern "C" fn(fd:
libc::c_int,
user_data:
*mut libc::c_void)>,
}
#[test]
fn bindgen_test_layout_libinput_interface() {
assert_eq!(::std::mem::size_of::<libinput_interface>() , 16usize , concat
! ( "Size of: " , stringify ! ( libinput_interface ) ));
assert_eq! (::std::mem::align_of::<libinput_interface>() , 8usize , concat
! ( "Alignment of " , stringify ! ( libinput_interface ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const libinput_interface ) ) . open_restricted
as * const _ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( libinput_interface ) ,
"::" , stringify ! ( open_restricted ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const libinput_interface ) ) . close_restricted
as * const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( libinput_interface ) ,
"::" , stringify ! ( close_restricted ) ));
}
impl Clone for libinput_interface {
fn clone(&self) -> Self { *self }
}
extern "C" {
pub fn libinput_udev_create_context(interface: *const libinput_interface,
user_data: *mut libc::c_void,
udev: *mut udev) -> *mut libinput;
}
extern "C" {
pub fn libinput_udev_assign_seat(libinput: *mut libinput,
seat_id: *const libc::c_char)
-> libc::c_int;
}
extern "C" {
pub fn libinput_path_create_context(interface: *const libinput_interface,
user_data: *mut libc::c_void)
-> *mut libinput;
}
extern "C" {
pub fn libinput_path_add_device(libinput: *mut libinput,
path: *const libc::c_char)
-> *mut libinput_device;
}
extern "C" {
pub fn libinput_path_remove_device(device: *mut libinput_device);
}
extern "C" {
pub fn libinput_get_fd(libinput: *mut libinput) -> libc::c_int;
}
extern "C" {
pub fn libinput_dispatch(libinput: *mut libinput) -> libc::c_int;
}
extern "C" {
pub fn libinput_get_event(libinput: *mut libinput) -> *mut libinput_event;
}
extern "C" {
pub fn libinput_next_event_type(libinput: *mut libinput)
-> libinput_event_type;
}
extern "C" {
pub fn libinput_set_user_data(libinput: *mut libinput,
user_data: *mut libc::c_void);
}
extern "C" {
pub fn libinput_get_user_data(libinput: *mut libinput)
-> *mut libc::c_void;
}
extern "C" {
pub fn libinput_resume(libinput: *mut libinput) -> libc::c_int;
}
extern "C" {
pub fn libinput_suspend(libinput: *mut libinput);
}
extern "C" {
pub fn libinput_ref(libinput: *mut libinput) -> *mut libinput;
}
extern "C" {
pub fn libinput_unref(libinput: *mut libinput) -> *mut libinput;
}
extern "C" {
pub fn libinput_log_set_priority(libinput: *mut libinput,
priority: libinput_log_priority);
}
extern "C" {
pub fn libinput_log_get_priority(libinput: *const libinput)
-> libinput_log_priority;
}
pub type libinput_log_handler =
::std::option::Option<unsafe extern "C" fn(libinput: *mut libinput,
priority:
libinput_log_priority,
format: *const libc::c_char,
args: *mut __va_list_tag)>;
extern "C" {
pub fn libinput_log_set_handler(libinput: *mut libinput,
log_handler: libinput_log_handler);
}
extern "C" {
pub fn libinput_seat_ref(seat: *mut libinput_seat) -> *mut libinput_seat;
}
extern "C" {
pub fn libinput_seat_unref(seat: *mut libinput_seat)
-> *mut libinput_seat;
}
extern "C" {
pub fn libinput_seat_set_user_data(seat: *mut libinput_seat,
user_data: *mut libc::c_void);
}
extern "C" {
pub fn libinput_seat_get_user_data(seat: *mut libinput_seat)
-> *mut libc::c_void;
}
extern "C" {
pub fn libinput_seat_get_context(seat: *mut libinput_seat)
-> *mut libinput;
}
extern "C" {
pub fn libinput_seat_get_physical_name(seat: *mut libinput_seat)
-> *const libc::c_char;
}
extern "C" {
pub fn libinput_seat_get_logical_name(seat: *mut libinput_seat)
-> *const libc::c_char;
}
extern "C" {
pub fn libinput_device_ref(device: *mut libinput_device)
-> *mut libinput_device;
}
extern "C" {
pub fn libinput_device_unref(device: *mut libinput_device)
-> *mut libinput_device;
}
extern "C" {
pub fn libinput_device_set_user_data(device: *mut libinput_device,
user_data: *mut libc::c_void);
}
extern "C" {
pub fn libinput_device_get_user_data(device: *mut libinput_device)
-> *mut libc::c_void;
}
extern "C" {
pub fn libinput_device_get_context(device: *mut libinput_device)
-> *mut libinput;
}
extern "C" {
pub fn libinput_device_get_device_group(device: *mut libinput_device)
-> *mut libinput_device_group;
}
extern "C" {
pub fn libinput_device_get_sysname(device: *mut libinput_device)
-> *const libc::c_char;
}
extern "C" {
pub fn libinput_device_get_name(device: *mut libinput_device)
-> *const libc::c_char;
}
extern "C" {
pub fn libinput_device_get_id_product(device: *mut libinput_device)
-> libc::c_uint;
}
extern "C" {
pub fn libinput_device_get_id_vendor(device: *mut libinput_device)
-> libc::c_uint;
}
extern "C" {
pub fn libinput_device_get_output_name(device: *mut libinput_device)
-> *const libc::c_char;
}
extern "C" {
pub fn libinput_device_get_seat(device: *mut libinput_device)
-> *mut libinput_seat;
}
extern "C" {
pub fn libinput_device_set_seat_logical_name(device: *mut libinput_device,
name: *const libc::c_char)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_get_udev_device(device: *mut libinput_device)
-> *mut udev_device;
}
extern "C" {
pub fn libinput_device_led_update(device: *mut libinput_device,
leds: libinput_led);
}
extern "C" {
pub fn libinput_device_has_capability(device: *mut libinput_device,
capability:
libinput_device_capability)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_get_size(device: *mut libinput_device,
width: *mut f64, height: *mut f64)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_pointer_has_button(device: *mut libinput_device,
code: u32) -> libc::c_int;
}
extern "C" {
pub fn libinput_device_keyboard_has_key(device: *mut libinput_device,
code: u32) -> libc::c_int;
}
extern "C" {
pub fn libinput_device_tablet_pad_get_num_buttons(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_tablet_pad_get_num_rings(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_tablet_pad_get_num_strips(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_group_ref(group: *mut libinput_device_group)
-> *mut libinput_device_group;
}
extern "C" {
pub fn libinput_device_group_unref(group: *mut libinput_device_group)
-> *mut libinput_device_group;
}
extern "C" {
pub fn libinput_device_group_set_user_data(group:
*mut libinput_device_group,
user_data: *mut libc::c_void);
}
extern "C" {
pub fn libinput_device_group_get_user_data(group:
*mut libinput_device_group)
-> *mut libc::c_void;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_config_status {
LIBINPUT_CONFIG_STATUS_SUCCESS = 0,
LIBINPUT_CONFIG_STATUS_UNSUPPORTED = 1,
LIBINPUT_CONFIG_STATUS_INVALID = 2,
}
extern "C" {
pub fn libinput_config_status_to_str(status: libinput_config_status)
-> *const libc::c_char;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_config_tap_state {
LIBINPUT_CONFIG_TAP_DISABLED = 0,
LIBINPUT_CONFIG_TAP_ENABLED = 1,
}
extern "C" {
pub fn libinput_device_config_tap_get_finger_count(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_tap_set_enabled(device:
*mut libinput_device,
enable:
libinput_config_tap_state)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_tap_get_enabled(device:
*mut libinput_device)
-> libinput_config_tap_state;
}
extern "C" {
pub fn libinput_device_config_tap_get_default_enabled(device:
*mut libinput_device)
-> libinput_config_tap_state;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_config_tap_button_map {
LIBINPUT_CONFIG_TAP_MAP_LRM = 0,
LIBINPUT_CONFIG_TAP_MAP_LMR = 1,
}
extern "C" {
pub fn libinput_device_config_tap_set_button_map(device:
*mut libinput_device,
map:
libinput_config_tap_button_map)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_tap_get_button_map(device:
*mut libinput_device)
-> libinput_config_tap_button_map;
}
extern "C" {
pub fn libinput_device_config_tap_get_default_button_map(device:
*mut libinput_device)
-> libinput_config_tap_button_map;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_config_drag_state {
LIBINPUT_CONFIG_DRAG_DISABLED = 0,
LIBINPUT_CONFIG_DRAG_ENABLED = 1,
}
extern "C" {
pub fn libinput_device_config_tap_set_drag_enabled(device:
*mut libinput_device,
enable:
libinput_config_drag_state)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_tap_get_drag_enabled(device:
*mut libinput_device)
-> libinput_config_drag_state;
}
extern "C" {
pub fn libinput_device_config_tap_get_default_drag_enabled(device:
*mut libinput_device)
-> libinput_config_drag_state;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_config_drag_lock_state {
LIBINPUT_CONFIG_DRAG_LOCK_DISABLED = 0,
LIBINPUT_CONFIG_DRAG_LOCK_ENABLED = 1,
}
extern "C" {
pub fn libinput_device_config_tap_set_drag_lock_enabled(device:
*mut libinput_device,
enable:
libinput_config_drag_lock_state)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_tap_get_drag_lock_enabled(device:
*mut libinput_device)
-> libinput_config_drag_lock_state;
}
extern "C" {
pub fn libinput_device_config_tap_get_default_drag_lock_enabled(device:
*mut libinput_device)
-> libinput_config_drag_lock_state;
}
extern "C" {
pub fn libinput_device_config_calibration_has_matrix(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_calibration_set_matrix(device:
*mut libinput_device,
matrix: *const f32)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_calibration_get_matrix(device:
*mut libinput_device,
matrix: *mut f32)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_calibration_get_default_matrix(device:
*mut libinput_device,
matrix:
*mut f32)
-> libc::c_int;
}
pub const libinput_config_send_events_mode_LIBINPUT_CONFIG_SEND_EVENTS_ENABLED:
libinput_config_send_events_mode =
0;
pub const libinput_config_send_events_mode_LIBINPUT_CONFIG_SEND_EVENTS_DISABLED:
libinput_config_send_events_mode =
1;
pub const libinput_config_send_events_mode_LIBINPUT_CONFIG_SEND_EVENTS_DISABLED_ON_EXTERNAL_MOUSE:
libinput_config_send_events_mode =
2;
pub type libinput_config_send_events_mode = libc::c_uint;
extern "C" {
pub fn libinput_device_config_send_events_get_modes(device:
*mut libinput_device)
-> u32;
}
extern "C" {
pub fn libinput_device_config_send_events_set_mode(device:
*mut libinput_device,
mode: u32)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_send_events_get_mode(device:
*mut libinput_device)
-> u32;
}
extern "C" {
pub fn libinput_device_config_send_events_get_default_mode(device:
*mut libinput_device)
-> u32;
}
extern "C" {
pub fn libinput_device_config_accel_is_available(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_accel_set_speed(device:
*mut libinput_device,
speed: f64)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_accel_get_speed(device:
*mut libinput_device)
-> f64;
}
extern "C" {
pub fn libinput_device_config_accel_get_default_speed(device:
*mut libinput_device)
-> f64;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_config_accel_profile {
LIBINPUT_CONFIG_ACCEL_PROFILE_NONE = 0,
LIBINPUT_CONFIG_ACCEL_PROFILE_FLAT = 1,
LIBINPUT_CONFIG_ACCEL_PROFILE_ADAPTIVE = 2,
}
extern "C" {
pub fn libinput_device_config_accel_get_profiles(device:
*mut libinput_device)
-> u32;
}
extern "C" {
pub fn libinput_device_config_accel_set_profile(device:
*mut libinput_device,
mode:
libinput_config_accel_profile)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_accel_get_profile(device:
*mut libinput_device)
-> libinput_config_accel_profile;
}
extern "C" {
pub fn libinput_device_config_accel_get_default_profile(device:
*mut libinput_device)
-> libinput_config_accel_profile;
}
extern "C" {
pub fn libinput_device_config_scroll_has_natural_scroll(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_scroll_set_natural_scroll_enabled(device:
*mut libinput_device,
enable:
libc::c_int)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_scroll_get_natural_scroll_enabled(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_scroll_get_default_natural_scroll_enabled(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_left_handed_is_available(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_left_handed_set(device:
*mut libinput_device,
left_handed: libc::c_int)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_left_handed_get(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_left_handed_get_default(device:
*mut libinput_device)
-> libc::c_int;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_config_click_method {
LIBINPUT_CONFIG_CLICK_METHOD_NONE = 0,
LIBINPUT_CONFIG_CLICK_METHOD_BUTTON_AREAS = 1,
LIBINPUT_CONFIG_CLICK_METHOD_CLICKFINGER = 2,
}
extern "C" {
pub fn libinput_device_config_click_get_methods(device:
*mut libinput_device)
-> u32;
}
extern "C" {
pub fn libinput_device_config_click_set_method(device:
*mut libinput_device,
method:
libinput_config_click_method)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_click_get_method(device:
*mut libinput_device)
-> libinput_config_click_method;
}
extern "C" {
pub fn libinput_device_config_click_get_default_method(device:
*mut libinput_device)
-> libinput_config_click_method;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_config_middle_emulation_state {
LIBINPUT_CONFIG_MIDDLE_EMULATION_DISABLED = 0,
LIBINPUT_CONFIG_MIDDLE_EMULATION_ENABLED = 1,
}
extern "C" {
pub fn libinput_device_config_middle_emulation_is_available(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_middle_emulation_set_enabled(device:
*mut libinput_device,
enable:
libinput_config_middle_emulation_state)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_middle_emulation_get_enabled(device:
*mut libinput_device)
-> libinput_config_middle_emulation_state;
}
extern "C" {
pub fn libinput_device_config_middle_emulation_get_default_enabled(device:
*mut libinput_device)
-> libinput_config_middle_emulation_state;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_config_scroll_method {
LIBINPUT_CONFIG_SCROLL_NO_SCROLL = 0,
LIBINPUT_CONFIG_SCROLL_2FG = 1,
LIBINPUT_CONFIG_SCROLL_EDGE = 2,
LIBINPUT_CONFIG_SCROLL_ON_BUTTON_DOWN = 4,
}
extern "C" {
pub fn libinput_device_config_scroll_get_methods(device:
*mut libinput_device)
-> u32;
}
extern "C" {
pub fn libinput_device_config_scroll_set_method(device:
*mut libinput_device,
method:
libinput_config_scroll_method)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_scroll_get_method(device:
*mut libinput_device)
-> libinput_config_scroll_method;
}
extern "C" {
pub fn libinput_device_config_scroll_get_default_method(device:
*mut libinput_device)
-> libinput_config_scroll_method;
}
extern "C" {
pub fn libinput_device_config_scroll_set_button(device:
*mut libinput_device,
button: u32)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_scroll_get_button(device:
*mut libinput_device)
-> u32;
}
extern "C" {
pub fn libinput_device_config_scroll_get_default_button(device:
*mut libinput_device)
-> u32;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum libinput_config_dwt_state {
LIBINPUT_CONFIG_DWT_DISABLED = 0,
LIBINPUT_CONFIG_DWT_ENABLED = 1,
}
extern "C" {
pub fn libinput_device_config_dwt_is_available(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_dwt_set_enabled(device:
*mut libinput_device,
enable:
libinput_config_dwt_state)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_dwt_get_enabled(device:
*mut libinput_device)
-> libinput_config_dwt_state;
}
extern "C" {
pub fn libinput_device_config_dwt_get_default_enabled(device:
*mut libinput_device)
-> libinput_config_dwt_state;
}
extern "C" {
pub fn libinput_device_config_rotation_is_available(device:
*mut libinput_device)
-> libc::c_int;
}
extern "C" {
pub fn libinput_device_config_rotation_set_angle(device:
*mut libinput_device,
degrees_cw: libc::c_uint)
-> libinput_config_status;
}
extern "C" {
pub fn libinput_device_config_rotation_get_angle(device:
*mut libinput_device)
-> libc::c_uint;
}
extern "C" {
pub fn libinput_device_config_rotation_get_default_angle(device:
*mut libinput_device)
-> libc::c_uint;
}
#[repr(C)]
#[derive(Debug, Copy)]
pub struct __va_list_tag {
pub gp_offset: libc::c_uint,
pub fp_offset: libc::c_uint,
pub overflow_arg_area: *mut libc::c_void,
pub reg_save_area: *mut libc::c_void,
}
#[test]
fn bindgen_test_layout___va_list_tag() {
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 {
& ( * ( 0 as * const __va_list_tag ) ) . gp_offset as * const
_ as usize } , 0usize , concat ! (
"Alignment of field: " , stringify ! ( __va_list_tag ) , "::"
, stringify ! ( gp_offset ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const __va_list_tag ) ) . fp_offset as * const
_ as usize } , 4usize , concat ! (
"Alignment of field: " , stringify ! ( __va_list_tag ) , "::"
, stringify ! ( fp_offset ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const __va_list_tag ) ) . overflow_arg_area as
* const _ as usize } , 8usize , concat ! (
"Alignment of field: " , stringify ! ( __va_list_tag ) , "::"
, stringify ! ( overflow_arg_area ) ));
assert_eq! (unsafe {
& ( * ( 0 as * const __va_list_tag ) ) . reg_save_area as *
const _ as usize } , 16usize , concat ! (
"Alignment of field: " , stringify ! ( __va_list_tag ) , "::"
, stringify ! ( reg_save_area ) ));
}
impl Clone for __va_list_tag {
fn clone(&self) -> Self { *self }
}
pub type __builtin_va_list = [__va_list_tag; 1usize];