1
2
3
/* automatically generated by rust-bindgen */

pub const RTAPI_NAME_LEN : u32 = 31 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _SPAWN_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 __GLIBC_USE_DEPRECATED_GETS : 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 = 201706 ; pub const __STDC_NO_THREADS__ : u32 = 1 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 27 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _SCHED_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 __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const __time_t_defined : u32 = 1 ; pub const __timespec_defined : u32 = 1 ; pub const _BITS_SCHED_H : u32 = 1 ; pub const SCHED_OTHER : u32 = 0 ; pub const SCHED_FIFO : u32 = 1 ; pub const SCHED_RR : u32 = 2 ; pub const _BITS_CPU_SET_H : u32 = 1 ; pub const __CPU_SETSIZE : u32 = 1024 ; pub const _SYS_TYPES_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : 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 _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __FD_ZERO_STOS : & 'static [ u8 ; 6usize ] = b"stosq\0" ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _SYS_SYSMACROS_H : u32 = 1 ; pub const _BITS_SYSMACROS_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; 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_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const __PTHREAD_MUTEX_LOCK_ELISION : u32 = 1 ; pub const __PTHREAD_MUTEX_NUSERS_AFTER_KIND : u32 = 0 ; pub const __PTHREAD_MUTEX_USE_UNION : u32 = 0 ; pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const POSIX_SPAWN_RESETIDS : u32 = 1 ; pub const POSIX_SPAWN_SETPGROUP : u32 = 2 ; pub const POSIX_SPAWN_SETSIGDEF : u32 = 4 ; pub const POSIX_SPAWN_SETSIGMASK : u32 = 8 ; pub const POSIX_SPAWN_SETSCHEDPARAM : u32 = 16 ; pub const POSIX_SPAWN_SETSCHEDULER : u32 = 32 ; pub const _BITS_SIGNUM_H : u32 = 1 ; pub const _BITS_SIGNUM_GENERIC_H : u32 = 1 ; pub const SIGINT : u32 = 2 ; pub const SIGILL : u32 = 4 ; pub const SIGABRT : u32 = 6 ; pub const SIGFPE : u32 = 8 ; pub const SIGSEGV : u32 = 11 ; pub const SIGTERM : u32 = 15 ; pub const SIGHUP : u32 = 1 ; pub const SIGQUIT : u32 = 3 ; pub const SIGTRAP : u32 = 5 ; pub const SIGKILL : u32 = 9 ; pub const SIGBUS : u32 = 10 ; pub const SIGSYS : u32 = 12 ; pub const SIGPIPE : u32 = 13 ; pub const SIGALRM : u32 = 14 ; pub const SIGURG : u32 = 16 ; pub const SIGSTOP : u32 = 17 ; pub const SIGTSTP : u32 = 18 ; pub const SIGCONT : u32 = 19 ; pub const SIGCHLD : u32 = 20 ; pub const SIGTTIN : u32 = 21 ; pub const SIGTTOU : u32 = 22 ; pub const SIGPOLL : u32 = 23 ; pub const SIGXCPU : u32 = 24 ; pub const SIGXFSZ : u32 = 25 ; pub const SIGVTALRM : u32 = 26 ; pub const SIGPROF : u32 = 27 ; pub const SIGUSR1 : u32 = 30 ; pub const SIGUSR2 : u32 = 31 ; pub const SIGWINCH : u32 = 28 ; pub const SIGIO : u32 = 23 ; pub const SIGIOT : u32 = 6 ; pub const SIGCLD : u32 = 20 ; pub const __SIGRTMIN : u32 = 32 ; pub const __SIGRTMAX : u32 = 32 ; pub const _NSIG : u32 = 33 ; pub const SIGSTKFLT : u32 = 16 ; pub const SIGPWR : u32 = 30 ; pub const __sig_atomic_t_defined : u32 = 1 ; pub const __siginfo_t_defined : u32 = 1 ; pub const __SI_MAX_SIZE : u32 = 128 ; pub const _BITS_SIGINFO_ARCH_H : u32 = 1 ; pub const __SI_ERRNO_THEN_CODE : u32 = 1 ; pub const __SI_HAVE_SIGSYS : u32 = 1 ; pub const _BITS_SIGINFO_CONSTS_H : u32 = 1 ; pub const __SI_ASYNCIO_AFTER_SIGIO : u32 = 1 ; pub const __sigevent_t_defined : u32 = 1 ; pub const __SIGEV_MAX_SIZE : u32 = 64 ; pub const _BITS_SIGEVENT_CONSTS_H : u32 = 1 ; pub const NSIG : u32 = 33 ; pub const SA_NOCLDSTOP : u32 = 1 ; pub const SA_NOCLDWAIT : u32 = 2 ; pub const SA_SIGINFO : u32 = 4 ; pub const SA_ONSTACK : u32 = 134217728 ; pub const SA_RESTART : u32 = 268435456 ; pub const SA_NODEFER : u32 = 1073741824 ; pub const SA_RESETHAND : u32 = 2147483648 ; pub const SA_INTERRUPT : u32 = 536870912 ; pub const SA_NOMASK : u32 = 1073741824 ; pub const SA_ONESHOT : u32 = 2147483648 ; pub const SA_STACK : u32 = 134217728 ; pub const SIG_BLOCK : u32 = 0 ; pub const SIG_UNBLOCK : u32 = 1 ; pub const SIG_SETMASK : u32 = 2 ; pub const _BITS_SIGCONTEXT_H : u32 = 1 ; pub const FP_XSTATE_MAGIC1 : u32 = 1179670611 ; pub const FP_XSTATE_MAGIC2 : u32 = 1179670597 ; pub const __stack_t_defined : u32 = 1 ; pub const _SYS_UCONTEXT_H : u32 = 1 ; pub const __NGREG : u32 = 23 ; pub const NGREG : u32 = 23 ; pub const _BITS_SIGSTACK_H : u32 = 1 ; pub const MINSIGSTKSZ : u32 = 2048 ; pub const SIGSTKSZ : u32 = 8192 ; pub const _BITS_SS_FLAGS_H : u32 = 1 ; pub const __sigstack_defined : u32 = 1 ; pub const _BITS_SIGTHREAD_H : u32 = 1 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const HAL_NAME_LEN : u32 = 47 ; pub const HAL_LOCK_NONE : u32 = 0 ; pub const HAL_LOCK_LOAD : u32 = 1 ; pub const HAL_LOCK_CONFIG : u32 = 2 ; pub const HAL_LOCK_PARAMS : u32 = 4 ; pub const HAL_LOCK_RUN : u32 = 8 ; pub const HAL_LOCK_ALL : u32 = 255 ; pub const true_ : u32 = 1 ; pub const false_ : u32 = 0 ; pub const __bool_true_false_are_defined : u32 = 1 ; pub const _INTTYPES_H : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = -128 ; pub const INT16_MIN : i32 = -32768 ; pub const INT32_MIN : i32 = -2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = -128 ; pub const INT_LEAST16_MIN : i32 = -32768 ; pub const INT_LEAST32_MIN : i32 = -2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = -128 ; pub const INT_FAST16_MIN : i64 = -9223372036854775808 ; pub const INT_FAST32_MIN : i64 = -9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = -1 ; pub const UINT_FAST32_MAX : i32 = -1 ; pub const INTPTR_MIN : i64 = -9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = -1 ; pub const PTRDIFF_MIN : i64 = -9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = -2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = -1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const ____gwchar_t_defined : u32 = 1 ; pub const __PRI64_PREFIX : & 'static [ u8 ; 2usize ] = b"l\0" ; pub const __PRIPTR_PREFIX : & 'static [ u8 ; 2usize ] = b"l\0" ; pub const PRId8 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRId16 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRId32 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRId64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIdLEAST8 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRIdLEAST16 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRIdLEAST32 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRIdLEAST64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIdFAST8 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const PRIdFAST16 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIdFAST32 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIdFAST64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIi8 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIi16 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIi32 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIi64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIiLEAST8 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIiLEAST16 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIiLEAST32 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIiLEAST64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIiFAST8 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const PRIiFAST16 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIiFAST32 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIiFAST64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIo8 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIo16 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIo32 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIo64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIoLEAST8 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIoLEAST16 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIoLEAST32 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIoLEAST64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIoFAST8 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const PRIoFAST16 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIoFAST32 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIoFAST64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIu8 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIu16 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIu32 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIu64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIuLEAST8 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIuLEAST16 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIuLEAST32 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIuLEAST64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIuFAST8 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const PRIuFAST16 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIuFAST32 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIuFAST64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIx8 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIx16 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIx32 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIx64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIxLEAST8 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIxLEAST16 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIxLEAST32 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIxLEAST64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIxFAST8 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const PRIxFAST16 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIxFAST32 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIxFAST64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIX8 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIX16 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIX32 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIX64 : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIXLEAST8 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIXLEAST16 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIXLEAST32 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIXLEAST64 : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIXFAST8 : & 'static [ u8 ; 2usize ] = b"X\0" ; pub const PRIXFAST16 : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIXFAST32 : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIXFAST64 : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIdMAX : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIiMAX : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIoMAX : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIuMAX : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIxMAX : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIXMAX : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const PRIdPTR : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const PRIiPTR : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const PRIoPTR : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const PRIuPTR : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const PRIxPTR : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const PRIXPTR : & 'static [ u8 ; 3usize ] = b"lX\0" ; pub const SCNd8 : & 'static [ u8 ; 4usize ] = b"hhd\0" ; pub const SCNd16 : & 'static [ u8 ; 3usize ] = b"hd\0" ; pub const SCNd32 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const SCNd64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNdLEAST8 : & 'static [ u8 ; 4usize ] = b"hhd\0" ; pub const SCNdLEAST16 : & 'static [ u8 ; 3usize ] = b"hd\0" ; pub const SCNdLEAST32 : & 'static [ u8 ; 2usize ] = b"d\0" ; pub const SCNdLEAST64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNdFAST8 : & 'static [ u8 ; 4usize ] = b"hhd\0" ; pub const SCNdFAST16 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNdFAST32 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNdFAST64 : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNi8 : & 'static [ u8 ; 4usize ] = b"hhi\0" ; pub const SCNi16 : & 'static [ u8 ; 3usize ] = b"hi\0" ; pub const SCNi32 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const SCNi64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNiLEAST8 : & 'static [ u8 ; 4usize ] = b"hhi\0" ; pub const SCNiLEAST16 : & 'static [ u8 ; 3usize ] = b"hi\0" ; pub const SCNiLEAST32 : & 'static [ u8 ; 2usize ] = b"i\0" ; pub const SCNiLEAST64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNiFAST8 : & 'static [ u8 ; 4usize ] = b"hhi\0" ; pub const SCNiFAST16 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNiFAST32 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNiFAST64 : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNu8 : & 'static [ u8 ; 4usize ] = b"hhu\0" ; pub const SCNu16 : & 'static [ u8 ; 3usize ] = b"hu\0" ; pub const SCNu32 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const SCNu64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNuLEAST8 : & 'static [ u8 ; 4usize ] = b"hhu\0" ; pub const SCNuLEAST16 : & 'static [ u8 ; 3usize ] = b"hu\0" ; pub const SCNuLEAST32 : & 'static [ u8 ; 2usize ] = b"u\0" ; pub const SCNuLEAST64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNuFAST8 : & 'static [ u8 ; 4usize ] = b"hhu\0" ; pub const SCNuFAST16 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNuFAST32 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNuFAST64 : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNo8 : & 'static [ u8 ; 4usize ] = b"hho\0" ; pub const SCNo16 : & 'static [ u8 ; 3usize ] = b"ho\0" ; pub const SCNo32 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const SCNo64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNoLEAST8 : & 'static [ u8 ; 4usize ] = b"hho\0" ; pub const SCNoLEAST16 : & 'static [ u8 ; 3usize ] = b"ho\0" ; pub const SCNoLEAST32 : & 'static [ u8 ; 2usize ] = b"o\0" ; pub const SCNoLEAST64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNoFAST8 : & 'static [ u8 ; 4usize ] = b"hho\0" ; pub const SCNoFAST16 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNoFAST32 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNoFAST64 : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNx8 : & 'static [ u8 ; 4usize ] = b"hhx\0" ; pub const SCNx16 : & 'static [ u8 ; 3usize ] = b"hx\0" ; pub const SCNx32 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const SCNx64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNxLEAST8 : & 'static [ u8 ; 4usize ] = b"hhx\0" ; pub const SCNxLEAST16 : & 'static [ u8 ; 3usize ] = b"hx\0" ; pub const SCNxLEAST32 : & 'static [ u8 ; 2usize ] = b"x\0" ; pub const SCNxLEAST64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNxFAST8 : & 'static [ u8 ; 4usize ] = b"hhx\0" ; pub const SCNxFAST16 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNxFAST32 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNxFAST64 : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNdMAX : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNiMAX : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNoMAX : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNuMAX : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNxMAX : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const SCNdPTR : & 'static [ u8 ; 3usize ] = b"ld\0" ; pub const SCNiPTR : & 'static [ u8 ; 3usize ] = b"li\0" ; pub const SCNoPTR : & 'static [ u8 ; 3usize ] = b"lo\0" ; pub const SCNuPTR : & 'static [ u8 ; 3usize ] = b"lu\0" ; pub const SCNxPTR : & 'static [ u8 ; 3usize ] = b"lx\0" ; pub const RTAPI_INT8_MAX : u32 = 127 ; pub const RTAPI_INT8_MIN : i32 = -128 ; pub const RTAPI_UINT8_MAX : u32 = 255 ; pub const RTAPI_INT16_MAX : u32 = 32767 ; pub const RTAPI_INT16_MIN : i32 = -32768 ; pub const RTAPI_UINT16_MAX : u32 = 65535 ; pub const RTAPI_INT32_MAX : u32 = 2147483647 ; pub const RTAPI_INT32_MIN : i32 = -2147483648 ; pub const RTAPI_UINT32_MAX : u32 = 4294967295 ; pub const HAL_STREAM_MAX_PINS : u32 = 21 ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ repr ( align ( 16 ) ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [ test ] fn bindgen_test_layout_max_align_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < max_align_t > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < max_align_t > ( ) , 16usize , concat ! ( "Alignment of " , stringify ! ( max_align_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < max_align_t > ( ) ) ) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( max_align_t ) , "::" , stringify ! ( __clang_max_align_nonce2 ) ) ) ; } extern "C" { # [ doc = " 'rtapi_init() sets up the RTAPI.  It must be called by any" ] # [ doc = "module that intends to use the API, before any other RTAPI" ] # [ doc = "calls." ] # [ doc = "'modname' can optionally point to a string that identifies" ] # [ doc = "the module.  The string will be truncated at RTAPI_NAME_LEN" ] # [ doc = "characters.  If 'modname' is NULL, the system will assign a" ] # [ doc = "name." ] # [ doc = "On success, returns a positive integer module ID, which is" ] # [ doc = "used for subsequent calls to rtapi_xxx_new, rtapi_xxx_delete," ] # [ doc = "and rtapi_exit.  On failure, returns an error code as defined" ] # [ doc = "above.  Call only from within user or init/cleanup code, not" ] # [ doc = "from realtime tasks." ] pub fn rtapi_init ( modname : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'rtapi_exit()' shuts down and cleans up the RTAPI.  It must be" ] # [ doc = "called prior to exit by any module that called rtapi_init." ] # [ doc = "'module_id' is the ID code returned when that module called" ] # [ doc = "rtapi_init()." ] # [ doc = "Returns a status code.  rtapi_exit() may attempt to clean up" ] # [ doc = "any tasks, shared memory, and other resources allocated by the" ] # [ doc = "module, but should not be relied on to replace proper cleanup" ] # [ doc = "code within the module.  Call only from within user or" ] # [ doc = "init/cleanup code, not from realtime tasks." ] pub fn rtapi_exit ( module_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'rtapi_snprintf()' works like 'snprintf()' from the normal" ] # [ doc = "C library, except that it may not handle long longs." ] # [ doc = "It is provided here because some RTOS kernels don't provide" ] # [ doc = "a realtime safe version of the function, and those that do don't provide" ] # [ doc = "support for printing doubles.  On systems with a" ] # [ doc = "good kernel snprintf(), or in user space, this function" ] # [ doc = "simply calls the normal snprintf().  May be called from user," ] # [ doc = "init/cleanup, and realtime code." ] pub fn rtapi_snprintf ( buf : * mut :: std :: os :: raw :: c_char , size : :: std :: os :: raw :: c_ulong , fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; extern "C" { pub fn rtapi_vsnprintf ( buf : * mut :: std :: os :: raw :: c_char , size : :: std :: os :: raw :: c_ulong , fmt : * const :: std :: os :: raw :: c_char , ap : * mut __va_list_tag ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'rtapi_print()' prints a printf style message.  Depending on the" ] # [ doc = "RTOS and whether the program is being compiled for user space" ] # [ doc = "or realtime, the message may be printed to stdout, stderr, or" ] # [ doc = "to a kernel message log, etc.  The calling syntax and format" ] # [ doc = "string is similar to printf except that floating point and" ] # [ doc = "longlongs are NOT supported in realtime and may not be supported" ] # [ doc = "in user space.  For some RTOS's, a 80 byte buffer is used, so the" ] # [ doc = "format line and arguments should not produce a line more than" ] # [ doc = "80 bytes long.  (The buffer is protected against overflow.)" ] # [ doc = "Does not block, but  can take a fairly long time, depending on" ] # [ doc = "the format string and OS.  May be called from user, init/cleanup," ] # [ doc = "and realtime code." ] pub fn rtapi_print ( fmt : * const :: std :: os :: raw :: c_char , ... ) ; } pub const msg_level_t_RTAPI_MSG_NONE : msg_level_t = 0 ; pub const msg_level_t_RTAPI_MSG_ERR : msg_level_t = 1 ; pub const msg_level_t_RTAPI_MSG_WARN : msg_level_t = 2 ; pub const msg_level_t_RTAPI_MSG_INFO : msg_level_t = 3 ; pub const msg_level_t_RTAPI_MSG_DBG : msg_level_t = 4 ; pub const msg_level_t_RTAPI_MSG_ALL : msg_level_t = 5 ; # [ doc = " 'rtapi_print_msg()' prints a printf-style message when the level" ] # [ doc = "is less than or equal to the current message level set by" ] # [ doc = "rtapi_set_msg_level().  May be called from user, init/cleanup," ] # [ doc = "and realtime code." ] pub type msg_level_t = u32 ; extern "C" { pub fn rtapi_print_msg ( level : msg_level_t , fmt : * const :: std :: os :: raw :: c_char , ... ) ; } extern "C" { # [ doc = " Set the maximum level of message to print.  In userspace code," ] # [ doc = "each component has its own independent message level.  In realtime" ] # [ doc = "code, all components share a single message level.  Returns 0 for" ] # [ doc = "success or -EINVAL if the level is out of range." ] pub fn rtapi_set_msg_level ( level : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " Retrieve the message level set by the last call to rtapi_set_msg_level" ] pub fn rtapi_get_msg_level ( ) -> :: std :: os :: raw :: c_int ; } # [ doc = " 'rtapi_get_msg_handler' and 'rtapi_set_msg_handler' access the function" ] # [ doc = "pointer used by rtapi_print and rtapi_print_msg.  By default, messages" ] # [ doc = "appear in the kernel log, but by replacing the handler a user of the rtapi" ] # [ doc = "library can send the messages to another destination.  Calling" ] # [ doc = "rtapi_set_msg_handler with NULL restores the default handler. Call from" ] # [ doc = "real-time init/cleanup code only.  When called from rtapi_print()," ] # [ doc = "'level' is RTAPI_MSG_ALL, a level which should not normally be used" ] # [ doc = "with rtapi_print_msg()." ] pub type rtapi_msg_handler_t = :: std :: option :: Option < unsafe extern "C" fn ( level : msg_level_t , fmt : * const :: std :: os :: raw :: c_char , ap : * mut __va_list_tag ) > ; extern "C" { # [ doc = " rtapi_delay() is a simple delay.  It is intended only for short" ] # [ doc = "delays, since it simply loops, wasting CPU cycles.  'nsec' is the" ] # [ doc = "desired delay, in nano-seconds.  'rtapi_delay_max() returns the" ] # [ doc = "max delay permitted (usually approximately 1/4 of the clock period)." ] # [ doc = "Any call to 'rtapi_delay()' requesting a delay longer than the max" ] # [ doc = "will delay for the max time only.  'rtapi_delay_max()' should be" ] # [ doc = "called befure using 'rtapi_delay()' to make sure the required delays" ] # [ doc = "can be achieved.  The actual resolution of the delay may be as good" ] # [ doc = "as one nano-second, or as bad as a several microseconds.  May be" ] # [ doc = "called from init/cleanup code, and from within realtime tasks." ] pub fn rtapi_delay ( nsec : :: std :: os :: raw :: c_long ) ; } extern "C" { pub fn rtapi_delay_max ( ) -> :: std :: os :: raw :: c_long ; } extern "C" { # [ doc = " rtapi_get_time returns the current time in nanoseconds.  Depending" ] # [ doc = "on the RTOS, this may be time since boot, or time since the clock" ] # [ doc = "period was set, or some other time.  Its absolute value means" ] # [ doc = "nothing, but it is monotonically increasing and can be used to" ] # [ doc = "schedule future events, or to time the duration of some activity." ] # [ doc = "Returns a 64 bit value.  The resolution of the returned value may" ] # [ doc = "be as good as one nano-second, or as poor as several microseconds." ] # [ doc = "May be called from init/cleanup code, and from within realtime tasks." ] # [ doc = "" ] # [ doc = "Experience has shown that the implementation of this function in" ] # [ doc = "some RTOS/Kernel combinations is horrible.  It can take up to" ] # [ doc = "several microseconds, which is at least 100 times longer than it" ] # [ doc = "should, and perhaps a thousand times longer.  Use it only if you" ] # [ doc = "MUST have results in seconds instead of clocks, and use it sparingly." ] # [ doc = "See rtapi_get_clocks() instead." ] # [ doc = "" ] # [ doc = "Note that longlong math may be poorly supported on some platforms," ] # [ doc = "especially in kernel space. Also note that rtapi_print() will NOT" ] # [ doc = "print longlongs.  Most time measurements are relative, and should" ] # [ doc = "be done like this:  deltat = (long int)(end_time - start_time);" ] # [ doc = "where end_time and start_time are longlong values returned from" ] # [ doc = "rtapi_get_time, and deltat is an ordinary long int (32 bits)." ] # [ doc = "This will work for times up to about 2 seconds." ] pub fn rtapi_get_time ( ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { # [ doc = " rtapi_get_clocks returns the current time in CPU clocks.  It is" ] # [ doc = "fast, since it just reads the TSC in the CPU instead of calling a" ] # [ doc = "kernel or RTOS function.  Of course, times measured in CPU clocks" ] # [ doc = "are not as convenient, but for relative measurements this works" ] # [ doc = "fine.  Its absolute value means nothing, but it is monotonically" ] # [ doc = "increasing* and can be used to schedule future events, or to time" ] # [ doc = "the duration of some activity.  (* on SMP machines, the two TSC's" ] # [ doc = "may get out of sync, so if a task reads the TSC, gets swapped to" ] # [ doc = "the other CPU, and reads again, the value may decrease.  RTAPI" ] # [ doc = "tries to force all RT tasks to run on one CPU.)" ] # [ doc = "Returns a 64 bit value.  The resolution of the returned value is" ] # [ doc = "one CPU clock, which is usually a few nanoseconds to a fraction of" ] # [ doc = "a nanosecond." ] # [ doc = "May be called from init/cleanup code, and from within realtime tasks." ] # [ doc = "" ] # [ doc = "Note that longlong math may be poorly supported on some platforms," ] # [ doc = "especially in kernel space. Also note that rtapi_print() will NOT" ] # [ doc = "print longlongs.  Most time measurements are relative, and should" ] # [ doc = "be done like this:  deltat = (long int)(end_time - start_time);" ] # [ doc = "where end_time and start_time are longlong values returned from" ] # [ doc = "rtapi_get_time, and deltat is an ordinary long int (32 bits)." ] # [ doc = "This will work for times up to a second or so, depending on the" ] # [ doc = "CPU clock frequency.  It is best used for millisecond and" ] # [ doc = "microsecond scale measurements though." ] pub fn rtapi_get_clocks ( ) -> :: std :: os :: raw :: c_longlong ; } extern "C" { # [ doc = " 'rtapi_shmem_new()' allocates a block of shared memory.  'key'" ] # [ doc = "identifies the memory block, and must be non-zero.  All modules" ] # [ doc = "wishing to access the same memory must use the same key." ] # [ doc = "'module_id' is the ID of the module that is making the call (see" ] # [ doc = "rtapi_init).  The block will be at least 'size' bytes, and may" ] # [ doc = "be rounded up.  Allocating many small blocks may be very wasteful." ] # [ doc = "When a particular block is allocated for the first time, the first" ] # [ doc = "4 bytes are zeroed.  Subsequent allocations of the same block" ] # [ doc = "by other modules or processes will not touch the contents of the" ] # [ doc = "block.  Applications can use those bytes to see if they need to" ] # [ doc = "initialize the block, or if another module already did so." ] # [ doc = "On success, it returns a positive integer ID, which is used for" ] # [ doc = "all subsequent calls dealing with the block.  On failure it" ] # [ doc = "returns a negative error code.  Call only from within user or" ] # [ doc = "init/cleanup code, not from realtime tasks." ] pub fn rtapi_shmem_new ( key : :: std :: os :: raw :: c_int , module_id : :: std :: os :: raw :: c_int , size : :: std :: os :: raw :: c_ulong ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'rtapi_shmem_delete()' frees the shared memory block associated" ] # [ doc = "with 'shmem_id'.  'module_id' is the ID of the calling module." ] # [ doc = "Returns a status code.  Call only from within user or init/cleanup" ] # [ doc = "code, not from realtime tasks." ] pub fn rtapi_shmem_delete ( shmem_id : :: std :: os :: raw :: c_int , module_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'rtapi_shmem_getptr()' sets '*ptr' to point to shared memory block" ] # [ doc = "associated with 'shmem_id'.  Returns a status code.  May be called" ] # [ doc = "from user code, init/cleanup code, or realtime tasks." ] pub fn rtapi_shmem_getptr ( shmem_id : :: std :: os :: raw :: c_int , ptr : * mut * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'rtapi_fifo_new()' creates a realtime fifo. 'key' identifies the" ] # [ doc = "fifo, all modules wishing to access the same fifo must use the same" ] # [ doc = "key.  'module_id' is the ID of the module making the call (see" ] # [ doc = "rtapi_init).  'size' is the depth of the fifo.  'mode' is either" ] # [ doc = "'R' or 'W', to request either read or write access to the fifo." ] # [ doc = "On success, it returns a positive integer ID, which is used for" ] # [ doc = "subsequent calls dealing with the fifo.  On failure, returns a" ] # [ doc = "negative error code.  Call only from within user or init/cleanup" ] # [ doc = "code, not from realtime tasks." ] pub fn rtapi_fifo_new ( key : :: std :: os :: raw :: c_int , module_id : :: std :: os :: raw :: c_int , size : :: std :: os :: raw :: c_ulong , mode : :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'rtapi_fifo_delete()' is the counterpart to 'rtapi_fifo_new()'." ] # [ doc = "It closes the fifo associated with 'fifo_ID'.  'module_id' is the" ] # [ doc = "ID of the calling module.  Returns status code.  Call only from" ] # [ doc = "within user or init/cleanup code, not from realtime tasks." ] pub fn rtapi_fifo_delete ( fifo_id : :: std :: os :: raw :: c_int , module_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rtapi_fifo_read ( fifo_id : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_char , size : :: std :: os :: raw :: c_ulong ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rtapi_fifo_write ( fifo_id : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_char , size : :: std :: os :: raw :: c_ulong ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'rtapi_outb() writes 'byte' to 'port'.  May be called from" ] # [ doc = "init/cleanup code, and from within realtime tasks." ] # [ doc = "Note: This function does nothing on the simulated RTOS." ] # [ doc = "Note: Many platforms provide an inline outb() that is faster." ] pub fn rtapi_outb ( byte : :: std :: os :: raw :: c_uchar , port : :: std :: os :: raw :: c_uint ) ; } extern "C" { # [ doc = " 'rtapi_inb() gets a byte from 'port'.  Returns the byte.  May" ] # [ doc = "be called from init/cleanup code, and from within realtime tasks." ] # [ doc = "Note: This function always returns zero on the simulated RTOS." ] # [ doc = "Note: Many platforms provide an inline inb() that is faster." ] pub fn rtapi_inb ( port : :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_uchar ; } extern "C" { pub fn simple_strtol ( nptr : * const :: std :: os :: raw :: c_char , endptr : * mut * mut :: std :: os :: raw :: c_char , base : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_long ; } 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 __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_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 __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 __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type time_t = __time_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 ) ) ) ; } pub type pid_t = __pid_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sched_param { pub sched_priority : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sched_param ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sched_param > ( ) , 4usize , concat ! ( "Size of: " , stringify ! ( sched_param ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sched_param > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( sched_param ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sched_param > ( ) ) ) . sched_priority as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sched_param ) , "::" , stringify ! ( sched_priority ) ) ) ; } pub type __cpu_mask = :: std :: os :: raw :: c_ulong ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct cpu_set_t { pub __bits : [ __cpu_mask ; 16usize ] , } # [ test ] fn bindgen_test_layout_cpu_set_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < cpu_set_t > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( cpu_set_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < cpu_set_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( cpu_set_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < cpu_set_t > ( ) ) ) . __bits as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( cpu_set_t ) , "::" , stringify ! ( __bits ) ) ) ; } extern "C" { pub fn __sched_cpucount ( __setsize : usize , __setp : * const cpu_set_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __sched_cpualloc ( __count : usize ) -> * mut cpu_set_t ; } extern "C" { pub fn __sched_cpufree ( __set : * mut cpu_set_t ) ; } extern "C" { pub fn sched_setparam ( __pid : __pid_t , __param : * const sched_param ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sched_getparam ( __pid : __pid_t , __param : * mut sched_param ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sched_setscheduler ( __pid : __pid_t , __policy : :: std :: os :: raw :: c_int , __param : * const sched_param ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sched_getscheduler ( __pid : __pid_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sched_yield ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sched_get_priority_max ( __algorithm : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sched_get_priority_min ( __algorithm : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sched_rr_get_interval ( __pid : __pid_t , __t : * mut timespec ) -> :: std :: os :: raw :: c_int ; } 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 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 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 ; # [ 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 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 : __dev_t ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn gnu_dev_minor ( __dev : __dev_t ) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn gnu_dev_makedev ( __major : :: std :: os :: raw :: c_uint , __minor : :: std :: os :: raw :: c_uint ) -> __dev_t ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_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_arch_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_rwlock_arch_t > ( ) , 56usize , concat ! ( "Size of: " , stringify ! ( __pthread_rwlock_arch_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_rwlock_arch_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_rwlock_arch_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __readers as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __readers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __writers as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __writers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __wrphase_futex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __writers_futex as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __writers_futex ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad3 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad4 as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __cur_writer as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __cur_writer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __shared as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __shared ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __rwelision as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __rwelision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad1 as * const _ as usize } , 33usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __pad2 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __pad2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_rwlock_arch_t > ( ) ) ) . __flags as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_rwlock_arch_t ) , "::" , stringify ! ( __flags ) ) ) ; } # [ 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 ( Debug , Copy , Clone ) ] pub struct __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_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_mutex_s > ( ) , 40usize , concat ! ( "Size of: " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_mutex_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_mutex_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __lock as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __lock ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __count as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __count ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __owner as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __owner ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __nusers as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __nusers ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __kind as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __kind ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __spins as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __spins ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __elision as * const _ as usize } , 22usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __elision ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_mutex_s > ( ) ) ) . __list as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_mutex_s ) , "::" , stringify ! ( __list ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct __pthread_cond_s { pub __bindgen_anon_1 : __pthread_cond_s__bindgen_ty_1 , pub __bindgen_anon_2 : __pthread_cond_s__bindgen_ty_2 , pub __g_refs : [ :: std :: os :: raw :: c_uint ; 2usize ] , pub __g_size : [ :: std :: os :: raw :: c_uint ; 2usize ] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [ :: std :: os :: raw :: c_uint ; 2usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union __pthread_cond_s__bindgen_ty_1 { pub __wseq : :: std :: os :: raw :: c_ulonglong , pub __wseq32 : __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : u64 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . __low as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( __low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . __high as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( __high ) ) ) ; } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1 > ( ) ) ) . __wseq as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) , "::" , stringify ! ( __wseq ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_1 > ( ) ) ) . __wseq32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_1 ) , "::" , stringify ! ( __wseq32 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union __pthread_cond_s__bindgen_ty_2 { pub __g1_start : :: std :: os :: raw :: c_ulonglong , pub __g1_start32 : __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 , _bindgen_union_align : u64 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . __low as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( __low ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 > ( ) ) ) . __high as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 ) , "::" , stringify ! ( __high ) ) ) ; } # [ test ] fn bindgen_test_layout___pthread_cond_s__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2 > ( ) ) ) . __g1_start as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) , "::" , stringify ! ( __g1_start ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s__bindgen_ty_2 > ( ) ) ) . __g1_start32 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s__bindgen_ty_2 ) , "::" , stringify ! ( __g1_start32 ) ) ) ; } # [ test ] fn bindgen_test_layout___pthread_cond_s ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __pthread_cond_s > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( __pthread_cond_s ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __pthread_cond_s > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __pthread_cond_s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_refs as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_refs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_size as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g1_orig_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __wrefs as * const _ as usize } , 36usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __wrefs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __pthread_cond_s > ( ) ) ) . __g_signals as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( __pthread_cond_s ) , "::" , stringify ! ( __g_signals ) ) ) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [ 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_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_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 ( Copy , Clone ) ] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [ :: std :: os :: raw :: c_char ; 40usize ] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [ u64 ; 5usize ] , } # [ 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_cond_t { pub __data : __pthread_cond_s , pub __size : [ :: std :: os :: raw :: c_char ; 48usize ] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [ u64 ; 6usize ] , } # [ 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_rwlock_t { pub __data : __pthread_rwlock_arch_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_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 posix_spawnattr_t { pub __flags : :: std :: os :: raw :: c_short , pub __pgrp : pid_t , pub __sd : sigset_t , pub __ss : sigset_t , pub __sp : sched_param , pub __policy : :: std :: os :: raw :: c_int , pub __pad : [ :: std :: os :: raw :: c_int ; 16usize ] , } # [ test ] fn bindgen_test_layout_posix_spawnattr_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < posix_spawnattr_t > ( ) , 336usize , concat ! ( "Size of: " , stringify ! ( posix_spawnattr_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < posix_spawnattr_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( posix_spawnattr_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawnattr_t > ( ) ) ) . __flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawnattr_t ) , "::" , stringify ! ( __flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawnattr_t > ( ) ) ) . __pgrp as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawnattr_t ) , "::" , stringify ! ( __pgrp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawnattr_t > ( ) ) ) . __sd as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawnattr_t ) , "::" , stringify ! ( __sd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawnattr_t > ( ) ) ) . __ss as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawnattr_t ) , "::" , stringify ! ( __ss ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawnattr_t > ( ) ) ) . __sp as * const _ as usize } , 264usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawnattr_t ) , "::" , stringify ! ( __sp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawnattr_t > ( ) ) ) . __policy as * const _ as usize } , 268usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawnattr_t ) , "::" , stringify ! ( __policy ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawnattr_t > ( ) ) ) . __pad as * const _ as usize } , 272usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawnattr_t ) , "::" , stringify ! ( __pad ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct posix_spawn_file_actions_t { pub __allocated : :: std :: os :: raw :: c_int , pub __used : :: std :: os :: raw :: c_int , pub __actions : * mut __spawn_action , pub __pad : [ :: std :: os :: raw :: c_int ; 16usize ] , } # [ test ] fn bindgen_test_layout_posix_spawn_file_actions_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < posix_spawn_file_actions_t > ( ) , 80usize , concat ! ( "Size of: " , stringify ! ( posix_spawn_file_actions_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < posix_spawn_file_actions_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( posix_spawn_file_actions_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawn_file_actions_t > ( ) ) ) . __allocated as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawn_file_actions_t ) , "::" , stringify ! ( __allocated ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawn_file_actions_t > ( ) ) ) . __used as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawn_file_actions_t ) , "::" , stringify ! ( __used ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawn_file_actions_t > ( ) ) ) . __actions as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawn_file_actions_t ) , "::" , stringify ! ( __actions ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < posix_spawn_file_actions_t > ( ) ) ) . __pad as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( posix_spawn_file_actions_t ) , "::" , stringify ! ( __pad ) ) ) ; } extern "C" { pub fn posix_spawn ( __pid : * mut pid_t , __path : * const :: std :: os :: raw :: c_char , __file_actions : * const posix_spawn_file_actions_t , __attrp : * const posix_spawnattr_t , __argv : * const * mut :: std :: os :: raw :: c_char , __envp : * const * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnp ( __pid : * mut pid_t , __file : * const :: std :: os :: raw :: c_char , __file_actions : * const posix_spawn_file_actions_t , __attrp : * const posix_spawnattr_t , __argv : * const * mut :: std :: os :: raw :: c_char , __envp : * const * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_init ( __attr : * mut posix_spawnattr_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_destroy ( __attr : * mut posix_spawnattr_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_getsigdefault ( __attr : * const posix_spawnattr_t , __sigdefault : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_setsigdefault ( __attr : * mut posix_spawnattr_t , __sigdefault : * const sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_getsigmask ( __attr : * const posix_spawnattr_t , __sigmask : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_setsigmask ( __attr : * mut posix_spawnattr_t , __sigmask : * const sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_getflags ( __attr : * const posix_spawnattr_t , __flags : * mut :: std :: os :: raw :: c_short ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_setflags ( _attr : * mut posix_spawnattr_t , __flags : :: std :: os :: raw :: c_short ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_getpgroup ( __attr : * const posix_spawnattr_t , __pgroup : * mut pid_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_setpgroup ( __attr : * mut posix_spawnattr_t , __pgroup : pid_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_getschedpolicy ( __attr : * const posix_spawnattr_t , __schedpolicy : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_setschedpolicy ( __attr : * mut posix_spawnattr_t , __schedpolicy : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_getschedparam ( __attr : * const posix_spawnattr_t , __schedparam : * mut sched_param ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawnattr_setschedparam ( __attr : * mut posix_spawnattr_t , __schedparam : * const sched_param ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawn_file_actions_init ( __file_actions : * mut posix_spawn_file_actions_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawn_file_actions_destroy ( __file_actions : * mut posix_spawn_file_actions_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawn_file_actions_addopen ( __file_actions : * mut posix_spawn_file_actions_t , __fd : :: std :: os :: raw :: c_int , __path : * const :: std :: os :: raw :: c_char , __oflag : :: std :: os :: raw :: c_int , __mode : mode_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawn_file_actions_addclose ( __file_actions : * mut posix_spawn_file_actions_t , __fd : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn posix_spawn_file_actions_adddup2 ( __file_actions : * mut posix_spawn_file_actions_t , __fd : :: std :: os :: raw :: c_int , __newfd : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rtapi_spawn_as_root ( pid : * mut pid_t , path : * const :: std :: os :: raw :: c_char , file_actions : * const posix_spawn_file_actions_t , attrp : * const posix_spawnattr_t , argv : * const * mut :: std :: os :: raw :: c_char , envp : * const * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rtapi_spawnp_as_root ( pid : * mut pid_t , path : * const :: std :: os :: raw :: c_char , file_actions : * const posix_spawn_file_actions_t , attrp : * const posix_spawnattr_t , argv : * const * mut :: std :: os :: raw :: c_char , envp : * const * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rtapi_is_kernelspace ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rtapi_is_realtime ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn rtapi_open_as_root ( filename : * const :: std :: os :: raw :: c_char , mode : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub type sig_atomic_t = __sig_atomic_t ; # [ 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 siginfo_t { pub si_signo : :: std :: os :: raw :: c_int , pub si_errno : :: std :: os :: raw :: c_int , pub si_code : :: std :: os :: raw :: c_int , pub __pad0 : :: std :: os :: raw :: c_int , pub _sifields : siginfo_t__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union siginfo_t__bindgen_ty_1 { pub _pad : [ :: std :: os :: raw :: c_int ; 28usize ] , pub _kill : siginfo_t__bindgen_ty_1__bindgen_ty_1 , pub _timer : siginfo_t__bindgen_ty_1__bindgen_ty_2 , pub _rt : siginfo_t__bindgen_ty_1__bindgen_ty_3 , pub _sigchld : siginfo_t__bindgen_ty_1__bindgen_ty_4 , pub _sigfault : siginfo_t__bindgen_ty_1__bindgen_ty_5 , pub _sigpoll : siginfo_t__bindgen_ty_1__bindgen_ty_6 , pub _sigsys : siginfo_t__bindgen_ty_1__bindgen_ty_7 , _bindgen_union_align : [ u64 ; 14usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct siginfo_t__bindgen_ty_1__bindgen_ty_1 { pub si_pid : __pid_t , pub si_uid : __uid_t , } # [ test ] fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_1 > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . si_pid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( si_pid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . si_uid as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( si_uid ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct siginfo_t__bindgen_ty_1__bindgen_ty_2 { pub si_tid : :: std :: os :: raw :: c_int , pub si_overrun : :: std :: os :: raw :: c_int , pub si_sigval : __sigval_t , } # [ test ] fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_2 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_2 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_2 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . si_tid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( si_tid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . si_overrun as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( si_overrun ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_2 > ( ) ) ) . si_sigval as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_2 ) , "::" , stringify ! ( si_sigval ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct siginfo_t__bindgen_ty_1__bindgen_ty_3 { pub si_pid : __pid_t , pub si_uid : __uid_t , pub si_sigval : __sigval_t , } # [ test ] fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_3 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_3 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_3 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_3 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_3 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . si_pid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( si_pid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . si_uid as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( si_uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_3 > ( ) ) ) . si_sigval as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_3 ) , "::" , stringify ! ( si_sigval ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct siginfo_t__bindgen_ty_1__bindgen_ty_4 { pub si_pid : __pid_t , pub si_uid : __uid_t , pub si_status : :: std :: os :: raw :: c_int , pub si_utime : __clock_t , pub si_stime : __clock_t , } # [ test ] fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_4 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_4 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_4 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_4 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_4 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_4 > ( ) ) ) . si_pid as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( si_pid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_4 > ( ) ) ) . si_uid as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( si_uid ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_4 > ( ) ) ) . si_status as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( si_status ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_4 > ( ) ) ) . si_utime as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( si_utime ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_4 > ( ) ) ) . si_stime as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_4 ) , "::" , stringify ! ( si_stime ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5 { pub si_addr : * mut :: std :: os :: raw :: c_void , pub si_addr_lsb : :: std :: os :: raw :: c_short , pub _bounds : siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 { pub _addr_bnd : siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 , pub _pkey : __uint32_t , _bindgen_union_align : [ u64 ; 2usize ] , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 { pub _lower : * mut :: std :: os :: raw :: c_void , pub _upper : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . _lower as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( _lower ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 > ( ) ) ) . _upper as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1 ) , "::" , stringify ! ( _upper ) ) ) ; } # [ test ] fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 > ( ) ) ) . _addr_bnd as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 ) , "::" , stringify ! ( _addr_bnd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 > ( ) ) ) . _pkey as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5__bindgen_ty_1 ) , "::" , stringify ! ( _pkey ) ) ) ; } # [ test ] fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_5 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_5 > ( ) , 32usize , concat ! ( "Size of: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_5 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_5 > ( ) ) ) . si_addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5 ) , "::" , stringify ! ( si_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_5 > ( ) ) ) . si_addr_lsb as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5 ) , "::" , stringify ! ( si_addr_lsb ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_5 > ( ) ) ) . _bounds as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_5 ) , "::" , stringify ! ( _bounds ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct siginfo_t__bindgen_ty_1__bindgen_ty_6 { pub si_band : :: std :: os :: raw :: c_long , pub si_fd : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_6 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_6 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_6 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_6 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_6 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_6 > ( ) ) ) . si_band as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_6 ) , "::" , stringify ! ( si_band ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_6 > ( ) ) ) . si_fd as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_6 ) , "::" , stringify ! ( si_fd ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct siginfo_t__bindgen_ty_1__bindgen_ty_7 { pub _call_addr : * mut :: std :: os :: raw :: c_void , pub _syscall : :: std :: os :: raw :: c_int , pub _arch : :: std :: os :: raw :: c_uint , } # [ test ] fn bindgen_test_layout_siginfo_t__bindgen_ty_1__bindgen_ty_7 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_7 > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_7 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t__bindgen_ty_1__bindgen_ty_7 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_7 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_7 > ( ) ) ) . _call_addr as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_7 ) , "::" , stringify ! ( _call_addr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_7 > ( ) ) ) . _syscall as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_7 ) , "::" , stringify ! ( _syscall ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1__bindgen_ty_7 > ( ) ) ) . _arch as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1__bindgen_ty_7 ) , "::" , stringify ! ( _arch ) ) ) ; } # [ test ] fn bindgen_test_layout_siginfo_t__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t__bindgen_ty_1 > ( ) , 112usize , concat ! ( "Size of: " , stringify ! ( siginfo_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1 > ( ) ) ) . _pad as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1 ) , "::" , stringify ! ( _pad ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1 > ( ) ) ) . _kill as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1 ) , "::" , stringify ! ( _kill ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1 > ( ) ) ) . _timer as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1 ) , "::" , stringify ! ( _timer ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1 > ( ) ) ) . _rt as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1 ) , "::" , stringify ! ( _rt ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1 > ( ) ) ) . _sigchld as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1 ) , "::" , stringify ! ( _sigchld ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1 > ( ) ) ) . _sigfault as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1 ) , "::" , stringify ! ( _sigfault ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1 > ( ) ) ) . _sigpoll as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1 ) , "::" , stringify ! ( _sigpoll ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t__bindgen_ty_1 > ( ) ) ) . _sigsys as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t__bindgen_ty_1 ) , "::" , stringify ! ( _sigsys ) ) ) ; } # [ test ] fn bindgen_test_layout_siginfo_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < siginfo_t > ( ) , 128usize , concat ! ( "Size of: " , stringify ! ( siginfo_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < siginfo_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( siginfo_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t > ( ) ) ) . si_signo as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t ) , "::" , stringify ! ( si_signo ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t > ( ) ) ) . si_errno as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t ) , "::" , stringify ! ( si_errno ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t > ( ) ) ) . si_code as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t ) , "::" , stringify ! ( si_code ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t > ( ) ) ) . __pad0 as * const _ as usize } , 12usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t ) , "::" , stringify ! ( __pad0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < siginfo_t > ( ) ) ) . _sifields as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( siginfo_t ) , "::" , stringify ! ( _sifields ) ) ) ; } pub const SI_ASYNCNL : _bindgen_ty_1 = -60 ; pub const SI_TKILL : _bindgen_ty_1 = -6 ; pub const SI_SIGIO : _bindgen_ty_1 = -5 ; pub const SI_ASYNCIO : _bindgen_ty_1 = -4 ; pub const SI_MESGQ : _bindgen_ty_1 = -3 ; pub const SI_TIMER : _bindgen_ty_1 = -2 ; pub const SI_QUEUE : _bindgen_ty_1 = -1 ; pub const SI_USER : _bindgen_ty_1 = 0 ; pub const SI_KERNEL : _bindgen_ty_1 = 128 ; pub type _bindgen_ty_1 = i32 ; pub const ILL_ILLOPC : _bindgen_ty_2 = 1 ; pub const ILL_ILLOPN : _bindgen_ty_2 = 2 ; pub const ILL_ILLADR : _bindgen_ty_2 = 3 ; pub const ILL_ILLTRP : _bindgen_ty_2 = 4 ; pub const ILL_PRVOPC : _bindgen_ty_2 = 5 ; pub const ILL_PRVREG : _bindgen_ty_2 = 6 ; pub const ILL_COPROC : _bindgen_ty_2 = 7 ; pub const ILL_BADSTK : _bindgen_ty_2 = 8 ; pub type _bindgen_ty_2 = u32 ; pub const FPE_INTDIV : _bindgen_ty_3 = 1 ; pub const FPE_INTOVF : _bindgen_ty_3 = 2 ; pub const FPE_FLTDIV : _bindgen_ty_3 = 3 ; pub const FPE_FLTOVF : _bindgen_ty_3 = 4 ; pub const FPE_FLTUND : _bindgen_ty_3 = 5 ; pub const FPE_FLTRES : _bindgen_ty_3 = 6 ; pub const FPE_FLTINV : _bindgen_ty_3 = 7 ; pub const FPE_FLTSUB : _bindgen_ty_3 = 8 ; pub type _bindgen_ty_3 = u32 ; pub const SEGV_MAPERR : _bindgen_ty_4 = 1 ; pub const SEGV_ACCERR : _bindgen_ty_4 = 2 ; pub const SEGV_BNDERR : _bindgen_ty_4 = 3 ; pub const SEGV_PKUERR : _bindgen_ty_4 = 4 ; pub type _bindgen_ty_4 = u32 ; pub const BUS_ADRALN : _bindgen_ty_5 = 1 ; pub const BUS_ADRERR : _bindgen_ty_5 = 2 ; pub const BUS_OBJERR : _bindgen_ty_5 = 3 ; pub const BUS_MCEERR_AR : _bindgen_ty_5 = 4 ; pub const BUS_MCEERR_AO : _bindgen_ty_5 = 5 ; pub type _bindgen_ty_5 = u32 ; pub const CLD_EXITED : _bindgen_ty_6 = 1 ; pub const CLD_KILLED : _bindgen_ty_6 = 2 ; pub const CLD_DUMPED : _bindgen_ty_6 = 3 ; pub const CLD_TRAPPED : _bindgen_ty_6 = 4 ; pub const CLD_STOPPED : _bindgen_ty_6 = 5 ; pub const CLD_CONTINUED : _bindgen_ty_6 = 6 ; pub type _bindgen_ty_6 = u32 ; pub const POLL_IN : _bindgen_ty_7 = 1 ; pub const POLL_OUT : _bindgen_ty_7 = 2 ; pub const POLL_MSG : _bindgen_ty_7 = 3 ; pub const POLL_ERR : _bindgen_ty_7 = 4 ; pub const POLL_PRI : _bindgen_ty_7 = 5 ; pub const POLL_HUP : _bindgen_ty_7 = 6 ; pub type _bindgen_ty_7 = u32 ; pub type sigval_t = __sigval_t ; # [ 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_8 = 0 ; pub const SIGEV_NONE : _bindgen_ty_8 = 1 ; pub const SIGEV_THREAD : _bindgen_ty_8 = 2 ; pub const SIGEV_THREAD_ID : _bindgen_ty_8 = 4 ; pub type _bindgen_ty_8 = u32 ; pub type __sighandler_t = :: std :: option :: Option < unsafe extern "C" fn ( arg1 : :: std :: os :: raw :: c_int ) > ; extern "C" { pub fn __sysv_signal ( __sig : :: std :: os :: raw :: c_int , __handler : __sighandler_t ) -> __sighandler_t ; } extern "C" { pub fn signal ( __sig : :: std :: os :: raw :: c_int , __handler : __sighandler_t ) -> __sighandler_t ; } extern "C" { pub fn kill ( __pid : __pid_t , __sig : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn killpg ( __pgrp : __pid_t , __sig : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn raise ( __sig : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ssignal ( __sig : :: std :: os :: raw :: c_int , __handler : __sighandler_t ) -> __sighandler_t ; } extern "C" { pub fn gsignal ( __sig : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn psignal ( __sig : :: std :: os :: raw :: c_int , __s : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn psiginfo ( __pinfo : * const siginfo_t , __s : * const :: std :: os :: raw :: c_char ) ; } extern "C" { pub fn sigblock ( __mask : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigsetmask ( __mask : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn siggetmask ( ) -> :: std :: os :: raw :: c_int ; } pub type sig_t = __sighandler_t ; extern "C" { pub fn sigemptyset ( __set : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigfillset ( __set : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigaddset ( __set : * mut sigset_t , __signo : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigdelset ( __set : * mut sigset_t , __signo : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigismember ( __set : * const sigset_t , __signo : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sigaction { pub __sigaction_handler : sigaction__bindgen_ty_1 , pub sa_mask : __sigset_t , pub sa_flags : :: std :: os :: raw :: c_int , pub sa_restorer : :: std :: option :: Option < unsafe extern "C" fn ( ) > , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union sigaction__bindgen_ty_1 { pub sa_handler : __sighandler_t , pub sa_sigaction : :: std :: option :: Option < unsafe extern "C" fn ( arg1 : :: std :: os :: raw :: c_int , arg2 : * mut siginfo_t , arg3 : * mut :: std :: os :: raw :: c_void ) > , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_sigaction__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sigaction__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( sigaction__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sigaction__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sigaction__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigaction__bindgen_ty_1 > ( ) ) ) . sa_handler as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigaction__bindgen_ty_1 ) , "::" , stringify ! ( sa_handler ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigaction__bindgen_ty_1 > ( ) ) ) . sa_sigaction as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigaction__bindgen_ty_1 ) , "::" , stringify ! ( sa_sigaction ) ) ) ; } # [ test ] fn bindgen_test_layout_sigaction ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sigaction > ( ) , 152usize , concat ! ( "Size of: " , stringify ! ( sigaction ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sigaction > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sigaction ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigaction > ( ) ) ) . __sigaction_handler as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigaction ) , "::" , stringify ! ( __sigaction_handler ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigaction > ( ) ) ) . sa_mask as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sigaction ) , "::" , stringify ! ( sa_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigaction > ( ) ) ) . sa_flags as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( sigaction ) , "::" , stringify ! ( sa_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigaction > ( ) ) ) . sa_restorer as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( sigaction ) , "::" , stringify ! ( sa_restorer ) ) ) ; } extern "C" { pub fn sigprocmask ( __how : :: std :: os :: raw :: c_int , __set : * const sigset_t , __oset : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigsuspend ( __set : * const sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigaction ( __sig : :: std :: os :: raw :: c_int , __act : * const sigaction , __oact : * mut sigaction ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigpending ( __set : * mut sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigwait ( __set : * const sigset_t , __sig : * mut :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigwaitinfo ( __set : * const sigset_t , __info : * mut siginfo_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigtimedwait ( __set : * const sigset_t , __info : * mut siginfo_t , __timeout : * const timespec ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn sigqueue ( __pid : __pid_t , __sig : :: std :: os :: raw :: c_int , __val : sigval ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub static mut _sys_siglist : [ * const :: std :: os :: raw :: c_char ; 65usize ] ; } extern "C" { pub static mut sys_siglist : [ * const :: std :: os :: raw :: c_char ; 65usize ] ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _fpx_sw_bytes { pub magic1 : __uint32_t , pub extended_size : __uint32_t , pub xstate_bv : __uint64_t , pub xstate_size : __uint32_t , pub __glibc_reserved1 : [ __uint32_t ; 7usize ] , } # [ test ] fn bindgen_test_layout__fpx_sw_bytes ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _fpx_sw_bytes > ( ) , 48usize , concat ! ( "Size of: " , stringify ! ( _fpx_sw_bytes ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _fpx_sw_bytes > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _fpx_sw_bytes ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpx_sw_bytes > ( ) ) ) . magic1 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _fpx_sw_bytes ) , "::" , stringify ! ( magic1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpx_sw_bytes > ( ) ) ) . extended_size as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( _fpx_sw_bytes ) , "::" , stringify ! ( extended_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpx_sw_bytes > ( ) ) ) . xstate_bv as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _fpx_sw_bytes ) , "::" , stringify ! ( xstate_bv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpx_sw_bytes > ( ) ) ) . xstate_size as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _fpx_sw_bytes ) , "::" , stringify ! ( xstate_size ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpx_sw_bytes > ( ) ) ) . __glibc_reserved1 as * const _ as usize } , 20usize , concat ! ( "Offset of field: " , stringify ! ( _fpx_sw_bytes ) , "::" , stringify ! ( __glibc_reserved1 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _fpreg { pub significand : [ :: std :: os :: raw :: c_ushort ; 4usize ] , pub exponent : :: std :: os :: raw :: c_ushort , } # [ test ] fn bindgen_test_layout__fpreg ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _fpreg > ( ) , 10usize , concat ! ( "Size of: " , stringify ! ( _fpreg ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _fpreg > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( _fpreg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpreg > ( ) ) ) . significand as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _fpreg ) , "::" , stringify ! ( significand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpreg > ( ) ) ) . exponent as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _fpreg ) , "::" , stringify ! ( exponent ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _fpxreg { pub significand : [ :: std :: os :: raw :: c_ushort ; 4usize ] , pub exponent : :: std :: os :: raw :: c_ushort , pub __glibc_reserved1 : [ :: std :: os :: raw :: c_ushort ; 3usize ] , } # [ test ] fn bindgen_test_layout__fpxreg ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _fpxreg > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _fpxreg ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _fpxreg > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( _fpxreg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpxreg > ( ) ) ) . significand as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _fpxreg ) , "::" , stringify ! ( significand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpxreg > ( ) ) ) . exponent as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _fpxreg ) , "::" , stringify ! ( exponent ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpxreg > ( ) ) ) . __glibc_reserved1 as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _fpxreg ) , "::" , stringify ! ( __glibc_reserved1 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _xmmreg { pub element : [ __uint32_t ; 4usize ] , } # [ test ] fn bindgen_test_layout__xmmreg ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _xmmreg > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _xmmreg ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _xmmreg > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( _xmmreg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _xmmreg > ( ) ) ) . element as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _xmmreg ) , "::" , stringify ! ( element ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _fpstate { pub cwd : __uint16_t , pub swd : __uint16_t , pub ftw : __uint16_t , pub fop : __uint16_t , pub rip : __uint64_t , pub rdp : __uint64_t , pub mxcsr : __uint32_t , pub mxcr_mask : __uint32_t , pub _st : [ _fpxreg ; 8usize ] , pub _xmm : [ _xmmreg ; 16usize ] , pub __glibc_reserved1 : [ __uint32_t ; 24usize ] , } # [ test ] fn bindgen_test_layout__fpstate ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _fpstate > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( _fpstate ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _fpstate > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _fpstate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . cwd as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( cwd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . swd as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( swd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . ftw as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( ftw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . fop as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( fop ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . rip as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( rip ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . rdp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( rdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . mxcsr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( mxcsr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . mxcr_mask as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( mxcr_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . _st as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( _st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . _xmm as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( _xmm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _fpstate > ( ) ) ) . __glibc_reserved1 as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( _fpstate ) , "::" , stringify ! ( __glibc_reserved1 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct sigcontext { pub r8 : __uint64_t , pub r9 : __uint64_t , pub r10 : __uint64_t , pub r11 : __uint64_t , pub r12 : __uint64_t , pub r13 : __uint64_t , pub r14 : __uint64_t , pub r15 : __uint64_t , pub rdi : __uint64_t , pub rsi : __uint64_t , pub rbp : __uint64_t , pub rbx : __uint64_t , pub rdx : __uint64_t , pub rax : __uint64_t , pub rcx : __uint64_t , pub rsp : __uint64_t , pub rip : __uint64_t , pub eflags : __uint64_t , pub cs : :: std :: os :: raw :: c_ushort , pub gs : :: std :: os :: raw :: c_ushort , pub fs : :: std :: os :: raw :: c_ushort , pub __pad0 : :: std :: os :: raw :: c_ushort , pub err : __uint64_t , pub trapno : __uint64_t , pub oldmask : __uint64_t , pub cr2 : __uint64_t , pub __bindgen_anon_1 : sigcontext__bindgen_ty_1 , pub __reserved1 : [ __uint64_t ; 8usize ] , } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union sigcontext__bindgen_ty_1 { pub fpstate : * mut _fpstate , pub __fpstate_word : __uint64_t , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_sigcontext__bindgen_ty_1 ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sigcontext__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( sigcontext__bindgen_ty_1 ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sigcontext__bindgen_ty_1 > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sigcontext__bindgen_ty_1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext__bindgen_ty_1 > ( ) ) ) . fpstate as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext__bindgen_ty_1 ) , "::" , stringify ! ( fpstate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext__bindgen_ty_1 > ( ) ) ) . __fpstate_word as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext__bindgen_ty_1 ) , "::" , stringify ! ( __fpstate_word ) ) ) ; } # [ test ] fn bindgen_test_layout_sigcontext ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sigcontext > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( sigcontext ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sigcontext > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sigcontext ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . r8 as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( r8 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . r9 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( r9 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . r10 as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( r10 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . r11 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( r11 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . r12 as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( r12 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . r13 as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( r13 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . r14 as * const _ as usize } , 48usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( r14 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . r15 as * const _ as usize } , 56usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( r15 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . rdi as * const _ as usize } , 64usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( rdi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . rsi as * const _ as usize } , 72usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( rsi ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . rbp as * const _ as usize } , 80usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( rbp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . rbx as * const _ as usize } , 88usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( rbx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . rdx as * const _ as usize } , 96usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( rdx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . rax as * const _ as usize } , 104usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( rax ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . rcx as * const _ as usize } , 112usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( rcx ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . rsp as * const _ as usize } , 120usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( rsp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . rip as * const _ as usize } , 128usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( rip ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . eflags as * const _ as usize } , 136usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( eflags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . cs as * const _ as usize } , 144usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( cs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . gs as * const _ as usize } , 146usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( gs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . fs as * const _ as usize } , 148usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( fs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . __pad0 as * const _ as usize } , 150usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( __pad0 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . err as * const _ as usize } , 152usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( err ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . trapno as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( trapno ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . oldmask as * const _ as usize } , 168usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( oldmask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . cr2 as * const _ as usize } , 176usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( cr2 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigcontext > ( ) ) ) . __reserved1 as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( sigcontext ) , "::" , stringify ! ( __reserved1 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _xsave_hdr { pub xstate_bv : __uint64_t , pub __glibc_reserved1 : [ __uint64_t ; 2usize ] , pub __glibc_reserved2 : [ __uint64_t ; 5usize ] , } # [ test ] fn bindgen_test_layout__xsave_hdr ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _xsave_hdr > ( ) , 64usize , concat ! ( "Size of: " , stringify ! ( _xsave_hdr ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _xsave_hdr > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _xsave_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _xsave_hdr > ( ) ) ) . xstate_bv as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _xsave_hdr ) , "::" , stringify ! ( xstate_bv ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _xsave_hdr > ( ) ) ) . __glibc_reserved1 as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _xsave_hdr ) , "::" , stringify ! ( __glibc_reserved1 ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _xsave_hdr > ( ) ) ) . __glibc_reserved2 as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _xsave_hdr ) , "::" , stringify ! ( __glibc_reserved2 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _ymmh_state { pub ymmh_space : [ __uint32_t ; 64usize ] , } # [ test ] fn bindgen_test_layout__ymmh_state ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _ymmh_state > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( _ymmh_state ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _ymmh_state > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( _ymmh_state ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _ymmh_state > ( ) ) ) . ymmh_space as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _ymmh_state ) , "::" , stringify ! ( ymmh_space ) ) ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub struct _xstate { pub fpstate : _fpstate , pub xstate_hdr : _xsave_hdr , pub ymmh : _ymmh_state , } # [ test ] fn bindgen_test_layout__xstate ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _xstate > ( ) , 832usize , concat ! ( "Size of: " , stringify ! ( _xstate ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _xstate > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _xstate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _xstate > ( ) ) ) . fpstate as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _xstate ) , "::" , stringify ! ( fpstate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _xstate > ( ) ) ) . xstate_hdr as * const _ as usize } , 512usize , concat ! ( "Offset of field: " , stringify ! ( _xstate ) , "::" , stringify ! ( xstate_hdr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _xstate > ( ) ) ) . ymmh as * const _ as usize } , 576usize , concat ! ( "Offset of field: " , stringify ! ( _xstate ) , "::" , stringify ! ( ymmh ) ) ) ; } extern "C" { pub fn sigreturn ( __scp : * mut sigcontext ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct stack_t { pub ss_sp : * mut :: std :: os :: raw :: c_void , pub ss_flags : :: std :: os :: raw :: c_int , pub ss_size : usize , } # [ test ] fn bindgen_test_layout_stack_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < stack_t > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( stack_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < stack_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( stack_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stack_t > ( ) ) ) . ss_sp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( stack_t ) , "::" , stringify ! ( ss_sp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stack_t > ( ) ) ) . ss_flags as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( stack_t ) , "::" , stringify ! ( ss_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < stack_t > ( ) ) ) . ss_size as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( stack_t ) , "::" , stringify ! ( ss_size ) ) ) ; } pub type greg_t = :: std :: os :: raw :: c_longlong ; pub type gregset_t = [ greg_t ; 23usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _libc_fpxreg { pub significand : [ :: std :: os :: raw :: c_ushort ; 4usize ] , pub exponent : :: std :: os :: raw :: c_ushort , pub __glibc_reserved1 : [ :: std :: os :: raw :: c_ushort ; 3usize ] , } # [ test ] fn bindgen_test_layout__libc_fpxreg ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _libc_fpxreg > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _libc_fpxreg ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _libc_fpxreg > ( ) , 2usize , concat ! ( "Alignment of " , stringify ! ( _libc_fpxreg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpxreg > ( ) ) ) . significand as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpxreg ) , "::" , stringify ! ( significand ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpxreg > ( ) ) ) . exponent as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpxreg ) , "::" , stringify ! ( exponent ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpxreg > ( ) ) ) . __glibc_reserved1 as * const _ as usize } , 10usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpxreg ) , "::" , stringify ! ( __glibc_reserved1 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _libc_xmmreg { pub element : [ __uint32_t ; 4usize ] , } # [ test ] fn bindgen_test_layout__libc_xmmreg ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _libc_xmmreg > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( _libc_xmmreg ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _libc_xmmreg > ( ) , 4usize , concat ! ( "Alignment of " , stringify ! ( _libc_xmmreg ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_xmmreg > ( ) ) ) . element as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _libc_xmmreg ) , "::" , stringify ! ( element ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct _libc_fpstate { pub cwd : __uint16_t , pub swd : __uint16_t , pub ftw : __uint16_t , pub fop : __uint16_t , pub rip : __uint64_t , pub rdp : __uint64_t , pub mxcsr : __uint32_t , pub mxcr_mask : __uint32_t , pub _st : [ _libc_fpxreg ; 8usize ] , pub _xmm : [ _libc_xmmreg ; 16usize ] , pub __glibc_reserved1 : [ __uint32_t ; 24usize ] , } # [ test ] fn bindgen_test_layout__libc_fpstate ( ) { assert_eq ! ( :: std :: mem :: size_of :: < _libc_fpstate > ( ) , 512usize , concat ! ( "Size of: " , stringify ! ( _libc_fpstate ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < _libc_fpstate > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( _libc_fpstate ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . cwd as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( cwd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . swd as * const _ as usize } , 2usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( swd ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . ftw as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( ftw ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . fop as * const _ as usize } , 6usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( fop ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . rip as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( rip ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . rdp as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( rdp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . mxcsr as * const _ as usize } , 24usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( mxcsr ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . mxcr_mask as * const _ as usize } , 28usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( mxcr_mask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . _st as * const _ as usize } , 32usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( _st ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . _xmm as * const _ as usize } , 160usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( _xmm ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < _libc_fpstate > ( ) ) ) . __glibc_reserved1 as * const _ as usize } , 416usize , concat ! ( "Offset of field: " , stringify ! ( _libc_fpstate ) , "::" , stringify ! ( __glibc_reserved1 ) ) ) ; } pub type fpregset_t = * mut _libc_fpstate ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct mcontext_t { pub gregs : gregset_t , pub fpregs : fpregset_t , pub __reserved1 : [ :: std :: os :: raw :: c_ulonglong ; 8usize ] , } # [ test ] fn bindgen_test_layout_mcontext_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < mcontext_t > ( ) , 256usize , concat ! ( "Size of: " , stringify ! ( mcontext_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < mcontext_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( mcontext_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mcontext_t > ( ) ) ) . gregs as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( mcontext_t ) , "::" , stringify ! ( gregs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mcontext_t > ( ) ) ) . fpregs as * const _ as usize } , 184usize , concat ! ( "Offset of field: " , stringify ! ( mcontext_t ) , "::" , stringify ! ( fpregs ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < mcontext_t > ( ) ) ) . __reserved1 as * const _ as usize } , 192usize , concat ! ( "Offset of field: " , stringify ! ( mcontext_t ) , "::" , stringify ! ( __reserved1 ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct ucontext_t { pub uc_flags : :: std :: os :: raw :: c_ulong , pub uc_link : * mut ucontext_t , pub uc_stack : stack_t , pub uc_mcontext : mcontext_t , pub uc_sigmask : sigset_t , pub __fpregs_mem : _libc_fpstate , } # [ test ] fn bindgen_test_layout_ucontext_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < ucontext_t > ( ) , 936usize , concat ! ( "Size of: " , stringify ! ( ucontext_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < ucontext_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( ucontext_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ucontext_t > ( ) ) ) . uc_flags as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( ucontext_t ) , "::" , stringify ! ( uc_flags ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ucontext_t > ( ) ) ) . uc_link as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( ucontext_t ) , "::" , stringify ! ( uc_link ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ucontext_t > ( ) ) ) . uc_stack as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( ucontext_t ) , "::" , stringify ! ( uc_stack ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ucontext_t > ( ) ) ) . uc_mcontext as * const _ as usize } , 40usize , concat ! ( "Offset of field: " , stringify ! ( ucontext_t ) , "::" , stringify ! ( uc_mcontext ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ucontext_t > ( ) ) ) . uc_sigmask as * const _ as usize } , 296usize , concat ! ( "Offset of field: " , stringify ! ( ucontext_t ) , "::" , stringify ! ( uc_sigmask ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < ucontext_t > ( ) ) ) . __fpregs_mem as * const _ as usize } , 424usize , concat ! ( "Offset of field: " , stringify ! ( ucontext_t ) , "::" , stringify ! ( __fpregs_mem ) ) ) ; } extern "C" { pub fn siginterrupt ( __sig : :: std :: os :: raw :: c_int , __interrupt : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } pub const SS_ONSTACK : _bindgen_ty_9 = 1 ; pub const SS_DISABLE : _bindgen_ty_9 = 2 ; pub type _bindgen_ty_9 = u32 ; extern "C" { pub fn sigaltstack ( __ss : * const stack_t , __oss : * mut stack_t ) -> :: std :: os :: raw :: c_int ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct sigstack { pub ss_sp : * mut :: std :: os :: raw :: c_void , pub ss_onstack : :: std :: os :: raw :: c_int , } # [ test ] fn bindgen_test_layout_sigstack ( ) { assert_eq ! ( :: std :: mem :: size_of :: < sigstack > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( sigstack ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < sigstack > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( sigstack ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigstack > ( ) ) ) . ss_sp as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( sigstack ) , "::" , stringify ! ( ss_sp ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < sigstack > ( ) ) ) . ss_onstack as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( sigstack ) , "::" , stringify ! ( ss_onstack ) ) ) ; } extern "C" { pub fn sigstack ( __ss : * mut sigstack , __oss : * mut sigstack ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pthread_sigmask ( __how : :: std :: os :: raw :: c_int , __newmask : * const __sigset_t , __oldmask : * mut __sigset_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pthread_kill ( __threadid : pthread_t , __signo : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __libc_current_sigrtmin ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __libc_current_sigrtmax ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn __errno_location ( ) -> * mut :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_init()' is called by a HAL component before any other hal" ] # [ doc = "function is called, to open the HAL shared memory block and" ] # [ doc = "do other initialization." ] # [ doc = "'name' is the name of the component.  It must be unique in the" ] # [ doc = "system.  It must be no longer than HAL_NAME_LEN." ] # [ doc = "On success, hal_init() returns a positive integer component ID," ] # [ doc = "which is used for subsequent calls to hal_xxx_new() and" ] # [ doc = "hal_exit().  On failure, returns an error code (see above)." ] # [ doc = "'hal_init()' calls rtapi_init(), so after calling hal_init(), a" ] # [ doc = "component can use any rtapi functions.  The component ID returned" ] # [ doc = "by 'hal_init()' is also the RTAPI module ID for the associated" ] # [ doc = "module, and can be used when calling rtapi functions." ] # [ doc = "Call only from within user space or init/cleanup code, not from" ] # [ doc = "realtime code." ] pub fn hal_init ( name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_exit()' must be called before a HAL component exits, to" ] # [ doc = "free resources associated with the component." ] # [ doc = "'comp_id' is the ID of the component as returned from its initial" ] # [ doc = "call to 'hal_init()'.  'hal_exit()' will remove the component's" ] # [ doc = "realtime functions (if any) from realtime threads.  It also" ] # [ doc = "removes all pins and parameters exported by the component.  If" ] # [ doc = "the component created _any_ threads, when it exits _all_ threads" ] # [ doc = "will be stopped, and the ones it created will be deleted." ] # [ doc = "It is assumed that the system will no longer function correctly" ] # [ doc = "after a component is removed, but this cleanup will prevent" ] # [ doc = "crashes when the component's code and data is unmapped." ] # [ doc = "'hal_exit()' calls 'rtapi_exit()', so any rtapi reaources" ] # [ doc = "allocated should be discarded before calling hal_exit(), and" ] # [ doc = "rtapi functios should not be called afterwards." ] # [ doc = "On success, hal_exit() returns 0, on failure it" ] # [ doc = "returns a negative error code." ] pub fn hal_exit ( comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " hal_malloc() allocates a block of memory from the main HAL" ] # [ doc = "shared memory area.  It should be used by all components to" ] # [ doc = "allocate memory for HAL pins and parameters." ] # [ doc = "It allocates 'size' bytes, and returns a pointer to the" ] # [ doc = "allocated space, or NULL (0) on error.  The returned pointer" ] # [ doc = "will be properly aligned for any variable HAL supports (see" ] # [ doc = "HAL_TYPE below.)" ] # [ doc = "The allocator is very simple, and there is no 'free'.  It is" ] # [ doc = "assumed that a component will allocate all the memory it needs" ] # [ doc = "during initialization.  The entire HAL shared memory area is" ] # [ doc = "freed when the last component calls hal_exit().  This means" ] # [ doc = "that if you continuously install and remove one component" ] # [ doc = "while other components are present, you eventually will fill" ] # [ doc = "up the shared memory and an install will fail.  Removing" ] # [ doc = "all components completely clears memory and you start" ] # [ doc = "fresh." ] pub fn hal_malloc ( size : :: std :: os :: raw :: c_long ) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { # [ doc = " hal_ready() indicates that this component is ready.  This allows" ] # [ doc = "halcmd 'loadusr -W hal_example' to wait until the userspace" ] # [ doc = "component 'hal_example' is ready before continuing." ] pub fn hal_ready ( comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " hal_comp_name() returns the name of the given component, or NULL" ] # [ doc = "if comp_id is not a loaded component" ] pub fn hal_comp_name ( comp_id : :: std :: os :: raw :: c_int ) -> * mut :: std :: os :: raw :: c_char ; } pub const hal_type_t_HAL_TYPE_UNSPECIFIED : hal_type_t = -1 ; pub const hal_type_t_HAL_BIT : hal_type_t = 1 ; pub const hal_type_t_HAL_FLOAT : hal_type_t = 2 ; pub const hal_type_t_HAL_S32 : hal_type_t = 3 ; pub const hal_type_t_HAL_U32 : hal_type_t = 4 ; pub const hal_type_t_HAL_PORT : hal_type_t = 5 ; # [ doc = " HAL pins and signals are typed, and the HAL only allows pins" ] # [ doc = "to be attached to signals of the same type." ] # [ doc = "All HAL types can be read or written atomically.  (Read-modify-" ] # [ doc = "write operations are not atomic.)" ] # [ doc = "Note that when a component reads or writes one of its pins, it" ] # [ doc = "is actually reading or writing the signal linked to that pin, by" ] # [ doc = "way of the pointer." ] # [ doc = "'hal_type_t' is an enum used to identify the type of a pin, signal," ] # [ doc = "or parameter." ] pub type hal_type_t = i32 ; pub const hal_pin_dir_t_HAL_DIR_UNSPECIFIED : hal_pin_dir_t = -1 ; pub const hal_pin_dir_t_HAL_IN : hal_pin_dir_t = 16 ; pub const hal_pin_dir_t_HAL_OUT : hal_pin_dir_t = 32 ; pub const hal_pin_dir_t_HAL_IO : hal_pin_dir_t = 48 ; # [ doc = " HAL pins have a direction attribute.  A pin may be an input to" ] # [ doc = "the HAL component, an output, or it may be bidirectional." ] # [ doc = "Any number of HAL_IN or HAL_IO pins may be connected to the same" ] # [ doc = "signal, but only one HAL_OUT pin is permitted.  This is equivalent" ] # [ doc = "to connecting two output pins together in an electronic circuit." ] # [ doc = "(HAL_IO pins can be thought of as tri-state outputs.)" ] pub type hal_pin_dir_t = i32 ; pub const hal_param_dir_t_HAL_RO : hal_param_dir_t = 64 ; pub const hal_param_dir_t_HAL_RW : hal_param_dir_t = 192 ; # [ doc = " HAL parameters also have a direction attribute.  For parameters," ] # [ doc = "the attribute determines whether the user can write the value" ] # [ doc = "of the parameter, or simply read it.  HAL_RO parameters are" ] # [ doc = "read-only, and HAL_RW ones are writable with 'halcmd setp'." ] pub type hal_param_dir_t = u32 ; pub type int_least8_t = :: std :: os :: raw :: c_schar ; pub type int_least16_t = :: std :: os :: raw :: c_short ; pub type int_least32_t = :: std :: os :: raw :: c_int ; pub type int_least64_t = :: std :: os :: raw :: c_long ; pub type uint_least8_t = :: std :: os :: raw :: c_uchar ; pub type uint_least16_t = :: std :: os :: raw :: c_ushort ; pub type uint_least32_t = :: std :: os :: raw :: c_uint ; pub type uint_least64_t = :: std :: os :: raw :: c_ulong ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type __gwchar_t = :: std :: os :: raw :: c_int ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct imaxdiv_t { pub quot : :: std :: os :: raw :: c_long , pub rem : :: std :: os :: raw :: c_long , } # [ test ] fn bindgen_test_layout_imaxdiv_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < imaxdiv_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( imaxdiv_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < imaxdiv_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( imaxdiv_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < imaxdiv_t > ( ) ) ) . quot as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( imaxdiv_t ) , "::" , stringify ! ( quot ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < imaxdiv_t > ( ) ) ) . rem as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( imaxdiv_t ) , "::" , stringify ! ( rem ) ) ) ; } extern "C" { pub fn imaxabs ( __n : intmax_t ) -> intmax_t ; } extern "C" { pub fn imaxdiv ( __numer : intmax_t , __denom : intmax_t ) -> imaxdiv_t ; } extern "C" { pub fn strtoimax ( __nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int ) -> intmax_t ; } extern "C" { pub fn strtoumax ( __nptr : * const :: std :: os :: raw :: c_char , __endptr : * mut * mut :: std :: os :: raw :: c_char , __base : :: std :: os :: raw :: c_int ) -> uintmax_t ; } extern "C" { pub fn wcstoimax ( __nptr : * const __gwchar_t , __endptr : * mut * mut __gwchar_t , __base : :: std :: os :: raw :: c_int ) -> intmax_t ; } extern "C" { pub fn wcstoumax ( __nptr : * const __gwchar_t , __endptr : * mut * mut __gwchar_t , __base : :: std :: os :: raw :: c_int ) -> uintmax_t ; } pub type rtapi_s8 = i8 ; pub type rtapi_s16 = i16 ; pub type rtapi_s32 = i32 ; pub type rtapi_s64 = i64 ; pub type rtapi_intptr_t = isize ; pub type rtapi_u8 = u8 ; pub type rtapi_u16 = u16 ; pub type rtapi_u32 = u32 ; pub type rtapi_u64 = u64 ; pub type rtapi_uintptr_t = usize ; pub type hal_bit_t = bool ; pub type hal_u32_t = rtapi_u32 ; pub type hal_s32_t = rtapi_s32 ; pub type hal_port_t = :: std :: os :: raw :: c_int ; pub type real_t = f64 ; pub type ireal_t = rtapi_u64 ; extern "C" { # [ doc = "                      \"LOCKING\" FUNCTIONS                             *" ] # [ doc = "locking types defined in hal.h" ] # [ doc = "HAL_LOCK_NONE -locks none" ] # [ doc = "HAL_LOCK_* - intermediate locking levels" ] # [ doc = "HAL_LOCK_ALL - locks everything" ] pub fn hal_set_lock ( lock_type : :: std :: os :: raw :: c_uchar ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " The 'hal_get_lock()' function returns the current locking level" ] # [ doc = "locking types defined in hal.h" ] # [ doc = "HAL_LOCK_NONE -locks none" ] # [ doc = "HAL_LOCK_* - intermediate locking levels" ] # [ doc = "HAL_LOCK_ALL - locks everything" ] pub fn hal_get_lock ( ) -> :: std :: os :: raw :: c_uchar ; } extern "C" { # [ doc = " The 'hal_pin_xxx_new()' functions create a new 'pin' object." ] # [ doc = "Once a pin has been created, it can be linked to a signal object" ] # [ doc = "using hal_link().  A pin contains a pointer, and the component" ] # [ doc = "that owns the pin can dereference the pointer to access whatever" ] # [ doc = "signal is linked to the pin.  (If no signal is linked, it points" ] # [ doc = "to a dummy signal.)" ] # [ doc = "There are eight functions, one for each of the data types that" ] # [ doc = "the HAL supports.  Pins may only be linked to signals of the same" ] # [ doc = "type." ] # [ doc = "'name' is the name of the new pin.  It must be no longer than HAL_NAME_LEN." ] # [ doc = "If there is already a pin with the same name the call will fail." ] # [ doc = "'dir' is the pin direction.  It indicates whether the pin is" ] # [ doc = "an input or output from the component." ] # [ doc = "'data_ptr_addr' is the address of the pointer that the component" ] # [ doc = "will use for the pin.  When the pin is linked to a signal, the" ] # [ doc = "pointer at 'data_ptr_addr' will be changed to point to the signal" ] # [ doc = "data location.  'data_ptr_addr' must point to memory allocated by" ] # [ doc = "hal_malloc().  Typically the component allocates space for a data" ] # [ doc = "structure with hal_malloc(), and 'data_ptr_addr' is the address" ] # [ doc = "of a member of that structure." ] # [ doc = "'comp_id' is the ID of the component that will 'own' the" ] # [ doc = "variable.  Normally it should be the ID of the caller, but in" ] # [ doc = "some cases, a user mode component may be doing setup for a" ] # [ doc = "realtime component, so the ID should be that of the realtime" ] # [ doc = "component that will actually be using the pin." ] # [ doc = "If successful, the hal_pin_xxx_new() functions return 0." ] # [ doc = "On failure they return a negative error code." ] pub fn hal_pin_bit_new ( name : * const :: std :: os :: raw :: c_char , dir : hal_pin_dir_t , data_ptr_addr : * mut * mut hal_bit_t , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_pin_float_new ( name : * const :: std :: os :: raw :: c_char , dir : hal_pin_dir_t , data_ptr_addr : * mut * mut real_t , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_pin_u32_new ( name : * const :: std :: os :: raw :: c_char , dir : hal_pin_dir_t , data_ptr_addr : * mut * mut hal_u32_t , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_pin_s32_new ( name : * const :: std :: os :: raw :: c_char , dir : hal_pin_dir_t , data_ptr_addr : * mut * mut hal_s32_t , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_pin_port_new ( name : * const :: std :: os :: raw :: c_char , dir : hal_pin_dir_t , data_ptr_addr : * mut * mut hal_port_t , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " The hal_pin_XXX_newf family of functions are similar to" ] # [ doc = "hal_pin_XXX_new except that they also do printf-style formatting to compute" ] # [ doc = "the pin name" ] # [ doc = "If successful, the hal_pin_xxx_newf() functions return 0." ] # [ doc = "On failure they return a negative error code." ] pub fn hal_pin_bit_newf ( dir : hal_pin_dir_t , data_ptr_addr : * mut * mut hal_bit_t , comp_id : :: std :: os :: raw :: c_int , fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_pin_float_newf ( dir : hal_pin_dir_t , data_ptr_addr : * mut * mut real_t , comp_id : :: std :: os :: raw :: c_int , fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_pin_u32_newf ( dir : hal_pin_dir_t , data_ptr_addr : * mut * mut hal_u32_t , comp_id : :: std :: os :: raw :: c_int , fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_pin_s32_newf ( dir : hal_pin_dir_t , data_ptr_addr : * mut * mut hal_s32_t , comp_id : :: std :: os :: raw :: c_int , fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_pin_port_newf ( dir : hal_pin_dir_t , data_ptr_addr : * mut * mut hal_port_t , comp_id : :: std :: os :: raw :: c_int , fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_pin_new()' creates a new 'pin' object.  It is a generic" ] # [ doc = "version of the eight functions above.  It is provided ONLY for" ] # [ doc = "those special cases where a generic function is needed.  It is" ] # [ doc = "STRONGLY recommended that the functions above be used instead," ] # [ doc = "because they check the type of 'data_ptr_addr' against the pin" ] # [ doc = "type at compile time.  Using this function requires a cast of" ] # [ doc = "the 'data_ptr_addr' argument that defeats type checking and can" ] # [ doc = "cause subtle bugs." ] # [ doc = "'name', 'dir', 'data_ptr_addr' and 'comp_id' are the same as in" ] # [ doc = "the functions above." ] # [ doc = "'type' is the hal type of the new pin - the type of data that" ] # [ doc = "will be passed in/out of the component through the new pin." ] # [ doc = "If successful, hal_pin_new() returns 0.  On failure" ] # [ doc = "it returns a negative error code." ] pub fn hal_pin_new ( name : * const :: std :: os :: raw :: c_char , type_ : hal_type_t , dir : hal_pin_dir_t , data_ptr_addr : * mut * mut :: std :: os :: raw :: c_void , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_pin_alias()' assigns an alternate name, aka an alias, to" ] # [ doc = "a pin.  Once assigned, the pin can be referred to by either its" ] # [ doc = "original name or the alias.  Calling this function with 'alias'" ] # [ doc = "set to NULL will remove any existing alias." ] pub fn hal_pin_alias ( pin_name : * const :: std :: os :: raw :: c_char , alias : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_signal_new()' creates a new signal object.  Once a signal has" ] # [ doc = "been created, pins can be linked to it with hal_link().  The signal" ] # [ doc = "object contains the actual storage for the signal data.  Pin objects" ] # [ doc = "linked to the signal have pointers that point to the data." ] # [ doc = "'name' is the name of the new signal.  It must be no longer than" ] # [ doc = "HAL_NAME_LEN.  If there is already a signal with the same" ] # [ doc = "name the call will fail." ] # [ doc = "'type' is the data type handled by the signal.  Pins can only be" ] # [ doc = "linked to a signal of the same type." ] # [ doc = "Note that the actual address of the data storage for the signal is" ] # [ doc = "not accessible.  The data can be accessed only by linking a pin to" ] # [ doc = "the signal.  Also note that signals, unlike pins, do not have" ] # [ doc = "'owners'.  Once created, a signal remains in place until either it" ] # [ doc = "is deleted, or the last HAL component exits." ] # [ doc = "If successful, 'hal_signal_new() returns 0.  On failure" ] # [ doc = "it returns a negative error code." ] pub fn hal_signal_new ( name : * const :: std :: os :: raw :: c_char , type_ : hal_type_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_signal_delete()' deletes a signal object.  Any pins linked to" ] # [ doc = "the object are unlinked." ] # [ doc = "'name' is the name of the signal to be deleted." ] # [ doc = "If successful, 'hal_signal_delete()' returns 0.  On" ] # [ doc = "failure, it returns a negative error code." ] pub fn hal_signal_delete ( name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_link()' links a pin to a signal.  'pin_name' and 'sig_name' are" ] # [ doc = "strings containing the pin and signal names.  If the pin is already" ] # [ doc = "linked to the desired signal, the command succeeds.  If the pin is" ] # [ doc = "already linked to some other signal, it is an error.  In either" ] # [ doc = "case, the existing connection is not modified.  (Use 'hal_unlink'" ] # [ doc = "to break an existing connection.)  If the signal already has other" ] # [ doc = "pins linked to it, they are unaffected - one signal can be linked" ] # [ doc = "to many pins, but a pin can be linked to only one signal." ] # [ doc = "On success, hal_link() returns 0, on failure it returns a" ] # [ doc = "negative error code." ] pub fn hal_link ( pin_name : * const :: std :: os :: raw :: c_char , sig_name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_unlink()' unlinks any signal from the specified pin.  'pin_name'" ] # [ doc = "is a string containing the pin name." ] # [ doc = "On success, hal_unlink() returns 0, on failure it" ] # [ doc = "returns a negative error code." ] pub fn hal_unlink ( pin_name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " The 'hal_param_xxx_new()' functions create a new 'parameter' object." ] # [ doc = "A parameter is a value that is only used inside a component, but may" ] # [ doc = "need to be initialized or adjusted from outside the component to set" ] # [ doc = "up the system properly." ] # [ doc = "Once a parameter has been created, it's value can be changed using" ] # [ doc = "the 'hal_param_xxx_set()' functions." ] # [ doc = "There are eight functions, one for each of the data types that" ] # [ doc = "the HAL supports.  Pins may only be linked to signals of the same" ] # [ doc = "type." ] # [ doc = "'name' is the name of the new parameter.  It must be no longer than" ] # [ doc = ".HAL_NAME_LEN.  If there is already a parameter with the same" ] # [ doc = "name the call will fail." ] # [ doc = "'dir' is the parameter direction.  HAL_RO parameters are read only from" ] # [ doc = "outside, and are written to by the component itself, typically to provide a" ] # [ doc = "view \"into\" the component for testing or troubleshooting.  HAL_RW" ] # [ doc = "parameters are writable from outside and also sometimes modified by the" ] # [ doc = "component itself as well." ] # [ doc = "'data_addr' is the address where the value of the parameter is to be" ] # [ doc = "stored.  'data_addr' must point to memory allocated by hal_malloc()." ] # [ doc = "Typically the component allocates space for a data structure with" ] # [ doc = "hal_malloc(), and 'data_addr' is the address of a member of that" ] # [ doc = "structure.  Creating the paremeter does not initialize or modify the" ] # [ doc = "value at *data_addr - the component should load a reasonable default" ] # [ doc = "value." ] # [ doc = "'comp_id' is the ID of the component that will 'own' the parameter." ] # [ doc = "Normally it should be the ID of the caller, but in some cases, a" ] # [ doc = "user mode component may be doing setup for a realtime component, so" ] # [ doc = "the ID should be that of the realtime component that will actually" ] # [ doc = "be using the parameter." ] # [ doc = "If successful, the hal_param_xxx_new() functions return 0." ] # [ doc = "On failure they return a negative error code." ] pub fn hal_param_bit_new ( name : * const :: std :: os :: raw :: c_char , dir : hal_param_dir_t , data_addr : * mut hal_bit_t , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_param_float_new ( name : * const :: std :: os :: raw :: c_char , dir : hal_param_dir_t , data_addr : * mut real_t , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_param_u32_new ( name : * const :: std :: os :: raw :: c_char , dir : hal_param_dir_t , data_addr : * mut hal_u32_t , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_param_s32_new ( name : * const :: std :: os :: raw :: c_char , dir : hal_param_dir_t , data_addr : * mut hal_s32_t , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " printf_style-style versions of hal_param_XXX_new" ] pub fn hal_param_bit_newf ( dir : hal_param_dir_t , data_addr : * mut hal_bit_t , comp_id : :: std :: os :: raw :: c_int , fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_param_float_newf ( dir : hal_param_dir_t , data_addr : * mut real_t , comp_id : :: std :: os :: raw :: c_int , fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_param_u32_newf ( dir : hal_param_dir_t , data_addr : * mut hal_u32_t , comp_id : :: std :: os :: raw :: c_int , fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_param_s32_newf ( dir : hal_param_dir_t , data_addr : * mut hal_s32_t , comp_id : :: std :: os :: raw :: c_int , fmt : * const :: std :: os :: raw :: c_char , ... ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_param_new()' creates a new 'parameter' object.  It is a generic" ] # [ doc = "version of the eight functions above.  It is provided ONLY for those" ] # [ doc = "special cases where a generic function is needed.  It is STRONGLY" ] # [ doc = "recommended that the functions above be used instead, because they" ] # [ doc = "check the type of 'data_addr' against the parameter type at compile" ] # [ doc = "time.  Using this function requires a cast of the 'data_addr' argument" ] # [ doc = "that defeats type checking and can cause subtle bugs." ] # [ doc = "'name', 'data_addr' and 'comp_id' are the same as in the" ] # [ doc = "functions above." ] # [ doc = "'type' is the hal type of the new parameter - the type of data" ] # [ doc = "that will be stored in the parameter." ] # [ doc = "'dir' is the parameter direction.  HAL_RO parameters are read only from" ] # [ doc = "outside, and are written to by the component itself, typically to provide a" ] # [ doc = "view \"into\" the component for testing or troubleshooting.  HAL_RW" ] # [ doc = "parameters are writable from outside and also sometimes modified by the" ] # [ doc = "component itself as well." ] # [ doc = "If successful, hal_param_new() returns 0.  On failure" ] # [ doc = "it returns a negative error code." ] pub fn hal_param_new ( name : * const :: std :: os :: raw :: c_char , type_ : hal_type_t , dir : hal_param_dir_t , data_addr : * mut :: std :: os :: raw :: c_void , comp_id : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " The 'hal_param_xxx_set()' functions modify the value of a parameter." ] # [ doc = "'name' is the name of the parameter that is to be set.  The" ] # [ doc = "parameter type must match the function type, and the parameter" ] # [ doc = "must not be read-only." ] # [ doc = "'value' is the value to be loaded into the parameter." ] # [ doc = "On success, the hal_param_xxx_set() functions return 0," ] # [ doc = "and on failure they return a negative error code." ] pub fn hal_param_bit_set ( name : * const :: std :: os :: raw :: c_char , value : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_param_float_set ( name : * const :: std :: os :: raw :: c_char , value : f64 ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_param_u32_set ( name : * const :: std :: os :: raw :: c_char , value : :: std :: os :: raw :: c_ulong ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_param_s32_set ( name : * const :: std :: os :: raw :: c_char , value : :: std :: os :: raw :: c_long ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_param_alias()' assigns an alternate name, aka an alias, to" ] # [ doc = "a parameter.  Once assigned, the parameter can be referred to by" ] # [ doc = "either its original name or the alias.  Calling this function" ] # [ doc = "with 'alias' set to NULL will remove any existing alias." ] pub fn hal_param_alias ( pin_name : * const :: std :: os :: raw :: c_char , alias : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " 'hal_param_set()' is a generic function that sets the value of a" ] # [ doc = "parameter.  It is provided ONLY for those special cases where a" ] # [ doc = "generic function is needed.  It is STRONGLY recommended that the" ] # [ doc = "functions above be used instead, because they are simpler and less" ] # [ doc = "prone to errors." ] # [ doc = "'name', is the same as in the functions above." ] # [ doc = "'type' is the hal type of the the data at *value_addr, and must" ] # [ doc = "match the type of the parameter.  The parameter must not be" ] # [ doc = "read only." ] # [ doc = "'value_addr' is a pointer to the new value of the parameter." ] # [ doc = "The data at that location will be interpreted according to the" ] # [ doc = "type of the parameter." ] # [ doc = "If successful, hal_param_set() returns 0.  On failure" ] # [ doc = "it returns a negative error code." ] pub fn hal_param_set ( name : * const :: std :: os :: raw :: c_char , type_ : hal_type_t , value_addr : * mut :: std :: os :: raw :: c_void ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " hal_add_funct_to_thread() adds a function exported by a" ] # [ doc = "realtime HAL component to a realtime thread.  This determines" ] # [ doc = "how often and in what order functions are executed." ] # [ doc = "'funct_name' is the name of the function, as specified in" ] # [ doc = "a call to hal_export_funct()." ] # [ doc = "'thread_name' is the name of the thread to which the function" ] # [ doc = "should be added.  When the thread runs, the functions will" ] # [ doc = "be executed in the order in which they were added to the" ] # [ doc = "thread." ] # [ doc = "'position' is the desired location within the thread. This" ] # [ doc = "determines when the function will run, in relation to other" ] # [ doc = "functions in the thread.  A positive number indicates the" ] # [ doc = "desired location as measured from the beginning of the thread," ] # [ doc = "and a negative is measured from the end.  So +1 means this" ] # [ doc = "function will become the first one to run, +5 means it will" ] # [ doc = "be the fifth one to run, -2 means it will be next to last," ] # [ doc = "and -1 means it will be last.  Zero is illegal." ] # [ doc = "Returns 0, or a negative error code.    Call" ] # [ doc = "only from within user space or init code, not from" ] # [ doc = "realtime code." ] pub fn hal_add_funct_to_thread ( funct_name : * const :: std :: os :: raw :: c_char , thread_name : * const :: std :: os :: raw :: c_char , position : :: std :: os :: raw :: c_int ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " hal_del_funct_from_thread() removes a function from a thread." ] # [ doc = "'funct_name' is the name of the function, as specified in" ] # [ doc = "a call to hal_export_funct()." ] # [ doc = "'thread_name' is the name of a thread which currently calls" ] # [ doc = "the function." ] # [ doc = "Returns 0, or a negative error code.    Call" ] # [ doc = "only from within user space or init code, not from" ] # [ doc = "realtime code." ] pub fn hal_del_funct_from_thread ( funct_name : * const :: std :: os :: raw :: c_char , thread_name : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " hal_start_threads() starts all threads that have been created." ] # [ doc = "This is the point at which realtime functions start being called." ] # [ doc = "On success it returns 0, on failure a negative" ] # [ doc = "error code." ] pub fn hal_start_threads ( ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " hal_stop_threads() stops all threads that were previously" ] # [ doc = "started by hal_start_threads().  It should be called before" ] # [ doc = "any component that is part of a system exits." ] # [ doc = "On success it returns 0, on failure a negative" ] # [ doc = "error code." ] pub fn hal_stop_threads ( ) -> :: std :: os :: raw :: c_int ; } # [ doc = " HAL 'constructor' typedef" ] # [ doc = "If it is not NULL, this points to a function which can construct a new" ] # [ doc = "instance of its component.  Return value is >=0 for success," ] # [ doc = "<0 for error." ] pub type constructor = :: std :: option :: Option < unsafe extern "C" fn ( prefix : * mut :: std :: os :: raw :: c_char , arg : * mut :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int > ; extern "C" { # [ doc = " hal_set_constructor() sets the constructor function for this component" ] pub fn hal_set_constructor ( comp_id : :: std :: os :: raw :: c_int , make : constructor ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " hal_port_read reads count bytes from the port into dest." ] # [ doc = "This function should only be called by the component that owns" ] # [ doc = "the IN PORT pin." ] # [ doc = "returns" ] # [ doc = "true: count bytes were read into dest" ] # [ doc = "false: no bytes were read into dest" ] pub fn hal_port_read ( port : hal_port_t , dest : * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_uint ) -> bool ; } extern "C" { # [ doc = " hal_port_peek operates the same as hal_port_read but no bytes are consumed" ] # [ doc = "from the input port. Repeated calls to hal_port_peek will return the same data." ] # [ doc = "This function should only be called by the component that owns the IN PORT pin." ] # [ doc = "returns" ] # [ doc = "true: count bytes were read into dest" ] # [ doc = "false: no bytes were read into dest" ] pub fn hal_port_peek ( port : hal_port_t , dest : * mut :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_uint ) -> bool ; } extern "C" { # [ doc = " hal_port_peek_commit advances the read position in the port buffer" ] # [ doc = "by count bytes. A hal_port_peek followed by a hal_port_peek_commit" ] # [ doc = "with the same count value would function equivalently to" ] # [ doc = "hal_port_read given the same count value. This function should only" ] # [ doc = "be called by the component that owns the IN PORT pin." ] # [ doc = "returns:" ] # [ doc = "true: count readable bytes were skipped and are no longer accessible" ] # [ doc = "false: no bytes wer skipped" ] pub fn hal_port_peek_commit ( port : hal_port_t , count : :: std :: os :: raw :: c_uint ) -> bool ; } extern "C" { # [ doc = " hal_port_write writes count bytes from src into the port." ] # [ doc = "This function should only be called by the component that owns" ] # [ doc = "the OUT PORT pin." ] # [ doc = "returns:" ] # [ doc = "true: count bytes were written" ] # [ doc = "false: no bytes were written into dest" ] pub fn hal_port_write ( port : hal_port_t , src : * const :: std :: os :: raw :: c_char , count : :: std :: os :: raw :: c_uint ) -> bool ; } extern "C" { # [ doc = " hal_port_readable returns the number of bytes available" ] # [ doc = "for reading from the port." ] pub fn hal_port_readable ( port : hal_port_t ) -> :: std :: os :: raw :: c_uint ; } extern "C" { # [ doc = " hal_port_writable returns the number of bytes that" ] # [ doc = "can be written into the port" ] pub fn hal_port_writable ( port : hal_port_t ) -> :: std :: os :: raw :: c_uint ; } extern "C" { # [ doc = " hal_port_buffer_size returns the total number of bytes" ] # [ doc = "that a port can buffer" ] pub fn hal_port_buffer_size ( port : hal_port_t ) -> :: std :: os :: raw :: c_uint ; } extern "C" { # [ doc = " hal_port_clear emptys a given port of all data" ] # [ doc = "without consuming any of it." ] # [ doc = "hal_port_clear should only be called by a reader" ] pub fn hal_port_clear ( port : hal_port_t ) ; } extern "C" { # [ doc = " hal_port_wait_readable spin waits on a port until it has at least" ] # [ doc = "count bytes available for reading, or *stop > 0" ] pub fn hal_port_wait_readable ( port : * mut * mut hal_port_t , count : :: std :: os :: raw :: c_uint , stop : * mut sig_atomic_t ) ; } extern "C" { # [ doc = " hal_port_wait_writable spin waits on a port until it has at least" ] # [ doc = "count bytes available for writing or *stop > 0" ] pub fn hal_port_wait_writable ( port : * mut * mut hal_port_t , count : :: std :: os :: raw :: c_uint , stop : * mut sig_atomic_t ) ; } # [ repr ( C ) ] # [ derive ( Copy , Clone ) ] pub union hal_stream_data { pub f : real_t , pub b : bool , pub s : i32 , pub u : u32 , _bindgen_union_align : u64 , } # [ test ] fn bindgen_test_layout_hal_stream_data ( ) { assert_eq ! ( :: std :: mem :: size_of :: < hal_stream_data > ( ) , 8usize , concat ! ( "Size of: " , stringify ! ( hal_stream_data ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < hal_stream_data > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( hal_stream_data ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hal_stream_data > ( ) ) ) . f as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hal_stream_data ) , "::" , stringify ! ( f ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hal_stream_data > ( ) ) ) . b as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hal_stream_data ) , "::" , stringify ! ( b ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hal_stream_data > ( ) ) ) . s as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hal_stream_data ) , "::" , stringify ! ( s ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hal_stream_data > ( ) ) ) . u as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hal_stream_data ) , "::" , stringify ! ( u ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct hal_stream_t { pub comp_id : :: std :: os :: raw :: c_int , pub shmem_id : :: std :: os :: raw :: c_int , pub fifo : * mut hal_stream_shm , } # [ test ] fn bindgen_test_layout_hal_stream_t ( ) { assert_eq ! ( :: std :: mem :: size_of :: < hal_stream_t > ( ) , 16usize , concat ! ( "Size of: " , stringify ! ( hal_stream_t ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < hal_stream_t > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( hal_stream_t ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hal_stream_t > ( ) ) ) . comp_id as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( hal_stream_t ) , "::" , stringify ! ( comp_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hal_stream_t > ( ) ) ) . shmem_id as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( hal_stream_t ) , "::" , stringify ! ( shmem_id ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < hal_stream_t > ( ) ) ) . fifo as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( hal_stream_t ) , "::" , stringify ! ( fifo ) ) ) ; } extern "C" { # [ doc = " create and attach a stream" ] pub fn hal_stream_create ( stream : * mut hal_stream_t , comp : :: std :: os :: raw :: c_int , key : :: std :: os :: raw :: c_int , depth : :: std :: os :: raw :: c_int , typestring : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " detach and destroy an open stream" ] pub fn hal_stream_destroy ( stream : * mut hal_stream_t ) ; } extern "C" { # [ doc = " attach to an existing stream" ] pub fn hal_stream_attach ( stream : * mut hal_stream_t , comp : :: std :: os :: raw :: c_int , key : :: std :: os :: raw :: c_int , typestring : * const :: std :: os :: raw :: c_char ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " detach from an open stream" ] pub fn hal_stream_detach ( stream : * mut hal_stream_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { # [ doc = " stream introspection" ] pub fn hal_stream_element_count ( stream : * mut hal_stream_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_stream_element_type ( stream : * mut hal_stream_t , idx : :: std :: os :: raw :: c_int ) -> hal_type_t ; } extern "C" { pub fn hal_stream_read ( stream : * mut hal_stream_t , buf : * mut hal_stream_data , sampleno : * mut :: std :: os :: raw :: c_uint ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_stream_readable ( stream : * mut hal_stream_t ) -> bool ; } extern "C" { pub fn hal_stream_depth ( stream : * mut hal_stream_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_stream_maxdepth ( stream : * mut hal_stream_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_stream_num_underruns ( stream : * mut hal_stream_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_stream_num_overruns ( stream : * mut hal_stream_t ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_stream_wait_readable ( stream : * mut hal_stream_t , stop : * mut sig_atomic_t ) ; } extern "C" { pub fn hal_stream_write ( stream : * mut hal_stream_t , buf : * mut hal_stream_data ) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn hal_stream_writable ( stream : * mut hal_stream_t ) -> bool ; } extern "C" { pub fn hal_stream_wait_writable ( stream : * mut hal_stream_t , stop : * mut sig_atomic_t ) ; } pub type __builtin_va_list = [ __va_list_tag ; 1usize ] ; # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __va_list_tag { pub gp_offset : :: std :: os :: raw :: c_uint , pub fp_offset : :: std :: os :: raw :: c_uint , pub overflow_arg_area : * mut :: std :: os :: raw :: c_void , pub reg_save_area : * mut :: std :: os :: raw :: c_void , } # [ test ] fn bindgen_test_layout___va_list_tag ( ) { assert_eq ! ( :: std :: mem :: size_of :: < __va_list_tag > ( ) , 24usize , concat ! ( "Size of: " , stringify ! ( __va_list_tag ) ) ) ; assert_eq ! ( :: std :: mem :: align_of :: < __va_list_tag > ( ) , 8usize , concat ! ( "Alignment of " , stringify ! ( __va_list_tag ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . gp_offset as * const _ as usize } , 0usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( gp_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . fp_offset as * const _ as usize } , 4usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( fp_offset ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . overflow_arg_area as * const _ as usize } , 8usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( overflow_arg_area ) ) ) ; assert_eq ! ( unsafe { & ( * ( :: std :: ptr :: null :: < __va_list_tag > ( ) ) ) . reg_save_area as * const _ as usize } , 16usize , concat ! ( "Offset of field: " , stringify ! ( __va_list_tag ) , "::" , stringify ! ( reg_save_area ) ) ) ; } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct __spawn_action { pub _address : u8 , } # [ repr ( C ) ] # [ derive ( Debug , Copy , Clone ) ] pub struct hal_stream_shm { pub _address : u8 , }