/* automatically generated by rust-bindgen 0.58.1 */

#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libseat {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct libseat_seat_listener {
    pub enable_seat: ::std::option::Option<
        unsafe extern "C" fn(seat: *mut libseat, userdata: *mut ::std::os::raw::c_void),
    >,
    pub disable_seat: ::std::option::Option<
        unsafe extern "C" fn(seat: *mut libseat, userdata: *mut ::std::os::raw::c_void),
    >,
}
extern "C" {
    pub fn libseat_open_seat(
        listener: *mut libseat_seat_listener,
        userdata: *mut ::std::os::raw::c_void,
    ) -> *mut libseat;
}
extern "C" {
    pub fn libseat_disable_seat(seat: *mut libseat) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn libseat_close_seat(seat: *mut libseat) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn libseat_open_device(
        seat: *mut libseat,
        path: *const ::std::os::raw::c_char,
        fd: *mut ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn libseat_close_device(
        seat: *mut libseat,
        device_id: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn libseat_seat_name(seat: *mut libseat) -> *const ::std::os::raw::c_char;
}
extern "C" {
    pub fn libseat_switch_session(
        seat: *mut libseat,
        session: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn libseat_get_fd(seat: *mut libseat) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn libseat_dispatch(
        seat: *mut libseat,
        timeout: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
pub const libseat_log_level_LIBSEAT_LOG_LEVEL_SILENT: libseat_log_level = 0;
pub const libseat_log_level_LIBSEAT_LOG_LEVEL_ERROR: libseat_log_level = 1;
pub const libseat_log_level_LIBSEAT_LOG_LEVEL_INFO: libseat_log_level = 2;
pub const libseat_log_level_LIBSEAT_LOG_LEVEL_DEBUG: libseat_log_level = 3;
pub const libseat_log_level_LIBSEAT_LOG_LEVEL_LAST: libseat_log_level = 4;
pub type libseat_log_level = ::std::os::raw::c_uint;
extern "C" {
    pub fn libseat_set_log_level(level: libseat_log_level);
}
