Skip to main content

alsa_sys/
lib.rs

1#![allow(non_camel_case_types)]
2#![allow(non_snake_case)]
3#![allow(non_upper_case_globals)]
4#![no_std]
5
6use libc::{FILE, pid_t, pollfd};
7
8#[cfg(not(alsa_sys_time64))]
9pub use libc::{timespec, timeval};
10
11// Mirrors glibc's 32-bit time64 struct timespec; see probe_time64 in build.rs.
12#[cfg(alsa_sys_time64)]
13#[repr(C)]
14#[derive(Copy, Clone, Debug, Default)]
15#[cfg_attr(feature = "extra_traits", derive(PartialEq, Eq, Hash))]
16pub struct timespec {
17    pub tv_sec: i64,
18    #[cfg(target_endian = "little")]
19    pub tv_nsec: i32,
20    #[cfg(target_endian = "little")]
21    __pad: i32,
22    #[cfg(target_endian = "big")]
23    __pad: i32,
24    #[cfg(target_endian = "big")]
25    pub tv_nsec: i32,
26}
27
28// Mirrors glibc's 32-bit time64 struct timeval; see probe_time64 in build.rs.
29#[cfg(alsa_sys_time64)]
30#[repr(C)]
31#[derive(Copy, Clone, Debug, Default)]
32#[cfg_attr(feature = "extra_traits", derive(PartialEq, Eq, Hash))]
33pub struct timeval {
34    pub tv_sec: i64,
35    pub tv_usec: i32,
36    __pad: i32,
37}
38
39#[cfg(feature = "use-bindgen")]
40include!(concat!(env!("OUT_DIR"), "/generated.rs"));
41
42#[cfg(not(feature = "use-bindgen"))]
43include!("generated.rs");