use nix::libc::c_int;
use nix::{ioctl_read, ioctl_readwrite, ioctl_write_ptr};
use super::types;
ioctl_read! {
seq_pversion, b'S', 0x00, c_int
}
ioctl_read! {
seq_client_id, b'S', 0x01, c_int
}
ioctl_readwrite! {
seq_system_info, b'S', 0x02, types::SndSeqSystemInfo
}
ioctl_readwrite! {
seq_running_mode, b'S', 0x03, types::SndSeqRunningInfo
}
ioctl_readwrite! {
seq_get_client_info, b'S', 0x10, types::SndSeqClientInfo
}
ioctl_write_ptr! {
seq_set_client_info, b'S', 0x11, types::SndSeqClientInfo
}
ioctl_readwrite! {
seq_create_port, b'S', 0x20, types::SndSeqPortInfo
}
ioctl_write_ptr! {
seq_delete_port, b'S', 0x21, types::SndSeqPortInfo
}
ioctl_readwrite! {
seq_get_port_info, b'S', 0x22, types::SndSeqPortInfo
}
ioctl_write_ptr! {
seq_set_port_info, b'S', 0x23, types::SndSeqPortInfo
}
ioctl_write_ptr! {
seq_subscribe_port, b'S', 0x30, types::SndSeqPortSubscribe
}
ioctl_write_ptr! {
seq_unsubscribe_port, b'S', 0x31, types::SndSeqPortSubscribe
}
ioctl_readwrite! {
seq_create_queue, b'S', 0x32, types::SndSeqQueueInfo
}
ioctl_write_ptr! {
seq_delete_queue, b'S', 0x33, types::SndSeqQueueInfo
}
ioctl_readwrite! {
seq_get_queue_info, b'S', 0x34, types::SndSeqQueueInfo
}
ioctl_readwrite! {
seq_set_queue_info, b'S', 0x35, types::SndSeqQueueInfo
}
ioctl_readwrite! {
seq_get_named_queue, b'S', 0x36, types::SndSeqQueueInfo
}
ioctl_readwrite! {
seq_get_queue_status, b'S', 0x40, types::SndSeqQueueStatus
}
ioctl_readwrite! {
seq_get_queue_tempo, b'S', 0x41, types::SndSeqQueueTempo
}
ioctl_write_ptr! {
seq_set_queue_tempo, b'S', 0x42, types::SndSeqQueueTempo
}
ioctl_readwrite! {
seq_get_queue_timer, b'S', 0x45, types::SndSeqQueueTimer
}
ioctl_write_ptr! {
seq_set_queue_timer, b'S', 0x46, types::SndSeqQueueTimer
}
ioctl_readwrite! {
seq_get_queue_client, b'S', 0x49, types::SndSeqQueueClient
}
ioctl_write_ptr! {
seq_set_queue_client, b'S', 0x4a, types::SndSeqQueueClient
}
ioctl_readwrite! {
seq_get_client_pool, b'S', 0x4b, types::SndSeqClientPool
}
ioctl_write_ptr! {
seq_set_client_pool, b'S', 0x4c, types::SndSeqClientPool
}
ioctl_write_ptr! {
seq_remove_events, b'S', 0x4e, types::SndSeqRemoveEvents
}
ioctl_readwrite! {
seq_query_subs, b'S', 0x4f, types::SndSeqQuerySubs
}
ioctl_readwrite! {
seq_get_subscription, b'S', 0x50, types::SndSeqPortSubscribe
}
ioctl_readwrite! {
seq_query_next_client, b'S', 0x51, types::SndSeqClientInfo
}
ioctl_readwrite! {
seq_query_next_port, b'S', 0x52, types::SndSeqPortInfo
}