#![doc = include_str!("../README.md")]
#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
#![allow(
clippy::approx_constant,
clippy::type_complexity,
clippy::unreadable_literal,
clippy::upper_case_acronyms
)]
#![cfg_attr(feature = "dox", feature(doc_cfg))]
#[allow(unused_imports)]
use libc::{
c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
intptr_t, size_t, ssize_t, uintptr_t, FILE,
};
#[allow(unused_imports)]
use glib::{gboolean, gconstpointer, gpointer, GType};
pub type ALSATimerClass = c_int;
pub const ALSATIMER_CLASS_NONE: ALSATimerClass = -1;
pub const ALSATIMER_CLASS_GLOBAL: ALSATimerClass = 1;
pub const ALSATIMER_CLASS_CARD: ALSATimerClass = 2;
pub const ALSATIMER_CLASS_PCM: ALSATimerClass = 3;
pub type ALSATimerEventType = c_int;
pub const ALSATIMER_EVENT_TYPE_TICK_TIME: ALSATimerEventType = 0;
pub const ALSATIMER_EVENT_TYPE_REAL_TIME: ALSATimerEventType = 1;
pub type ALSATimerRealTimeEventType = c_int;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_RESOLUTION: ALSATimerRealTimeEventType = 0;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_TICK: ALSATimerRealTimeEventType = 1;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_START: ALSATimerRealTimeEventType = 2;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_STOP: ALSATimerRealTimeEventType = 3;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_CONTINUE: ALSATimerRealTimeEventType = 4;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_PAUSE: ALSATimerRealTimeEventType = 5;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_EARLY: ALSATimerRealTimeEventType = 6;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_SUSPEND: ALSATimerRealTimeEventType = 7;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_RESUME: ALSATimerRealTimeEventType = 8;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_MSTART: ALSATimerRealTimeEventType = 12;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_MSTOP: ALSATimerRealTimeEventType = 13;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_MCONTINUE: ALSATimerRealTimeEventType = 14;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_MPAUSE: ALSATimerRealTimeEventType = 15;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_MSUSPEND: ALSATimerRealTimeEventType = 17;
pub const ALSATIMER_REAL_TIME_EVENT_TYPE_MRESUME: ALSATimerRealTimeEventType = 18;
pub type ALSATimerSlaveClass = c_int;
pub const ALSATIMER_SLAVE_CLASS_NONE: ALSATimerSlaveClass = 0;
pub const ALSATIMER_SLAVE_CLASS_APPLICATION: ALSATimerSlaveClass = 1;
pub const ALSATIMER_SLAVE_CLASS_SEQUENCER: ALSATimerSlaveClass = 2;
pub type ALSATimerSpecificGlobalDevice = c_int;
pub const ALSATIMER_SPECIFIC_GLOBAL_DEVICE_SYSTEM: ALSATimerSpecificGlobalDevice = 0;
pub const ALSATIMER_SPECIFIC_GLOBAL_DEVICE_HRTIMER: ALSATimerSpecificGlobalDevice = 3;
pub type ALSATimerUserInstanceError = c_int;
pub const ALSATIMER_USER_INSTANCE_ERROR_FAILED: ALSATimerUserInstanceError = 0;
pub const ALSATIMER_USER_INSTANCE_ERROR_TIMER_NOT_FOUND: ALSATimerUserInstanceError = 1;
pub const ALSATIMER_USER_INSTANCE_ERROR_NOT_ATTACHED: ALSATimerUserInstanceError = 2;
pub const ALSATIMER_USER_INSTANCE_ERROR_ATTACHED: ALSATimerUserInstanceError = 3;
pub type ALSATimerDeviceInfoFlag = c_uint;
pub const ALSATIMER_DEVICE_INFO_FLAG_SLAVE: ALSATimerDeviceInfoFlag = 1;
pub type ALSATimerInstanceParamFlag = c_uint;
pub const ALSATIMER_INSTANCE_PARAM_FLAG_AUTO: ALSATimerInstanceParamFlag = 1;
pub const ALSATIMER_INSTANCE_PARAM_FLAG_EXCLUSIVE: ALSATimerInstanceParamFlag = 2;
pub const ALSATIMER_INSTANCE_PARAM_FLAG_EARLY_EVENT: ALSATimerInstanceParamFlag = 4;
#[repr(C)]
pub struct ALSATimerDeviceId {
_data: [u8; 0],
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}
impl ::std::fmt::Debug for ALSATimerDeviceId {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerDeviceId @ {:p}", self))
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerDeviceInfoClass {
pub parent_class: gobject::GObjectClass,
}
impl ::std::fmt::Debug for ALSATimerDeviceInfoClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerDeviceInfoClass @ {:p}", self))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerDeviceParamsClass {
pub parent_class: gobject::GObjectClass,
}
impl ::std::fmt::Debug for ALSATimerDeviceParamsClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerDeviceParamsClass @ {:p}", self))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerDeviceStatusClass {
pub parent_class: gobject::GObjectClass,
}
impl ::std::fmt::Debug for ALSATimerDeviceStatusClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerDeviceStatusClass @ {:p}", self))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerInstanceInfoClass {
pub parent_class: gobject::GObjectClass,
}
impl ::std::fmt::Debug for ALSATimerInstanceInfoClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerInstanceInfoClass @ {:p}", self))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerInstanceParamsClass {
pub parent_class: gobject::GObjectClass,
}
impl ::std::fmt::Debug for ALSATimerInstanceParamsClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerInstanceParamsClass @ {:p}", self))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerInstanceStatusClass {
pub parent_class: gobject::GObjectClass,
}
impl ::std::fmt::Debug for ALSATimerInstanceStatusClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerInstanceStatusClass @ {:p}", self))
.field("parent_class", &self.parent_class)
.finish()
}
}
#[repr(C)]
pub struct ALSATimerRealTimeEvent {
_data: [u8; 0],
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}
impl ::std::fmt::Debug for ALSATimerRealTimeEvent {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerRealTimeEvent @ {:p}", self))
.finish()
}
}
#[repr(C)]
pub struct ALSATimerTickTimeEvent {
_data: [u8; 0],
_marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
}
impl ::std::fmt::Debug for ALSATimerTickTimeEvent {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerTickTimeEvent @ {:p}", self))
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerUserInstanceClass {
pub parent_class: gobject::GObjectClass,
pub handle_tick_time_event:
Option<unsafe extern "C" fn(*mut ALSATimerUserInstance, *const ALSATimerTickTimeEvent)>,
pub handle_real_time_event:
Option<unsafe extern "C" fn(*mut ALSATimerUserInstance, *const ALSATimerRealTimeEvent)>,
pub handle_disconnection: Option<unsafe extern "C" fn(*mut ALSATimerUserInstance)>,
}
impl ::std::fmt::Debug for ALSATimerUserInstanceClass {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerUserInstanceClass @ {:p}", self))
.field("parent_class", &self.parent_class)
.field("handle_tick_time_event", &self.handle_tick_time_event)
.field("handle_real_time_event", &self.handle_real_time_event)
.field("handle_disconnection", &self.handle_disconnection)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerDeviceInfo {
pub parent_instance: gobject::GObject,
}
impl ::std::fmt::Debug for ALSATimerDeviceInfo {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerDeviceInfo @ {:p}", self))
.field("parent_instance", &self.parent_instance)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerDeviceParams {
pub parent_instance: gobject::GObject,
}
impl ::std::fmt::Debug for ALSATimerDeviceParams {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerDeviceParams @ {:p}", self))
.field("parent_instance", &self.parent_instance)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerDeviceStatus {
pub parent_instance: gobject::GObject,
}
impl ::std::fmt::Debug for ALSATimerDeviceStatus {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerDeviceStatus @ {:p}", self))
.field("parent_instance", &self.parent_instance)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerInstanceInfo {
pub parent_instance: gobject::GObject,
}
impl ::std::fmt::Debug for ALSATimerInstanceInfo {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerInstanceInfo @ {:p}", self))
.field("parent_instance", &self.parent_instance)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerInstanceParams {
pub parent_instance: gobject::GObject,
}
impl ::std::fmt::Debug for ALSATimerInstanceParams {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerInstanceParams @ {:p}", self))
.field("parent_instance", &self.parent_instance)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerInstanceStatus {
pub parent_instance: gobject::GObject,
}
impl ::std::fmt::Debug for ALSATimerInstanceStatus {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerInstanceStatus @ {:p}", self))
.field("parent_instance", &self.parent_instance)
.finish()
}
}
#[derive(Copy, Clone)]
#[repr(C)]
pub struct ALSATimerUserInstance {
pub parent_instance: gobject::GObject,
}
impl ::std::fmt::Debug for ALSATimerUserInstance {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
f.debug_struct(&format!("ALSATimerUserInstance @ {:p}", self))
.field("parent_instance", &self.parent_instance)
.finish()
}
}
#[link(name = "alsatimer")]
extern "C" {
pub fn alsatimer_class_get_type() -> GType;
pub fn alsatimer_event_type_get_type() -> GType;
pub fn alsatimer_real_time_event_type_get_type() -> GType;
pub fn alsatimer_slave_class_get_type() -> GType;
pub fn alsatimer_specific_global_device_get_type() -> GType;
pub fn alsatimer_user_instance_error_get_type() -> GType;
pub fn alsatimer_user_instance_error_quark() -> glib::GQuark;
pub fn alsatimer_device_info_flag_get_type() -> GType;
pub fn alsatimer_instance_param_flag_get_type() -> GType;
pub fn alsatimer_device_id_get_type() -> GType;
pub fn alsatimer_device_id_new(
class: ALSATimerClass,
card_id: c_int,
device_id: c_int,
subdevice_id: c_int,
) -> *mut ALSATimerDeviceId;
pub fn alsatimer_device_id_get_card_id(self_: *const ALSATimerDeviceId, card_id: *mut c_int);
pub fn alsatimer_device_id_get_class(
self_: *const ALSATimerDeviceId,
class: *mut ALSATimerClass,
);
pub fn alsatimer_device_id_get_device_id(
self_: *const ALSATimerDeviceId,
device_id: *mut c_int,
);
pub fn alsatimer_device_id_get_subdevice_id(
self_: *const ALSATimerDeviceId,
subdevice_id: *mut c_int,
);
pub fn alsatimer_real_time_event_get_type() -> GType;
pub fn alsatimer_real_time_event_get_event(
self_: *const ALSATimerRealTimeEvent,
event: *mut ALSATimerRealTimeEventType,
);
pub fn alsatimer_real_time_event_get_time(
self_: *const ALSATimerRealTimeEvent,
real_time: *const *mut [i64; 2],
);
pub fn alsatimer_real_time_event_get_val(
self_: *const ALSATimerRealTimeEvent,
val: *mut c_uint,
);
pub fn alsatimer_tick_time_event_get_type() -> GType;
pub fn alsatimer_tick_time_event_get_count(
self_: *const ALSATimerTickTimeEvent,
count: *mut c_uint,
);
pub fn alsatimer_tick_time_event_get_resolution(
self_: *const ALSATimerTickTimeEvent,
resolution: *mut c_uint,
);
pub fn alsatimer_device_info_get_type() -> GType;
pub fn alsatimer_device_params_get_type() -> GType;
pub fn alsatimer_device_params_new() -> *mut ALSATimerDeviceParams;
pub fn alsatimer_device_status_get_type() -> GType;
pub fn alsatimer_device_status_new() -> *mut ALSATimerDeviceStatus;
pub fn alsatimer_instance_info_get_type() -> GType;
pub fn alsatimer_instance_params_get_type() -> GType;
pub fn alsatimer_instance_params_new() -> *mut ALSATimerInstanceParams;
pub fn alsatimer_instance_params_get_event_filter(
self_: *mut ALSATimerInstanceParams,
entries: *mut *mut ALSATimerRealTimeEventType,
entry_count: *mut size_t,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_instance_params_set_event_filter(
self_: *mut ALSATimerInstanceParams,
entries: *const ALSATimerRealTimeEventType,
entry_count: size_t,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_instance_status_get_type() -> GType;
pub fn alsatimer_instance_status_new() -> *mut ALSATimerInstanceStatus;
pub fn alsatimer_instance_status_get_time(
self_: *mut ALSATimerInstanceStatus,
real_time: *mut *const [i64; 2],
);
pub fn alsatimer_user_instance_get_type() -> GType;
pub fn alsatimer_user_instance_new() -> *mut ALSATimerUserInstance;
pub fn alsatimer_user_instance_attach(
self_: *mut ALSATimerUserInstance,
device_id: *mut ALSATimerDeviceId,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_attach_as_slave(
self_: *mut ALSATimerUserInstance,
slave_class: ALSATimerSlaveClass,
slave_id: c_int,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_choose_event_type(
self_: *mut ALSATimerUserInstance,
event_type: ALSATimerEventType,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_continue(
self_: *mut ALSATimerUserInstance,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_create_source(
self_: *mut ALSATimerUserInstance,
gsrc: *mut *mut glib::GSource,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_get_info(
self_: *mut ALSATimerUserInstance,
instance_info: *mut *mut ALSATimerInstanceInfo,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_get_protocol_version(
self_: *mut ALSATimerUserInstance,
proto_ver_triplet: *mut *const [u16; 3],
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_get_status(
self_: *mut ALSATimerUserInstance,
instance_status: *const *mut ALSATimerInstanceStatus,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_open(
self_: *mut ALSATimerUserInstance,
open_flag: c_int,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_pause(
self_: *mut ALSATimerUserInstance,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_set_params(
self_: *mut ALSATimerUserInstance,
instance_params: *const *mut ALSATimerInstanceParams,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_start(
self_: *mut ALSATimerUserInstance,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_user_instance_stop(
self_: *mut ALSATimerUserInstance,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_get_device_id_list(
entries: *mut *mut glib::GList,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_get_device_info(
device_id: *mut ALSATimerDeviceId,
device_info: *mut *mut ALSATimerDeviceInfo,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_get_device_status(
device_id: *mut ALSATimerDeviceId,
device_status: *const *mut ALSATimerDeviceStatus,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_get_devnode(
devnode: *mut *mut c_char,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_get_real_time_clock_id(
clock_id: *mut c_int,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_get_sysname(
sysname: *mut *mut c_char,
error: *mut *mut glib::GError,
) -> gboolean;
pub fn alsatimer_set_device_params(
device_id: *mut ALSATimerDeviceId,
device_params: *const ALSATimerDeviceParams,
error: *mut *mut glib::GError,
) -> gboolean;
}