/* automatically generated by rust-bindgen 0.68.1 */
pub const SEM_UNDO: i32 = 4096;
pub const GETPID: i32 = 11;
pub const GETVAL: i32 = 12;
pub const GETALL: i32 = 13;
pub const GETNCNT: i32 = 14;
pub const GETZCNT: i32 = 15;
pub const SETVAL: i32 = 16;
pub const SETALL: i32 = 17;
pub const SEM_STAT: i32 = 18;
pub const SEM_INFO: i32 = 19;
pub const SEM_STAT_ANY: i32 = 20;
pub type __uid_t = ::std::os::raw::c_uint;
pub type __gid_t = ::std::os::raw::c_uint;
pub type __mode_t = ::std::os::raw::c_uint;
pub type __time_t = ::std::os::raw::c_long;
pub type __key_t = ::std::os::raw::c_int;
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct ipc_perm {
pub __key: __key_t,
pub uid: __uid_t,
pub gid: __gid_t,
pub cuid: __uid_t,
pub cgid: __gid_t,
pub mode: __mode_t,
pub __seq: ::std::os::raw::c_ushort,
pub __pad2: ::std::os::raw::c_ushort,
pub __glibc_reserved1: __syscall_ulong_t,
pub __glibc_reserved2: __syscall_ulong_t,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct semid_ds {
pub sem_perm: ipc_perm,
pub sem_otime: __time_t,
pub __sem_otime_high: __syscall_ulong_t,
pub sem_ctime: __time_t,
pub __sem_ctime_high: __syscall_ulong_t,
pub sem_nsems: __syscall_ulong_t,
pub __glibc_reserved3: __syscall_ulong_t,
pub __glibc_reserved4: __syscall_ulong_t,
}
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct seminfo {
pub semmap: ::std::os::raw::c_int,
pub semmni: ::std::os::raw::c_int,
pub semmns: ::std::os::raw::c_int,
pub semmnu: ::std::os::raw::c_int,
pub semmsl: ::std::os::raw::c_int,
pub semopm: ::std::os::raw::c_int,
pub semume: ::std::os::raw::c_int,
pub semusz: ::std::os::raw::c_int,
pub semvmx: ::std::os::raw::c_int,
pub semaem: ::std::os::raw::c_int,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union semun {
pub val: ::std::os::raw::c_int,
pub buf: *mut semid_ds,
pub array: *mut ::std::os::raw::c_ushort,
pub __buf: *mut seminfo,
}
impl Default for semun {
fn default() -> Self {
let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
unsafe {
::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
s.assume_init()
}
}
}