1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/* automatically generated by rust-bindgen */

pub const _MQUEUE_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_ISO_10646__ : u32 = 201605 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 24 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const __clock_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __FD_ZERO_STOS : & 'static [ u8 ; 6usize ] = b"stosq\0" ; pub const _SIGSET_H_types : u32 = 1 ; pub const __timespec_defined : u32 = 1 ; pub const _STRUCT_TIMEVAL : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _SYS_SYSMACROS_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED : u32 = 1 ; pub const _FCNTL_H : u32 = 1 ; pub const __O_LARGEFILE : u32 = 0 ; pub const F_GETLK64 : u32 = 5 ; pub const F_SETLK64 : u32 = 6 ; pub const F_SETLKW64 : u32 = 7 ; pub const O_ACCMODE : u32 = 3 ; pub const O_RDONLY : u32 = 0 ; pub const O_WRONLY : u32 = 1 ; pub const O_RDWR : u32 = 2 ; pub const O_CREAT : u32 = 64 ; pub const O_EXCL : u32 = 128 ; pub const O_NOCTTY : u32 = 256 ; pub const O_TRUNC : u32 = 512 ; pub const O_APPEND : u32 = 1024 ; pub const O_NONBLOCK : u32 = 2048 ; pub const O_NDELAY : u32 = 2048 ; pub const O_SYNC : u32 = 1052672 ; pub const O_FSYNC : u32 = 1052672 ; pub const O_ASYNC : u32 = 8192 ; pub const __O_DIRECTORY : u32 = 65536 ; pub const __O_NOFOLLOW : u32 = 131072 ; pub const __O_CLOEXEC : u32 = 524288 ; pub const __O_DIRECT : u32 = 16384 ; pub const __O_NOATIME : u32 = 262144 ; pub const __O_PATH : u32 = 2097152 ; pub const __O_DSYNC : u32 = 4096 ; pub const __O_TMPFILE : u32 = 4259840 ; pub const F_GETLK : u32 = 5 ; pub const F_SETLK : u32 = 6 ; pub const F_SETLKW : u32 = 7 ; pub const O_DIRECTORY : u32 = 65536 ; pub const O_NOFOLLOW : u32 = 131072 ; pub const O_CLOEXEC : u32 = 524288 ; pub const O_DSYNC : u32 = 4096 ; pub const O_RSYNC : u32 = 1052672 ; pub const F_DUPFD : u32 = 0 ; pub const F_GETFD : u32 = 1 ; pub const F_SETFD : u32 = 2 ; pub const F_GETFL : u32 = 3 ; pub const F_SETFL : u32 = 4 ; pub const __F_SETOWN : u32 = 8 ; pub const __F_GETOWN : u32 = 9 ; pub const F_SETOWN : u32 = 8 ; pub const F_GETOWN : u32 = 9 ; pub const __F_SETSIG : u32 = 10 ; pub const __F_GETSIG : u32 = 11 ; pub const __F_SETOWN_EX : u32 = 15 ; pub const __F_GETOWN_EX : u32 = 16 ; pub const F_DUPFD_CLOEXEC : u32 = 1030 ; pub const FD_CLOEXEC : u32 = 1 ; pub const F_RDLCK : u32 = 0 ; pub const F_WRLCK : u32 = 1 ; pub const F_UNLCK : u32 = 2 ; pub const F_EXLCK : u32 = 4 ; pub const F_SHLCK : u32 = 8 ; pub const LOCK_SH : u32 = 1 ; pub const LOCK_EX : u32 = 2 ; pub const LOCK_NB : u32 = 4 ; pub const LOCK_UN : u32 = 8 ; pub const FAPPEND : u32 = 1024 ; pub const FFSYNC : u32 = 1052672 ; pub const FASYNC : u32 = 8192 ; pub const FNONBLOCK : u32 = 2048 ; pub const FNDELAY : u32 = 2048 ; pub const __POSIX_FADV_DONTNEED : u32 = 4 ; pub const __POSIX_FADV_NOREUSE : u32 = 5 ; pub const POSIX_FADV_NORMAL : u32 = 0 ; pub const POSIX_FADV_RANDOM : u32 = 1 ; pub const POSIX_FADV_SEQUENTIAL : u32 = 2 ; pub const POSIX_FADV_WILLNEED : u32 = 3 ; pub const POSIX_FADV_DONTNEED : u32 = 4 ; pub const POSIX_FADV_NOREUSE : u32 = 5 ; pub const AT_FDCWD : i32 = -100 ; pub const AT_SYMLINK_NOFOLLOW : u32 = 256 ; pub const AT_REMOVEDIR : u32 = 512 ; pub const AT_SYMLINK_FOLLOW : u32 = 1024 ; pub const AT_EACCESS : u32 = 512 ; pub const _BITS_STAT_H : u32 = 1 ; pub const _STAT_VER_KERNEL : u32 = 0 ; pub const _STAT_VER_LINUX : u32 = 1 ; pub const _MKNOD_VER_LINUX : u32 = 0 ; pub const _STAT_VER : u32 = 1 ; pub const __S_IFMT : u32 = 61440 ; pub const __S_IFDIR : u32 = 16384 ; pub const __S_IFCHR : u32 = 8192 ; pub const __S_IFBLK : u32 = 24576 ; pub const __S_IFREG : u32 = 32768 ; pub const __S_IFIFO : u32 = 4096 ; pub const __S_IFLNK : u32 = 40960 ; pub const __S_IFSOCK : u32 = 49152 ; pub const __S_ISUID : u32 = 2048 ; pub const __S_ISGID : u32 = 1024 ; pub const __S_ISVTX : u32 = 512 ; pub const __S_IREAD : u32 = 256 ; pub const __S_IWRITE : u32 = 128 ; pub const __S_IEXEC : u32 = 64 ; pub const UTIME_NOW : u32 = 1073741823 ; pub const UTIME_OMIT : u32 = 1073741822 ; pub const S_IFMT : u32 = 61440 ; pub const S_IFDIR : u32 = 16384 ; pub const S_IFCHR : u32 = 8192 ; pub const S_IFBLK : u32 = 24576 ; pub const S_IFREG : u32 = 32768 ; pub const S_IFIFO : u32 = 4096 ; pub const S_IFLNK : u32 = 40960 ; pub const S_IFSOCK : u32 = 49152 ; pub const S_ISUID : u32 = 2048 ; pub const S_ISGID : u32 = 1024 ; pub const S_ISVTX : u32 = 512 ; pub const S_IRUSR : u32 = 256 ; pub const S_IWUSR : u32 = 128 ; pub const S_IXUSR : u32 = 64 ; pub const S_IRWXU : u32 = 448 ; pub const S_IRGRP : u32 = 32 ; pub const S_IWGRP : u32 = 16 ; pub const S_IXGRP : u32 = 8 ; pub const S_IRWXG : u32 = 56 ; pub const S_IROTH : u32 = 4 ; pub const S_IWOTH : u32 = 2 ; pub const S_IXOTH : u32 = 1 ; pub const S_IRWXO : u32 = 7 ; pub const R_OK : u32 = 4 ; pub const W_OK : u32 = 2 ; pub const X_OK : u32 = 1 ; pub const F_OK : u32 = 0 ; pub const SEEK_SET : u32 = 0 ; pub const SEEK_CUR : u32 = 1 ; pub const SEEK_END : u32 = 2 ; pub const F_ULOCK : u32 = 0 ; pub const F_LOCK : u32 = 1 ; pub const F_TLOCK : u32 = 2 ; pub const F_TEST : u32 = 3 ; pub const __have_sigval_t : u32 = 1 ; pub const __have_sigevent_t : u32 = 1 ; pub const __SIGEV_MAX_SIZE : u32 = 64 ; pub const DAEMON_NAME : & 'static [ u8 ; 14usize ] = b"uugear_daemon\0" ; pub const RUN_AS_USER : & 'static [ u8 ; 5usize ] = b"root\0" ; pub const EXIT_SUCCESS : u32 = 0 ; pub const EXIT_FAILURE : u32 = 1 ; pub const REQUEST_QUEUE_NAME : & 'static [ u8 ; 22usize ] = b"/uugear_request_queue\0" ; pub const RESPONSE_QUEUE_PREFIX : & 'static [ u8 ; 24usize ] = b"/uugear_response_queue_\0" ; pub const MAX_QUEUE_NAME_LENGTH : u32 = 32 ; pub const MAX_MSG_PARTS : u32 = 8 ; pub const MAX_MSG_SIZE : u32 = 2048 ; pub const MSG_PART_SEPARATOR : & 'static [ u8 ; 4usize ] = b"]=[\0" ; pub const COMMAND_START_CHAR : u8 = 85u8 ; pub const COMMAND_END_CHAR1 : u8 = 13u8 ; pub const COMMAND_END_CHAR2 : u8 = 10u8 ; pub const UUGEAR_DEVICE_PREFIX1 : & 'static [ u8 ; 7usize ] = b"ttyUSB\0" ; pub const UUGEAR_DEVICE_PREFIX2 : & 'static [ u8 ; 7usize ] = b"ttyACM\0" ; pub const UUGEAR_DEVICE_BAUD_RATE : u32 = 115200 ; pub const UUGEAR_ID_PREFIX : & 'static [ u8 ; 8usize ] = b"UUGear-\0" ; pub const UUGEAR_ID_MAX_LENGTH : u32 = 1024 ; pub const UUGEAR_RESPONSE_START_CHAR : u8 = 9u8 ; pub const UUGEAR_RESPONSE_END_STRING : & 'static [ u8 ; 3usize ] = b":)\0" ; pub const MSG_EXIT : u32 = 0 ; pub const MSG_GET_DEVICE : u32 = 1 ; pub const MSG_CLOSE_DEVICE : u32 = 2 ; pub const MSG_SET_PIN_INPUT : u32 = 10 ; pub const MSG_SET_PIN_OUTPUT : u32 = 11 ; pub const MSG_SET_PIN_LOW : u32 = 12 ; pub const MSG_SET_PIN_HIGH : u32 = 13 ; pub const MSG_GET_PIN_STATUS : u32 = 14 ; pub const MSG_ANALOG_WRITE : u32 = 15 ; pub const MSG_ANALOG_READ : u32 = 16 ; pub const MSG_ANALOG_REFERENCE : u32 = 17 ; pub const MSG_SERVO_ATTACH : u32 = 25 ; pub const MSG_SERVO_WRITE : u32 = 26 ; pub const MSG_SERVO_READ : u32 = 27 ; pub const MSG_SERVO_DETACH : u32 = 28 ; pub const MSG_READ_DHT11 : u32 = 41 ; pub const MSG_READ_SR04 : u32 = 42 ; pub const MSG_RESET_DEVICE : u32 = 217 ; pub const CMD_GET_DEVICE_ID : u32 = 48 ; pub const CMD_SET_PIN_OUTPUT : u32 = 49 ; pub const CMD_SET_PIN_INPUT : u32 = 50 ; pub const CMD_SET_PIN_HIGH : u32 = 51 ; pub const CMD_SET_PIN_LOW : u32 = 52 ; pub const CMD_GET_PIN_STATUS : u32 = 53 ; pub const CMD_ANALOG_WRITE : u32 = 54 ; pub const CMD_ANALOG_READ : u32 = 55 ; pub const CMD_ANALOG_REFERENCE : u32 = 56 ; pub const CMD_SERVO_ATTACH : u32 = 64 ; pub const CMD_SERVO_WRITE : u32 = 65 ; pub const CMD_SERVO_READ : u32 = 66 ; pub const CMD_SERVO_DETACH : u32 = 67 ; pub const CMD_READ_DHT11 : u32 = 80 ; pub const CMD_READ_SR04 : u32 = 81 ; pub const CMD_RESET_DEVICE : u32 = 255 ; extern "C" { pub fn serialOpen ( device : * mut :: std :: os :: raw :: c_char , baud : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn serialClose ( fd : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn serialFlush ( fd : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn serialWritechar ( fd : :: std :: os :: raw :: c_int , c : :: std :: os :: raw :: c_uchar ) ; } extern "C" { pub fn serialWriteString ( fd : :: std :: os :: raw :: c_int , s : * mut :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn serialWriteData ( fd : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_char , len : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn serialReadChar ( fd : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; pub type __int8_t = :: std :: os :: raw :: c_schar ; pub type __uint8_t = :: std :: os :: raw :: c_uchar ; pub type __int16_t = :: std :: os :: raw :: c_short ; pub type __uint16_t = :: std :: os :: raw :: c_ushort ; pub type __int32_t = :: std :: os :: raw :: c_int ; pub type __uint32_t = :: std :: os :: raw :: c_uint ; pub type __int64_t = :: std :: os :: raw :: c_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __fsid_t { pub __val : [ :: std :: os :: raw :: c_int ; 2usize ] , } # [ test ] fn bindgen_test_layout___fsid_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __fsid_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __fsid_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __fsid_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __fsid_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __fsid_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __qaddr_t = * mut __quad_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type time_t = __time_t ; pub type clockid_t = __clockid_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = :: std :: os :: raw :: c_uchar ; pub type u_int16_t = :: std :: os :: raw :: c_ushort ; pub type u_int32_t = :: std :: os :: raw :: c_uint ; pub type u_int64_t = :: std :: os :: raw :: c_ulong ; pub type register_t = :: std :: os :: raw :: c_long ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __sigset_t { pub __val : [ :: std :: os :: raw :: c_ulong ; 16usize ] , } # [ test ] fn bindgen_test_layout___sigset_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __sigset_t > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __sigset_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __sigset_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __sigset_t > ( ) ) ) . __val as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __sigset_t ) , "::" , stringify ! ( __val ) ) ) ; } pub type sigset_t = __sigset_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [ test ] fn bindgen_test_layout_timespec ( ) { assert_eq ! ( :: std :: mem :: size_of :: < timespec > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( timespec ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < timespec > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( timespec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timespec > ( ) ) ) . tv_sec as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( timespec ) , "::" , stringify ! ( tv_sec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timespec > ( ) ) ) . tv_nsec as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( timespec ) , "::" , stringify ! ( tv_nsec ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __suseconds_t , } # [ test ] fn bindgen_test_layout_timeval ( ) { assert_eq ! ( :: std :: mem :: size_of :: < timeval > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( timeval ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < timeval > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( timeval ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timeval > ( ) ) ) . tv_sec as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( timeval ) , "::" , stringify ! ( tv_sec ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < timeval > ( ) ) ) . tv_usec as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( timeval ) , "::" , stringify ! ( tv_usec ) ) ) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct fd_set { pub __fds_bits : [ __fd_mask ; 16usize ] , } # [ test ] fn bindgen_test_layout_fd_set ( ) { assert_eq ! ( :: std :: mem :: size_of :: < fd_set > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( fd_set ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < fd_set > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( fd_set ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < fd_set > ( ) ) ) . __fds_bits as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( fd_set ) , "::" , stringify ! ( __fds_bits ) ) ) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select ( __nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect ( __nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn gnu_dev_major ( __dev : :: std :: os :: raw :: c_ulonglong ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn gnu_dev_minor ( __dev : :: std :: os :: raw :: c_ulonglong ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn gnu_dev_makedev ( __major : :: std :: os :: raw :: c_uint , __minor : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_ulonglong ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_attr_t { pub __size : [ :: std :: os :: raw :: c_char ; 56usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 7usize ] , } # [ test ] fn bindgen_test_layout_pthread_attr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_attr_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( pthread_attr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_attr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_attr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_attr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_attr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_attr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_attr_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [ test ] fn bindgen_test_layout___pthread_internal_list ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_internal_list > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_internal_list > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_internal_list ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __prev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __prev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_internal_list > ( ) ) ) . __next as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_internal_list ) , "::" , stringify ! ( __next ) ) ) ; } pub type __pthread_list_t = __pthread_internal_list ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutex_t { pub __data : pthread_mutex_t___pthread_mutex_s , pub __size : [ :: std :: os :: raw :: c_char ; 40usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 5usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pthread_mutex_t___pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [ test ] fn bindgen_test_layout_pthread_mutex_t___pthread_mutex_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t___pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t___pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t___pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t___pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t___pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t___pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t___pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t___pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t___pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t___pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t___pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t___pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t___pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t___pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t___pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t___pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t___pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t___pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t___pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t___pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } # [ test ] fn bindgen_test_layout_pthread_mutex_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutex_t > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutex_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutex_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutex_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutex_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_mutexattr_t { pub __size : [ :: std :: os :: raw :: c_char ; 4usize ] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_pthread_mutexattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_mutexattr_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( pthread_mutexattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_mutexattr_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pthread_mutexattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutexattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutexattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_mutexattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_mutexattr_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_cond_t { pub __data : pthread_cond_t__bindgen_ty_1 , pub __size : [ :: std :: os :: raw :: c_char ; 48usize ] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [ u64 ; 6usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pthread_cond_t__bindgen_ty_1 { pub __lock : :: std :: os :: raw :: c_int , pub __futex : :: std :: os :: raw :: c_uint , pub __total_seq : :: std :: os :: raw :: c_ulonglong , pub __wakeup_seq : :: std :: os :: raw :: c_ulonglong , pub __woken_seq : :: std :: os :: raw :: c_ulonglong , pub __mutex : * mut :: std :: os :: raw :: c_void , pub __nwaiters : :: std :: os :: raw :: c_uint , pub __broadcast_seq : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_pthread_cond_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_cond_t__bindgen_ty_1 > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( pthread_cond_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_cond_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_cond_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t__bindgen_ty_1 > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t__bindgen_ty_1 ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t__bindgen_ty_1 > ( ) ) ) . __futex as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t__bindgen_ty_1 ) , "::" , stringify ! ( __futex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t__bindgen_ty_1 > ( ) ) ) . __total_seq as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t__bindgen_ty_1 ) , "::" , stringify ! ( __total_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t__bindgen_ty_1 > ( ) ) ) . __wakeup_seq as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t__bindgen_ty_1 ) , "::" , stringify ! ( __wakeup_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t__bindgen_ty_1 > ( ) ) ) . __woken_seq as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t__bindgen_ty_1 ) , "::" , stringify ! ( __woken_seq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t__bindgen_ty_1 > ( ) ) ) . __mutex as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t__bindgen_ty_1 ) , "::" , stringify ! ( __mutex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t__bindgen_ty_1 > ( ) ) ) . __nwaiters as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t__bindgen_ty_1 ) , "::" , stringify ! ( __nwaiters ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t__bindgen_ty_1 > ( ) ) ) . __broadcast_seq as * const _ as usize } , 44usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t__bindgen_ty_1 ) , "::" , stringify ! ( __broadcast_seq ) ) ) ; } # [ test ] fn bindgen_test_layout_pthread_cond_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_cond_t > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( pthread_cond_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_cond_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_cond_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_cond_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_cond_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_condattr_t { pub __size : [ :: std :: os :: raw :: c_char ; 4usize ] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_pthread_condattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_condattr_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( pthread_condattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_condattr_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pthread_condattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_condattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_condattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_condattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_condattr_t ) , "::" , stringify ! ( __align ) ) ) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_rwlock_t { pub __data : pthread_rwlock_t__bindgen_ty_1 , pub __size : [ :: std :: os :: raw :: c_char ; 56usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 7usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct pthread_rwlock_t__bindgen_ty_1 { pub __lock : :: std :: os :: raw :: c_int , pub __nr_readers : :: std :: os :: raw :: c_uint , pub __readers_wakeup : :: std :: os :: raw :: c_uint , pub __writer_wakeup : :: std :: os :: raw :: c_uint , pub __nr_readers_queued : :: std :: os :: raw :: c_uint , pub __nr_writers_queued : :: std :: os :: raw :: c_uint , pub __writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [ :: std :: os :: raw :: c_uchar ; 7usize ] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_pthread_rwlock_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_rwlock_t__bindgen_ty_1 > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_rwlock_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __nr_readers as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __nr_readers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __readers_wakeup as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __readers_wakeup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __writer_wakeup as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __writer_wakeup ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __nr_readers_queued as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __nr_readers_queued ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __nr_writers_queued as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __nr_writers_queued ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __writer as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __writer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __shared as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __shared ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __rwelision as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __rwelision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __pad1 as * const _ as usize } , 33usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __pad2 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t__bindgen_ty_1 > ( ) ) ) . __flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t__bindgen_ty_1 ) , "::" , stringify ! ( __flags ) ) ) ; } # [ test ] fn bindgen_test_layout_pthread_rwlock_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_rwlock_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( pthread_rwlock_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_rwlock_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_rwlock_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t > ( ) ) ) . __data as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t ) , "::" , stringify ! ( __data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlock_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlock_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_rwlockattr_t { pub __size : [ :: std :: os :: raw :: c_char ; 8usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_pthread_rwlockattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_rwlockattr_t > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( pthread_rwlockattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_rwlockattr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_rwlockattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlockattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlockattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_rwlockattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_rwlockattr_t ) , "::" , stringify ! ( __align ) ) ) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_barrier_t { pub __size : [ :: std :: os :: raw :: c_char ; 32usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 4usize ] , } # [ test ] fn bindgen_test_layout_pthread_barrier_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_barrier_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( pthread_barrier_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_barrier_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( pthread_barrier_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrier_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrier_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrier_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrier_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union pthread_barrierattr_t { pub __size : [ :: std :: os :: raw :: c_char ; 4usize ] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [ test ] fn bindgen_test_layout_pthread_barrierattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < pthread_barrierattr_t > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( pthread_barrierattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < pthread_barrierattr_t > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( pthread_barrierattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrierattr_t > ( ) ) ) . __size as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrierattr_t ) , "::" , stringify ! ( __size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < pthread_barrierattr_t > ( ) ) ) . __align as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( pthread_barrierattr_t ) , "::" , stringify ! ( __align ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct flock { pub l_type : :: std :: os :: raw :: c_short , pub l_whence : :: std :: os :: raw :: c_short , pub l_start : __off_t , pub l_len : __off_t , pub l_pid : __pid_t , } # [ test ] fn bindgen_test_layout_flock ( ) { assert_eq ! ( :: std :: mem :: size_of :: < flock > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( flock ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < flock > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( flock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < flock > ( ) ) ) . l_type as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( flock ) , "::" , stringify ! ( l_type ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < flock > ( ) ) ) . l_whence as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( flock ) , "::" , stringify ! ( l_whence ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < flock > ( ) ) ) . l_start as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( flock ) , "::" , stringify ! ( l_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < flock > ( ) ) ) . l_len as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( flock ) , "::" , stringify ! ( l_len ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < flock > ( ) ) ) . l_pid as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( flock ) , "::" , stringify ! ( l_pid ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stat { pub st_dev : __dev_t , pub st_ino : __ino_t , pub st_nlink : __nlink_t , pub st_mode : __mode_t , pub st_uid : __uid_t , pub st_gid : __gid_t , pub __pad0 : :: std :: os :: raw :: c_int , pub st_rdev : __dev_t , pub st_size : __off_t , pub st_blksize : __blksize_t , pub st_blocks : __blkcnt_t , pub st_atim : timespec , pub st_mtim : timespec , pub st_ctim : timespec , pub __glibc_reserved : [ __syscall_slong_t ; 3usize ] , } # [ test ] fn bindgen_test_layout_stat ( ) { assert_eq ! ( :: std :: mem :: size_of :: < stat > ( ) , 144usize , concat ! ( "Size of: " , stringify ! ( stat ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < stat > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( stat ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_dev as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_dev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_ino as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_ino ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_nlink as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_nlink ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_mode as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_mode ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_uid as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_gid as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_gid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . __pad0 as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( __pad0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_rdev as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_rdev ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_size as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_blksize as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_blksize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_blocks as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_blocks ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_atim as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_atim ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_mtim as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_mtim ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . st_ctim as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( st_ctim ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stat > ( ) ) ) . __glibc_reserved as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( stat ) , "::" , stringify ! ( __glibc_reserved ) ) ) ; } extern "C" { pub fn fcntl ( __fd : :: std :: os :: raw :: c_int , __cmd : :: std :: os :: raw :: c_int , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn open ( __file : * const :: std :: os :: raw :: c_char , __oflag : :: std :: os :: raw :: c_int , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn openat ( __fd : :: std :: os :: raw :: c_int , __file : * const :: std :: os :: raw :: c_char , __oflag : :: std :: os :: raw :: c_int , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn creat ( __file : * const :: std :: os :: raw :: c_char , __mode : mode_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn lockf ( __fd : :: std :: os :: raw :: c_int , __cmd : :: std :: os :: raw :: c_int , __len : off_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_fadvise ( __fd : :: std :: os :: raw :: c_int , __offset : off_t , __len : off_t , __advise : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_fallocate ( __fd : :: std :: os :: raw :: c_int , __offset : off_t , __len : off_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union sigval { pub sival_int : :: std :: os :: raw :: c_int , pub sival_ptr : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_sigval ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sigval > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( sigval ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sigval > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sigval ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigval > ( ) ) ) . sival_int as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigval ) , "::" , stringify ! ( sival_int ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigval > ( ) ) ) . sival_ptr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigval ) , "::" , stringify ! ( sival_ptr ) ) ) ; } pub type sigval_t = sigval ; # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sigevent { pub sigev_value : sigval_t , pub sigev_signo : :: std :: os :: raw :: c_int , pub sigev_notify : :: std :: os :: raw :: c_int , pub _sigev_un : sigevent__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union sigevent__bindgen_ty_1 { pub _pad : [ :: std :: os :: raw :: c_int ; 12usize ] , pub _tid : __pid_t , pub _sigev_thread : sigevent__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [ u64 ; 6usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sigevent__bindgen_ty_1__bindgen_ty_1 { pub _function : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : sigval_t ) > , pub _attribute : * mut pthread_attr_t , } # [ test ] fn bindgen_test_layout_sigevent__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sigevent__bindgen_ty_1__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sigevent__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sigevent__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sigevent__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigevent__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . _function as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigevent__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( _function ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigevent__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . _attribute as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sigevent__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( _attribute ) ) ) ; } # [ test ] fn bindgen_test_layout_sigevent__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sigevent__bindgen_ty_1 > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( sigevent__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sigevent__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sigevent__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigevent__bindgen_ty_1 > ( ) ) ) . _pad as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigevent__bindgen_ty_1 ) , "::" , stringify ! ( _pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigevent__bindgen_ty_1 > ( ) ) ) . _tid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigevent__bindgen_ty_1 ) , "::" , stringify ! ( _tid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigevent__bindgen_ty_1 > ( ) ) ) . _sigev_thread as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigevent__bindgen_ty_1 ) , "::" , stringify ! ( _sigev_thread ) ) ) ; } # [ test ] fn bindgen_test_layout_sigevent ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sigevent > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( sigevent ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sigevent > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sigevent ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigevent > ( ) ) ) . sigev_value as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigevent ) , "::" , stringify ! ( sigev_value ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigevent > ( ) ) ) . sigev_signo as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sigevent ) , "::" , stringify ! ( sigev_signo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigevent > ( ) ) ) . sigev_notify as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( sigevent ) , "::" , stringify ! ( sigev_notify ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigevent > ( ) ) ) . _sigev_un as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sigevent ) , "::" , stringify ! ( _sigev_un ) ) ) ; } pub type sigevent_t = sigevent ; pub const SIGEV_SIGNAL : _bindgen_ty_1 = 0 ; pub const SIGEV_NONE : _bindgen_ty_1 = 1 ; pub const SIGEV_THREAD : _bindgen_ty_1 = 2 ; pub const SIGEV_THREAD_ID : _bindgen_ty_1 = 4 ; pub type _bindgen_ty_1 = u32 ; pub type mqd_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct mq_attr { pub mq_flags : __syscall_slong_t , pub mq_maxmsg : __syscall_slong_t , pub mq_msgsize : __syscall_slong_t , pub mq_curmsgs : __syscall_slong_t , pub __pad : [ __syscall_slong_t ; 4usize ] , } # [ test ] fn bindgen_test_layout_mq_attr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < mq_attr > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( mq_attr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < mq_attr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( mq_attr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mq_attr > ( ) ) ) . mq_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( mq_attr ) , "::" , stringify ! ( mq_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mq_attr > ( ) ) ) . mq_maxmsg as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( mq_attr ) , "::" , stringify ! ( mq_maxmsg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mq_attr > ( ) ) ) . mq_msgsize as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( mq_attr ) , "::" , stringify ! ( mq_msgsize ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mq_attr > ( ) ) ) . mq_curmsgs as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( mq_attr ) , "::" , stringify ! ( mq_curmsgs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mq_attr > ( ) ) ) . __pad as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( mq_attr ) , "::" , stringify ! ( __pad ) ) ) ; } extern "C" { pub fn mq_open ( __name : * const :: std :: os :: raw :: c_char , __oflag : :: std :: os :: raw :: c_int , ... ) -> mqd_t ; } extern "C" { pub fn mq_close ( __mqdes : mqd_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mq_getattr ( __mqdes : mqd_t , __mqstat : * mut mq_attr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mq_setattr ( __mqdes : mqd_t , __mqstat : * const mq_attr , __omqstat : * mut mq_attr ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mq_unlink ( __name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mq_notify ( __mqdes : mqd_t , __notification : * const sigevent ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mq_receive ( __mqdes : mqd_t , __msg_ptr : * mut :: std :: os :: raw :: c_char , __msg_len : usize , __msg_prio : * mut :: std :: os :: raw :: c_uint ) -> isize ; } extern "C" { pub fn mq_send ( __mqdes : mqd_t , __msg_ptr : * const :: std :: os :: raw :: c_char , __msg_len : usize , __msg_prio : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn mq_timedreceive ( __mqdes : mqd_t , __msg_ptr : * mut :: std :: os :: raw :: c_char , __msg_len : usize , __msg_prio : * mut :: std :: os :: raw :: c_uint , __abs_timeout : * const timespec ) -> isize ; } extern "C" { pub fn mq_timedsend ( __mqdes : mqd_t , __msg_ptr : * const :: std :: os :: raw :: c_char , __msg_len : usize , __msg_prio : :: std :: os :: raw :: c_uint , __abs_timeout : * const timespec ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct DeviceOpen { pub fd : :: std :: os :: raw :: c_int , pub devName : * mut :: std :: os :: raw :: c_char , pub id : * mut :: std :: os :: raw :: c_char , } # [ test ] fn bindgen_test_layout_DeviceOpen ( ) { assert_eq ! ( :: std :: mem :: size_of :: < DeviceOpen > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( DeviceOpen ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < DeviceOpen > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( DeviceOpen ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DeviceOpen > ( ) ) ) . fd as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( DeviceOpen ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DeviceOpen > ( ) ) ) . devName as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( DeviceOpen ) , "::" , stringify ! ( devName ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < DeviceOpen > ( ) ) ) . id as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( DeviceOpen ) , "::" , stringify ! ( id ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct UUGearDevice { pub id : [ :: std :: os :: raw :: c_char ; 1024usize ] , pub clientId : :: std :: os :: raw :: c_int , pub fd : :: std :: os :: raw :: c_int , pub in_ : mqd_t , pub out : mqd_t , } # [ test ] fn bindgen_test_layout_UUGearDevice ( ) { assert_eq ! ( :: std :: mem :: size_of :: < UUGearDevice > ( ) , 1040usize , concat ! ( "Size of: " , stringify ! ( UUGearDevice ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < UUGearDevice > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( UUGearDevice ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < UUGearDevice > ( ) ) ) . id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( UUGearDevice ) , "::" , stringify ! ( id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < UUGearDevice > ( ) ) ) . clientId as * const _ as usize } , 1024usize , concat ! ( "Offset of field: " , stringify ! ( UUGearDevice ) , "::" , stringify ! ( clientId ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < UUGearDevice > ( ) ) ) . fd as * const _ as usize } , 1028usize , concat ! ( "Offset of field: " , stringify ! ( UUGearDevice ) , "::" , stringify ! ( fd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < UUGearDevice > ( ) ) ) . in_ as * const _ as usize } , 1032usize , concat ! ( "Offset of field: " , stringify ! ( UUGearDevice ) , "::" , stringify ! ( in_ ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < UUGearDevice > ( ) ) ) . out as * const _ as usize } , 1036usize , concat ! ( "Offset of field: " , stringify ! ( UUGearDevice ) , "::" , stringify ! ( out ) ) ) ; } extern "C" { pub fn setShowLogs ( show : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn setupUUGear ( ) ; } extern "C" { pub fn attachUUGearDevice ( id : * mut :: std :: os :: raw :: c_char ) -> UUGearDevice ; } extern "C" { pub fn setPinModeAsOutput ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn setPinModeAsInput ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn setPinHigh ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn setPinLow ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn getPinStatus ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn analogWrite ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int , value : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn analogRead ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { 
 /// Configures the reference voltage used for analog input
/// (i.e. the value used as the top of the input range)
///
/// parameters:
/// dev is the pointer of the device struct
/// type is the reference type:
/// 0 - DEFAULT
/// 1 - EXTERNAL 
 pub fn analogReference ( dev : * mut UUGearDevice , type_ : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn detachUUGearDevice ( dev : * mut UUGearDevice ) ; } extern "C" { pub fn resetUUGearDevice ( dev : * mut UUGearDevice ) ; } extern "C" { 
 /// Attach the servo on given pin
///
/// parameters:
/// dev is the pointer of the device struct
/// pin is the digital pin that links to the signal line of servo 
 pub fn attachServo ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int ) ; } extern "C" { 
 /// Write the angle of servo on given pin
///
/// parameters:
/// dev is the pointer of the device struct
/// pin is the digital pin that connects to the signal line of servo
/// angle is the target angle of the servo 
 pub fn writeServo ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int , angle : :: std :: os :: raw :: c_int ) ; } extern "C" { 
 /// Read the angle of servo on given pin
///
/// parameters:
/// dev is the pointer of the device struct
/// pin is the digital pin that connects to the signal line of servo
///
/// returns:
/// integer that represents the angle of the servo 
 pub fn readServo ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { 
 /// Detach the servo on given pin
///
/// parameters:
/// dev is the pointer of the device struct
/// pin is the digital pin that links to the signal line of servo 
 pub fn detachServo ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn readDHT ( dev : * mut UUGearDevice , pin : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { 
 /// Read distance value (in cm) from HC-SR04 sensor
///
/// parameters:
/// dev is the pointer of the device struct
/// trigPin is the digital pin that connects to the TRIG wire of SR04
/// echoPin is the digital pin that connects to the ECHO wire of SR04
/// echoPin could be the same than trigPin if you wire them together.
///
/// returns:
/// float value of the distance in cm
/// you may need to check if it is in the correct range by yourself. 
 pub fn readSR04 ( dev : * mut UUGearDevice , trigPin : :: std :: os :: raw :: c_int , echoPin : :: std :: os :: raw :: c_int ) -> f32 ; } extern "C" { pub fn cleanupUUGear ( ) ; } extern "C" { pub fn sendMessage ( in_ : mqd_t , msgType : :: std :: os :: raw :: c_int , clientId : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , pin : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn sendMessageWithParameter ( in_ : mqd_t , msgType : :: std :: os :: raw :: c_int , clientId : :: std :: os :: raw :: c_int , fd : :: std :: os :: raw :: c_int , pin : :: std :: os :: raw :: c_int , parameter : :: std :: os :: raw :: c_int ) ; } extern "C" { pub fn waitForInteger ( dev : * mut UUGearDevice , errorCode : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn waitForString ( dev : * mut UUGearDevice , errorCode : * mut :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn waitForFloat ( dev : * mut UUGearDevice , errorCode : * mut :: std :: os :: raw :: c_int ) -> f32 ; }