mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-08-21 15:31:15 +00:00
The newly added virtio-net implementation needs to interact with TAP interfaces and MAC addresses, which is the reason why it is easier to rely on existing packages net_util and net_gen. One more thing, both net_util and net_gen could be trimmed down, based on using only the things we need from cloud-hypervisor. Both net_util, net_gen and sys_util are based on Firecracker commit d4a89cdc0bd2867f821e3678328dabad6dd8b767. Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
3265 lines
100 KiB
Rust
3265 lines
100 KiB
Rust
// Copyright 2017 The Chromium OS Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the THIRD-PARTY file.
|
|
|
|
/* automatically generated by rust-bindgen */
|
|
|
|
#[repr(C)]
|
|
#[derive(Default)]
|
|
pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>);
|
|
impl<T> __IncompleteArrayField<T> {
|
|
#[inline]
|
|
pub fn new() -> Self {
|
|
__IncompleteArrayField(::std::marker::PhantomData)
|
|
}
|
|
#[inline]
|
|
pub unsafe fn as_ptr(&self) -> *const T {
|
|
::std::mem::transmute(self)
|
|
}
|
|
#[inline]
|
|
pub unsafe fn as_mut_ptr(&mut self) -> *mut T {
|
|
::std::mem::transmute(self)
|
|
}
|
|
#[inline]
|
|
pub unsafe fn as_slice(&self, len: usize) -> &[T] {
|
|
::std::slice::from_raw_parts(self.as_ptr(), len)
|
|
}
|
|
#[inline]
|
|
pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
|
|
::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
|
|
}
|
|
}
|
|
impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
|
|
fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
|
fmt.write_str("__IncompleteArrayField")
|
|
}
|
|
}
|
|
impl<T> ::std::clone::Clone for __IncompleteArrayField<T> {
|
|
#[inline]
|
|
fn clone(&self) -> Self {
|
|
Self::new()
|
|
}
|
|
}
|
|
impl<T> ::std::marker::Copy for __IncompleteArrayField<T> {}
|
|
#[repr(C)]
|
|
pub struct __BindgenUnionField<T>(::std::marker::PhantomData<T>);
|
|
impl<T> __BindgenUnionField<T> {
|
|
#[inline]
|
|
pub fn new() -> Self {
|
|
__BindgenUnionField(::std::marker::PhantomData)
|
|
}
|
|
#[inline]
|
|
pub unsafe fn as_ref(&self) -> &T {
|
|
::std::mem::transmute(self)
|
|
}
|
|
#[inline]
|
|
pub unsafe fn as_mut(&mut self) -> &mut T {
|
|
::std::mem::transmute(self)
|
|
}
|
|
}
|
|
impl<T> ::std::default::Default for __BindgenUnionField<T> {
|
|
#[inline]
|
|
fn default() -> Self {
|
|
Self::new()
|
|
}
|
|
}
|
|
impl<T> ::std::clone::Clone for __BindgenUnionField<T> {
|
|
#[inline]
|
|
fn clone(&self) -> Self {
|
|
Self::new()
|
|
}
|
|
}
|
|
impl<T> ::std::marker::Copy for __BindgenUnionField<T> {}
|
|
impl<T> ::std::fmt::Debug for __BindgenUnionField<T> {
|
|
fn fmt(&self, fmt: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
|
|
fmt.write_str("__BindgenUnionField")
|
|
}
|
|
}
|
|
pub const __UAPI_DEF_IN_ADDR: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IN_IPPROTO: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IN_PKTINFO: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IP_MREQ: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_SOCKADDR_IN: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IN_CLASS: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IN6_ADDR: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IN6_ADDR_ALT: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_SOCKADDR_IN6: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IPV6_MREQ: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IPPROTO_V6: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IPV6_OPTIONS: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IN6_PKTINFO: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_IP6_MTUINFO: ::std::os::raw::c_uint = 1;
|
|
pub const __UAPI_DEF_XATTR: ::std::os::raw::c_uint = 1;
|
|
pub const __BITS_PER_LONG: ::std::os::raw::c_uint = 64;
|
|
pub const __FD_SETSIZE: ::std::os::raw::c_uint = 1024;
|
|
pub const _K_SS_MAXSIZE: ::std::os::raw::c_uint = 128;
|
|
pub const _SYS_SOCKET_H: ::std::os::raw::c_uint = 1;
|
|
pub const _FEATURES_H: ::std::os::raw::c_uint = 1;
|
|
pub const _DEFAULT_SOURCE: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_ISOC11: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_ISOC99: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_ISOC95: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_POSIX_IMPLICITLY: ::std::os::raw::c_uint = 1;
|
|
pub const _POSIX_SOURCE: ::std::os::raw::c_uint = 1;
|
|
pub const _POSIX_C_SOURCE: ::std::os::raw::c_uint = 200809;
|
|
pub const __USE_POSIX: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_POSIX2: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_POSIX199309: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_POSIX199506: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_XOPEN2K: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_XOPEN2K8: ::std::os::raw::c_uint = 1;
|
|
pub const _ATFILE_SOURCE: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_MISC: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_ATFILE: ::std::os::raw::c_uint = 1;
|
|
pub const __USE_FORTIFY_LEVEL: ::std::os::raw::c_uint = 0;
|
|
pub const _STDC_PREDEF_H: ::std::os::raw::c_uint = 1;
|
|
pub const __STDC_IEC_559__: ::std::os::raw::c_uint = 1;
|
|
pub const __STDC_IEC_559_COMPLEX__: ::std::os::raw::c_uint = 1;
|
|
pub const __STDC_ISO_10646__: ::std::os::raw::c_uint = 201505;
|
|
pub const __STDC_NO_THREADS__: ::std::os::raw::c_uint = 1;
|
|
pub const __GNU_LIBRARY__: ::std::os::raw::c_uint = 6;
|
|
pub const __GLIBC__: ::std::os::raw::c_uint = 2;
|
|
pub const __GLIBC_MINOR__: ::std::os::raw::c_uint = 23;
|
|
pub const _SYS_CDEFS_H: ::std::os::raw::c_uint = 1;
|
|
pub const __WORDSIZE: ::std::os::raw::c_uint = 64;
|
|
pub const __WORDSIZE_TIME64_COMPAT32: ::std::os::raw::c_uint = 1;
|
|
pub const __SYSCALL_WORDSIZE: ::std::os::raw::c_uint = 64;
|
|
pub const _SYS_UIO_H: ::std::os::raw::c_uint = 1;
|
|
pub const _SYS_TYPES_H: ::std::os::raw::c_uint = 1;
|
|
pub const _BITS_TYPES_H: ::std::os::raw::c_uint = 1;
|
|
pub const _BITS_TYPESIZES_H: ::std::os::raw::c_uint = 1;
|
|
pub const __OFF_T_MATCHES_OFF64_T: ::std::os::raw::c_uint = 1;
|
|
pub const __INO_T_MATCHES_INO64_T: ::std::os::raw::c_uint = 1;
|
|
pub const __clock_t_defined: ::std::os::raw::c_uint = 1;
|
|
pub const __time_t_defined: ::std::os::raw::c_uint = 1;
|
|
pub const __clockid_t_defined: ::std::os::raw::c_uint = 1;
|
|
pub const __timer_t_defined: ::std::os::raw::c_uint = 1;
|
|
pub const __BIT_TYPES_DEFINED__: ::std::os::raw::c_uint = 1;
|
|
pub const _ENDIAN_H: ::std::os::raw::c_uint = 1;
|
|
pub const __LITTLE_ENDIAN: ::std::os::raw::c_uint = 1234;
|
|
pub const __BIG_ENDIAN: ::std::os::raw::c_uint = 4321;
|
|
pub const __PDP_ENDIAN: ::std::os::raw::c_uint = 3412;
|
|
pub const __BYTE_ORDER: ::std::os::raw::c_uint = 1234;
|
|
pub const __FLOAT_WORD_ORDER: ::std::os::raw::c_uint = 1234;
|
|
pub const LITTLE_ENDIAN: ::std::os::raw::c_uint = 1234;
|
|
pub const BIG_ENDIAN: ::std::os::raw::c_uint = 4321;
|
|
pub const PDP_ENDIAN: ::std::os::raw::c_uint = 3412;
|
|
pub const BYTE_ORDER: ::std::os::raw::c_uint = 1234;
|
|
pub const _BITS_BYTESWAP_H: ::std::os::raw::c_uint = 1;
|
|
pub const _SYS_SELECT_H: ::std::os::raw::c_uint = 1;
|
|
pub const __FD_ZERO_STOS: &'static [u8; 6usize] = b"stosq\x00";
|
|
pub const _SIGSET_H_types: ::std::os::raw::c_uint = 1;
|
|
pub const __timespec_defined: ::std::os::raw::c_uint = 1;
|
|
pub const _STRUCT_TIMEVAL: ::std::os::raw::c_uint = 1;
|
|
pub const FD_SETSIZE: ::std::os::raw::c_uint = 1024;
|
|
pub const _SYS_SYSMACROS_H: ::std::os::raw::c_uint = 1;
|
|
pub const _BITS_PTHREADTYPES_H: ::std::os::raw::c_uint = 1;
|
|
pub const __SIZEOF_PTHREAD_ATTR_T: ::std::os::raw::c_uint = 56;
|
|
pub const __SIZEOF_PTHREAD_MUTEX_T: ::std::os::raw::c_uint = 40;
|
|
pub const __SIZEOF_PTHREAD_MUTEXATTR_T: ::std::os::raw::c_uint = 4;
|
|
pub const __SIZEOF_PTHREAD_COND_T: ::std::os::raw::c_uint = 48;
|
|
pub const __SIZEOF_PTHREAD_CONDATTR_T: ::std::os::raw::c_uint = 4;
|
|
pub const __SIZEOF_PTHREAD_RWLOCK_T: ::std::os::raw::c_uint = 56;
|
|
pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: ::std::os::raw::c_uint = 8;
|
|
pub const __SIZEOF_PTHREAD_BARRIER_T: ::std::os::raw::c_uint = 32;
|
|
pub const __SIZEOF_PTHREAD_BARRIERATTR_T: ::std::os::raw::c_uint = 4;
|
|
pub const __have_pthread_attr_t: ::std::os::raw::c_uint = 1;
|
|
pub const __PTHREAD_MUTEX_HAVE_PREV: ::std::os::raw::c_uint = 1;
|
|
pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: ::std::os::raw::c_uint = 1;
|
|
pub const _BITS_UIO_H: ::std::os::raw::c_uint = 1;
|
|
pub const UIO_MAXIOV: ::std::os::raw::c_uint = 1024;
|
|
pub const PF_UNSPEC: ::std::os::raw::c_uint = 0;
|
|
pub const PF_LOCAL: ::std::os::raw::c_uint = 1;
|
|
pub const PF_UNIX: ::std::os::raw::c_uint = 1;
|
|
pub const PF_FILE: ::std::os::raw::c_uint = 1;
|
|
pub const PF_INET: ::std::os::raw::c_uint = 2;
|
|
pub const PF_AX25: ::std::os::raw::c_uint = 3;
|
|
pub const PF_IPX: ::std::os::raw::c_uint = 4;
|
|
pub const PF_APPLETALK: ::std::os::raw::c_uint = 5;
|
|
pub const PF_NETROM: ::std::os::raw::c_uint = 6;
|
|
pub const PF_BRIDGE: ::std::os::raw::c_uint = 7;
|
|
pub const PF_ATMPVC: ::std::os::raw::c_uint = 8;
|
|
pub const PF_X25: ::std::os::raw::c_uint = 9;
|
|
pub const PF_INET6: ::std::os::raw::c_uint = 10;
|
|
pub const PF_ROSE: ::std::os::raw::c_uint = 11;
|
|
pub const PF_DECnet: ::std::os::raw::c_uint = 12;
|
|
pub const PF_NETBEUI: ::std::os::raw::c_uint = 13;
|
|
pub const PF_SECURITY: ::std::os::raw::c_uint = 14;
|
|
pub const PF_KEY: ::std::os::raw::c_uint = 15;
|
|
pub const PF_NETLINK: ::std::os::raw::c_uint = 16;
|
|
pub const PF_ROUTE: ::std::os::raw::c_uint = 16;
|
|
pub const PF_PACKET: ::std::os::raw::c_uint = 17;
|
|
pub const PF_ASH: ::std::os::raw::c_uint = 18;
|
|
pub const PF_ECONET: ::std::os::raw::c_uint = 19;
|
|
pub const PF_ATMSVC: ::std::os::raw::c_uint = 20;
|
|
pub const PF_RDS: ::std::os::raw::c_uint = 21;
|
|
pub const PF_SNA: ::std::os::raw::c_uint = 22;
|
|
pub const PF_IRDA: ::std::os::raw::c_uint = 23;
|
|
pub const PF_PPPOX: ::std::os::raw::c_uint = 24;
|
|
pub const PF_WANPIPE: ::std::os::raw::c_uint = 25;
|
|
pub const PF_LLC: ::std::os::raw::c_uint = 26;
|
|
pub const PF_IB: ::std::os::raw::c_uint = 27;
|
|
pub const PF_MPLS: ::std::os::raw::c_uint = 28;
|
|
pub const PF_CAN: ::std::os::raw::c_uint = 29;
|
|
pub const PF_TIPC: ::std::os::raw::c_uint = 30;
|
|
pub const PF_BLUETOOTH: ::std::os::raw::c_uint = 31;
|
|
pub const PF_IUCV: ::std::os::raw::c_uint = 32;
|
|
pub const PF_RXRPC: ::std::os::raw::c_uint = 33;
|
|
pub const PF_ISDN: ::std::os::raw::c_uint = 34;
|
|
pub const PF_PHONET: ::std::os::raw::c_uint = 35;
|
|
pub const PF_IEEE802154: ::std::os::raw::c_uint = 36;
|
|
pub const PF_CAIF: ::std::os::raw::c_uint = 37;
|
|
pub const PF_ALG: ::std::os::raw::c_uint = 38;
|
|
pub const PF_NFC: ::std::os::raw::c_uint = 39;
|
|
pub const PF_VSOCK: ::std::os::raw::c_uint = 40;
|
|
pub const PF_MAX: ::std::os::raw::c_uint = 41;
|
|
pub const AF_UNSPEC: ::std::os::raw::c_uint = 0;
|
|
pub const AF_LOCAL: ::std::os::raw::c_uint = 1;
|
|
pub const AF_UNIX: ::std::os::raw::c_uint = 1;
|
|
pub const AF_FILE: ::std::os::raw::c_uint = 1;
|
|
pub const AF_INET: ::std::os::raw::c_uint = 2;
|
|
pub const AF_AX25: ::std::os::raw::c_uint = 3;
|
|
pub const AF_IPX: ::std::os::raw::c_uint = 4;
|
|
pub const AF_APPLETALK: ::std::os::raw::c_uint = 5;
|
|
pub const AF_NETROM: ::std::os::raw::c_uint = 6;
|
|
pub const AF_BRIDGE: ::std::os::raw::c_uint = 7;
|
|
pub const AF_ATMPVC: ::std::os::raw::c_uint = 8;
|
|
pub const AF_X25: ::std::os::raw::c_uint = 9;
|
|
pub const AF_INET6: ::std::os::raw::c_uint = 10;
|
|
pub const AF_ROSE: ::std::os::raw::c_uint = 11;
|
|
pub const AF_DECnet: ::std::os::raw::c_uint = 12;
|
|
pub const AF_NETBEUI: ::std::os::raw::c_uint = 13;
|
|
pub const AF_SECURITY: ::std::os::raw::c_uint = 14;
|
|
pub const AF_KEY: ::std::os::raw::c_uint = 15;
|
|
pub const AF_NETLINK: ::std::os::raw::c_uint = 16;
|
|
pub const AF_ROUTE: ::std::os::raw::c_uint = 16;
|
|
pub const AF_PACKET: ::std::os::raw::c_uint = 17;
|
|
pub const AF_ASH: ::std::os::raw::c_uint = 18;
|
|
pub const AF_ECONET: ::std::os::raw::c_uint = 19;
|
|
pub const AF_ATMSVC: ::std::os::raw::c_uint = 20;
|
|
pub const AF_RDS: ::std::os::raw::c_uint = 21;
|
|
pub const AF_SNA: ::std::os::raw::c_uint = 22;
|
|
pub const AF_IRDA: ::std::os::raw::c_uint = 23;
|
|
pub const AF_PPPOX: ::std::os::raw::c_uint = 24;
|
|
pub const AF_WANPIPE: ::std::os::raw::c_uint = 25;
|
|
pub const AF_LLC: ::std::os::raw::c_uint = 26;
|
|
pub const AF_IB: ::std::os::raw::c_uint = 27;
|
|
pub const AF_MPLS: ::std::os::raw::c_uint = 28;
|
|
pub const AF_CAN: ::std::os::raw::c_uint = 29;
|
|
pub const AF_TIPC: ::std::os::raw::c_uint = 30;
|
|
pub const AF_BLUETOOTH: ::std::os::raw::c_uint = 31;
|
|
pub const AF_IUCV: ::std::os::raw::c_uint = 32;
|
|
pub const AF_RXRPC: ::std::os::raw::c_uint = 33;
|
|
pub const AF_ISDN: ::std::os::raw::c_uint = 34;
|
|
pub const AF_PHONET: ::std::os::raw::c_uint = 35;
|
|
pub const AF_IEEE802154: ::std::os::raw::c_uint = 36;
|
|
pub const AF_CAIF: ::std::os::raw::c_uint = 37;
|
|
pub const AF_ALG: ::std::os::raw::c_uint = 38;
|
|
pub const AF_NFC: ::std::os::raw::c_uint = 39;
|
|
pub const AF_VSOCK: ::std::os::raw::c_uint = 40;
|
|
pub const AF_MAX: ::std::os::raw::c_uint = 41;
|
|
pub const SOL_RAW: ::std::os::raw::c_uint = 255;
|
|
pub const SOL_DECNET: ::std::os::raw::c_uint = 261;
|
|
pub const SOL_X25: ::std::os::raw::c_uint = 262;
|
|
pub const SOL_PACKET: ::std::os::raw::c_uint = 263;
|
|
pub const SOL_ATM: ::std::os::raw::c_uint = 264;
|
|
pub const SOL_AAL: ::std::os::raw::c_uint = 265;
|
|
pub const SOL_IRDA: ::std::os::raw::c_uint = 266;
|
|
pub const SOMAXCONN: ::std::os::raw::c_uint = 128;
|
|
pub const _BITS_SOCKADDR_H: ::std::os::raw::c_uint = 1;
|
|
pub const _SS_SIZE: ::std::os::raw::c_uint = 128;
|
|
pub const FIOSETOWN: ::std::os::raw::c_uint = 35073;
|
|
pub const SIOCSPGRP: ::std::os::raw::c_uint = 35074;
|
|
pub const FIOGETOWN: ::std::os::raw::c_uint = 35075;
|
|
pub const SIOCGPGRP: ::std::os::raw::c_uint = 35076;
|
|
pub const SIOCATMARK: ::std::os::raw::c_uint = 35077;
|
|
pub const SIOCGSTAMP: ::std::os::raw::c_uint = 35078;
|
|
pub const SIOCGSTAMPNS: ::std::os::raw::c_uint = 35079;
|
|
pub const SOL_SOCKET: ::std::os::raw::c_uint = 1;
|
|
pub const SO_DEBUG: ::std::os::raw::c_uint = 1;
|
|
pub const SO_REUSEADDR: ::std::os::raw::c_uint = 2;
|
|
pub const SO_TYPE: ::std::os::raw::c_uint = 3;
|
|
pub const SO_ERROR: ::std::os::raw::c_uint = 4;
|
|
pub const SO_DONTROUTE: ::std::os::raw::c_uint = 5;
|
|
pub const SO_BROADCAST: ::std::os::raw::c_uint = 6;
|
|
pub const SO_SNDBUF: ::std::os::raw::c_uint = 7;
|
|
pub const SO_RCVBUF: ::std::os::raw::c_uint = 8;
|
|
pub const SO_SNDBUFFORCE: ::std::os::raw::c_uint = 32;
|
|
pub const SO_RCVBUFFORCE: ::std::os::raw::c_uint = 33;
|
|
pub const SO_KEEPALIVE: ::std::os::raw::c_uint = 9;
|
|
pub const SO_OOBINLINE: ::std::os::raw::c_uint = 10;
|
|
pub const SO_NO_CHECK: ::std::os::raw::c_uint = 11;
|
|
pub const SO_PRIORITY: ::std::os::raw::c_uint = 12;
|
|
pub const SO_LINGER: ::std::os::raw::c_uint = 13;
|
|
pub const SO_BSDCOMPAT: ::std::os::raw::c_uint = 14;
|
|
pub const SO_REUSEPORT: ::std::os::raw::c_uint = 15;
|
|
pub const SO_PASSCRED: ::std::os::raw::c_uint = 16;
|
|
pub const SO_PEERCRED: ::std::os::raw::c_uint = 17;
|
|
pub const SO_RCVLOWAT: ::std::os::raw::c_uint = 18;
|
|
pub const SO_SNDLOWAT: ::std::os::raw::c_uint = 19;
|
|
pub const SO_RCVTIMEO: ::std::os::raw::c_uint = 20;
|
|
pub const SO_SNDTIMEO: ::std::os::raw::c_uint = 21;
|
|
pub const SO_SECURITY_AUTHENTICATION: ::std::os::raw::c_uint = 22;
|
|
pub const SO_SECURITY_ENCRYPTION_TRANSPORT: ::std::os::raw::c_uint = 23;
|
|
pub const SO_SECURITY_ENCRYPTION_NETWORK: ::std::os::raw::c_uint = 24;
|
|
pub const SO_BINDTODEVICE: ::std::os::raw::c_uint = 25;
|
|
pub const SO_ATTACH_FILTER: ::std::os::raw::c_uint = 26;
|
|
pub const SO_DETACH_FILTER: ::std::os::raw::c_uint = 27;
|
|
pub const SO_GET_FILTER: ::std::os::raw::c_uint = 26;
|
|
pub const SO_PEERNAME: ::std::os::raw::c_uint = 28;
|
|
pub const SO_TIMESTAMP: ::std::os::raw::c_uint = 29;
|
|
pub const SCM_TIMESTAMP: ::std::os::raw::c_uint = 29;
|
|
pub const SO_ACCEPTCONN: ::std::os::raw::c_uint = 30;
|
|
pub const SO_PEERSEC: ::std::os::raw::c_uint = 31;
|
|
pub const SO_PASSSEC: ::std::os::raw::c_uint = 34;
|
|
pub const SO_TIMESTAMPNS: ::std::os::raw::c_uint = 35;
|
|
pub const SCM_TIMESTAMPNS: ::std::os::raw::c_uint = 35;
|
|
pub const SO_MARK: ::std::os::raw::c_uint = 36;
|
|
pub const SO_TIMESTAMPING: ::std::os::raw::c_uint = 37;
|
|
pub const SCM_TIMESTAMPING: ::std::os::raw::c_uint = 37;
|
|
pub const SO_PROTOCOL: ::std::os::raw::c_uint = 38;
|
|
pub const SO_DOMAIN: ::std::os::raw::c_uint = 39;
|
|
pub const SO_RXQ_OVFL: ::std::os::raw::c_uint = 40;
|
|
pub const SO_WIFI_STATUS: ::std::os::raw::c_uint = 41;
|
|
pub const SCM_WIFI_STATUS: ::std::os::raw::c_uint = 41;
|
|
pub const SO_PEEK_OFF: ::std::os::raw::c_uint = 42;
|
|
pub const SO_NOFCS: ::std::os::raw::c_uint = 43;
|
|
pub const SO_LOCK_FILTER: ::std::os::raw::c_uint = 44;
|
|
pub const SO_SELECT_ERR_QUEUE: ::std::os::raw::c_uint = 45;
|
|
pub const SO_BUSY_POLL: ::std::os::raw::c_uint = 46;
|
|
pub const SO_MAX_PACING_RATE: ::std::os::raw::c_uint = 47;
|
|
pub const SO_BPF_EXTENSIONS: ::std::os::raw::c_uint = 48;
|
|
pub const SO_INCOMING_CPU: ::std::os::raw::c_uint = 49;
|
|
pub const SO_ATTACH_BPF: ::std::os::raw::c_uint = 50;
|
|
pub const SO_DETACH_BPF: ::std::os::raw::c_uint = 27;
|
|
pub const IFNAMSIZ: ::std::os::raw::c_uint = 16;
|
|
pub const IFALIASZ: ::std::os::raw::c_uint = 256;
|
|
pub const GENERIC_HDLC_VERSION: ::std::os::raw::c_uint = 4;
|
|
pub const CLOCK_DEFAULT: ::std::os::raw::c_uint = 0;
|
|
pub const CLOCK_EXT: ::std::os::raw::c_uint = 1;
|
|
pub const CLOCK_INT: ::std::os::raw::c_uint = 2;
|
|
pub const CLOCK_TXINT: ::std::os::raw::c_uint = 3;
|
|
pub const CLOCK_TXFROMRX: ::std::os::raw::c_uint = 4;
|
|
pub const ENCODING_DEFAULT: ::std::os::raw::c_uint = 0;
|
|
pub const ENCODING_NRZ: ::std::os::raw::c_uint = 1;
|
|
pub const ENCODING_NRZI: ::std::os::raw::c_uint = 2;
|
|
pub const ENCODING_FM_MARK: ::std::os::raw::c_uint = 3;
|
|
pub const ENCODING_FM_SPACE: ::std::os::raw::c_uint = 4;
|
|
pub const ENCODING_MANCHESTER: ::std::os::raw::c_uint = 5;
|
|
pub const PARITY_DEFAULT: ::std::os::raw::c_uint = 0;
|
|
pub const PARITY_NONE: ::std::os::raw::c_uint = 1;
|
|
pub const PARITY_CRC16_PR0: ::std::os::raw::c_uint = 2;
|
|
pub const PARITY_CRC16_PR1: ::std::os::raw::c_uint = 3;
|
|
pub const PARITY_CRC16_PR0_CCITT: ::std::os::raw::c_uint = 4;
|
|
pub const PARITY_CRC16_PR1_CCITT: ::std::os::raw::c_uint = 5;
|
|
pub const PARITY_CRC32_PR0_CCITT: ::std::os::raw::c_uint = 6;
|
|
pub const PARITY_CRC32_PR1_CCITT: ::std::os::raw::c_uint = 7;
|
|
pub const LMI_DEFAULT: ::std::os::raw::c_uint = 0;
|
|
pub const LMI_NONE: ::std::os::raw::c_uint = 1;
|
|
pub const LMI_ANSI: ::std::os::raw::c_uint = 2;
|
|
pub const LMI_CCITT: ::std::os::raw::c_uint = 3;
|
|
pub const LMI_CISCO: ::std::os::raw::c_uint = 4;
|
|
pub const IF_GET_IFACE: ::std::os::raw::c_uint = 1;
|
|
pub const IF_GET_PROTO: ::std::os::raw::c_uint = 2;
|
|
pub const IF_IFACE_V35: ::std::os::raw::c_uint = 4096;
|
|
pub const IF_IFACE_V24: ::std::os::raw::c_uint = 4097;
|
|
pub const IF_IFACE_X21: ::std::os::raw::c_uint = 4098;
|
|
pub const IF_IFACE_T1: ::std::os::raw::c_uint = 4099;
|
|
pub const IF_IFACE_E1: ::std::os::raw::c_uint = 4100;
|
|
pub const IF_IFACE_SYNC_SERIAL: ::std::os::raw::c_uint = 4101;
|
|
pub const IF_IFACE_X21D: ::std::os::raw::c_uint = 4102;
|
|
pub const IF_PROTO_HDLC: ::std::os::raw::c_uint = 8192;
|
|
pub const IF_PROTO_PPP: ::std::os::raw::c_uint = 8193;
|
|
pub const IF_PROTO_CISCO: ::std::os::raw::c_uint = 8194;
|
|
pub const IF_PROTO_FR: ::std::os::raw::c_uint = 8195;
|
|
pub const IF_PROTO_FR_ADD_PVC: ::std::os::raw::c_uint = 8196;
|
|
pub const IF_PROTO_FR_DEL_PVC: ::std::os::raw::c_uint = 8197;
|
|
pub const IF_PROTO_X25: ::std::os::raw::c_uint = 8198;
|
|
pub const IF_PROTO_HDLC_ETH: ::std::os::raw::c_uint = 8199;
|
|
pub const IF_PROTO_FR_ADD_ETH_PVC: ::std::os::raw::c_uint = 8200;
|
|
pub const IF_PROTO_FR_DEL_ETH_PVC: ::std::os::raw::c_uint = 8201;
|
|
pub const IF_PROTO_FR_PVC: ::std::os::raw::c_uint = 8202;
|
|
pub const IF_PROTO_FR_ETH_PVC: ::std::os::raw::c_uint = 8203;
|
|
pub const IF_PROTO_RAW: ::std::os::raw::c_uint = 8204;
|
|
pub const IFHWADDRLEN: ::std::os::raw::c_uint = 6;
|
|
pub type __s8 = ::std::os::raw::c_schar;
|
|
pub type __u8 = ::std::os::raw::c_uchar;
|
|
pub type __s16 = ::std::os::raw::c_short;
|
|
pub type __u16 = ::std::os::raw::c_ushort;
|
|
pub type __s32 = ::std::os::raw::c_int;
|
|
pub type __u32 = ::std::os::raw::c_uint;
|
|
pub type __s64 = ::std::os::raw::c_longlong;
|
|
pub type __u64 = ::std::os::raw::c_ulonglong;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct __kernel_fd_set {
|
|
pub fds_bits: [::std::os::raw::c_ulong; 16usize],
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout___kernel_fd_set() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<__kernel_fd_set>(),
|
|
128usize,
|
|
concat!("Size of: ", stringify!(__kernel_fd_set))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<__kernel_fd_set>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(__kernel_fd_set))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const __kernel_fd_set)).fds_bits as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(__kernel_fd_set),
|
|
"::",
|
|
stringify!(fds_bits)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for __kernel_fd_set {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
pub type __kernel_sighandler_t =
|
|
::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
|
|
pub type __kernel_key_t = ::std::os::raw::c_int;
|
|
pub type __kernel_mqd_t = ::std::os::raw::c_int;
|
|
pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
|
|
pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
|
|
pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
|
|
pub type __kernel_long_t = ::std::os::raw::c_long;
|
|
pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
|
|
pub type __kernel_ino_t = __kernel_ulong_t;
|
|
pub type __kernel_mode_t = ::std::os::raw::c_uint;
|
|
pub type __kernel_pid_t = ::std::os::raw::c_int;
|
|
pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
|
|
pub type __kernel_uid_t = ::std::os::raw::c_uint;
|
|
pub type __kernel_gid_t = ::std::os::raw::c_uint;
|
|
pub type __kernel_suseconds_t = __kernel_long_t;
|
|
pub type __kernel_daddr_t = ::std::os::raw::c_int;
|
|
pub type __kernel_uid32_t = ::std::os::raw::c_uint;
|
|
pub type __kernel_gid32_t = ::std::os::raw::c_uint;
|
|
pub type __kernel_size_t = __kernel_ulong_t;
|
|
pub type __kernel_ssize_t = __kernel_long_t;
|
|
pub type __kernel_ptrdiff_t = __kernel_long_t;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct __kernel_fsid_t {
|
|
pub val: [::std::os::raw::c_int; 2usize],
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout___kernel_fsid_t() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<__kernel_fsid_t>(),
|
|
8usize,
|
|
concat!("Size of: ", stringify!(__kernel_fsid_t))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<__kernel_fsid_t>(),
|
|
4usize,
|
|
concat!("Alignment of ", stringify!(__kernel_fsid_t))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const __kernel_fsid_t)).val as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(__kernel_fsid_t),
|
|
"::",
|
|
stringify!(val)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for __kernel_fsid_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
pub type __kernel_off_t = __kernel_long_t;
|
|
pub type __kernel_loff_t = ::std::os::raw::c_longlong;
|
|
pub type __kernel_time_t = __kernel_long_t;
|
|
pub type __kernel_clock_t = __kernel_long_t;
|
|
pub type __kernel_timer_t = ::std::os::raw::c_int;
|
|
pub type __kernel_clockid_t = ::std::os::raw::c_int;
|
|
pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
|
|
pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
|
|
pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
|
|
pub type __le16 = __u16;
|
|
pub type __be16 = __u16;
|
|
pub type __le32 = __u32;
|
|
pub type __be32 = __u32;
|
|
pub type __le64 = __u64;
|
|
pub type __be64 = __u64;
|
|
pub type __sum16 = __u16;
|
|
pub type __wsum = __u32;
|
|
pub type __kernel_sa_family_t = ::std::os::raw::c_ushort;
|
|
#[repr(C)]
|
|
pub struct __kernel_sockaddr_storage {
|
|
pub ss_family: __kernel_sa_family_t,
|
|
pub __data: [::std::os::raw::c_char; 126usize],
|
|
pub __bindgen_align: [u64; 0usize],
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout___kernel_sockaddr_storage() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<__kernel_sockaddr_storage>(),
|
|
128usize,
|
|
concat!("Size of: ", stringify!(__kernel_sockaddr_storage))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<__kernel_sockaddr_storage>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(__kernel_sockaddr_storage))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const __kernel_sockaddr_storage)).ss_family as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(__kernel_sockaddr_storage),
|
|
"::",
|
|
stringify!(ss_family)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const __kernel_sockaddr_storage)).__data as *const _ as usize },
|
|
2usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(__kernel_sockaddr_storage),
|
|
"::",
|
|
stringify!(__data)
|
|
)
|
|
);
|
|
}
|
|
impl Default for __kernel_sockaddr_storage {
|
|
fn default() -> Self {
|
|
unsafe { ::std::mem::zeroed() }
|
|
}
|
|
}
|
|
pub type __u_char = ::std::os::raw::c_uchar;
|
|
pub type __u_short = ::std::os::raw::c_ushort;
|
|
pub type __u_int = ::std::os::raw::c_uint;
|
|
pub type __u_long = ::std::os::raw::c_ulong;
|
|
pub type __int8_t = ::std::os::raw::c_schar;
|
|
pub type __uint8_t = ::std::os::raw::c_uchar;
|
|
pub type __int16_t = ::std::os::raw::c_short;
|
|
pub type __uint16_t = ::std::os::raw::c_ushort;
|
|
pub type __int32_t = ::std::os::raw::c_int;
|
|
pub type __uint32_t = ::std::os::raw::c_uint;
|
|
pub type __int64_t = ::std::os::raw::c_long;
|
|
pub type __uint64_t = ::std::os::raw::c_ulong;
|
|
pub type __quad_t = ::std::os::raw::c_long;
|
|
pub type __u_quad_t = ::std::os::raw::c_ulong;
|
|
pub type __dev_t = ::std::os::raw::c_ulong;
|
|
pub type __uid_t = ::std::os::raw::c_uint;
|
|
pub type __gid_t = ::std::os::raw::c_uint;
|
|
pub type __ino_t = ::std::os::raw::c_ulong;
|
|
pub type __ino64_t = ::std::os::raw::c_ulong;
|
|
pub type __mode_t = ::std::os::raw::c_uint;
|
|
pub type __nlink_t = ::std::os::raw::c_ulong;
|
|
pub type __off_t = ::std::os::raw::c_long;
|
|
pub type __off64_t = ::std::os::raw::c_long;
|
|
pub type __pid_t = ::std::os::raw::c_int;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
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 { &(*(0 as *const __fsid_t)).__val as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(__fsid_t),
|
|
"::",
|
|
stringify!(__val)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for __fsid_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
pub type __clock_t = ::std::os::raw::c_long;
|
|
pub type __rlim_t = ::std::os::raw::c_ulong;
|
|
pub type __rlim64_t = ::std::os::raw::c_ulong;
|
|
pub type __id_t = ::std::os::raw::c_uint;
|
|
pub type __time_t = ::std::os::raw::c_long;
|
|
pub type __useconds_t = ::std::os::raw::c_uint;
|
|
pub type __suseconds_t = ::std::os::raw::c_long;
|
|
pub type __daddr_t = ::std::os::raw::c_int;
|
|
pub type __key_t = ::std::os::raw::c_int;
|
|
pub type __clockid_t = ::std::os::raw::c_int;
|
|
pub type __timer_t = *mut ::std::os::raw::c_void;
|
|
pub type __blksize_t = ::std::os::raw::c_long;
|
|
pub type __blkcnt_t = ::std::os::raw::c_long;
|
|
pub type __blkcnt64_t = ::std::os::raw::c_long;
|
|
pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
|
|
pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
|
|
pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
|
|
pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
|
|
pub type __fsword_t = ::std::os::raw::c_long;
|
|
pub type __ssize_t = ::std::os::raw::c_long;
|
|
pub type __syscall_slong_t = ::std::os::raw::c_long;
|
|
pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
|
|
pub type __loff_t = __off64_t;
|
|
pub type __qaddr_t = *mut __quad_t;
|
|
pub type __caddr_t = *mut ::std::os::raw::c_char;
|
|
pub type __intptr_t = ::std::os::raw::c_long;
|
|
pub type __socklen_t = ::std::os::raw::c_uint;
|
|
pub type u_char = __u_char;
|
|
pub type u_short = __u_short;
|
|
pub type u_int = __u_int;
|
|
pub type u_long = __u_long;
|
|
pub type quad_t = __quad_t;
|
|
pub type u_quad_t = __u_quad_t;
|
|
pub type fsid_t = __fsid_t;
|
|
pub type loff_t = __loff_t;
|
|
pub type ino_t = __ino_t;
|
|
pub type dev_t = __dev_t;
|
|
pub type gid_t = __gid_t;
|
|
pub type mode_t = __mode_t;
|
|
pub type nlink_t = __nlink_t;
|
|
pub type uid_t = __uid_t;
|
|
pub type off_t = __off_t;
|
|
pub type pid_t = __pid_t;
|
|
pub type id_t = __id_t;
|
|
pub type daddr_t = __daddr_t;
|
|
pub type caddr_t = __caddr_t;
|
|
pub type key_t = __key_t;
|
|
pub type clock_t = __clock_t;
|
|
pub type time_t = __time_t;
|
|
pub type clockid_t = __clockid_t;
|
|
pub type timer_t = __timer_t;
|
|
pub type ulong = ::std::os::raw::c_ulong;
|
|
pub type ushort = ::std::os::raw::c_ushort;
|
|
pub type uint = ::std::os::raw::c_uint;
|
|
pub type u_int8_t = ::std::os::raw::c_uchar;
|
|
pub type u_int16_t = ::std::os::raw::c_ushort;
|
|
pub type u_int32_t = ::std::os::raw::c_uint;
|
|
pub type u_int64_t = ::std::os::raw::c_ulong;
|
|
pub type register_t = ::std::os::raw::c_long;
|
|
pub type __sig_atomic_t = ::std::os::raw::c_int;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
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 { &(*(0 as *const __sigset_t)).__val as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(__sigset_t),
|
|
"::",
|
|
stringify!(__val)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for __sigset_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
pub type sigset_t = __sigset_t;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
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 { &(*(0 as *const timespec)).tv_sec as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(timespec),
|
|
"::",
|
|
stringify!(tv_sec)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const timespec)).tv_nsec as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(timespec),
|
|
"::",
|
|
stringify!(tv_nsec)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for timespec {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
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 { &(*(0 as *const timeval)).tv_sec as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(timeval),
|
|
"::",
|
|
stringify!(tv_sec)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const timeval)).tv_usec as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(timeval),
|
|
"::",
|
|
stringify!(tv_usec)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for timeval {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
pub type suseconds_t = __suseconds_t;
|
|
pub type __fd_mask = ::std::os::raw::c_long;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
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 { &(*(0 as *const fd_set)).__fds_bits as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fd_set),
|
|
"::",
|
|
stringify!(__fds_bits)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for fd_set {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
pub type fd_mask = __fd_mask;
|
|
extern "C" {
|
|
pub fn select(
|
|
__nfds: ::std::os::raw::c_int,
|
|
__readfds: *mut fd_set,
|
|
__writefds: *mut fd_set,
|
|
__exceptfds: *mut fd_set,
|
|
__timeout: *mut timeval,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn pselect(
|
|
__nfds: ::std::os::raw::c_int,
|
|
__readfds: *mut fd_set,
|
|
__writefds: *mut fd_set,
|
|
__exceptfds: *mut fd_set,
|
|
__timeout: *const timespec,
|
|
__sigmask: *const __sigset_t,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn gnu_dev_major(__dev: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_uint;
|
|
}
|
|
extern "C" {
|
|
pub fn gnu_dev_minor(__dev: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_uint;
|
|
}
|
|
extern "C" {
|
|
pub fn gnu_dev_makedev(
|
|
__major: ::std::os::raw::c_uint,
|
|
__minor: ::std::os::raw::c_uint,
|
|
) -> ::std::os::raw::c_ulonglong;
|
|
}
|
|
pub type blksize_t = __blksize_t;
|
|
pub type blkcnt_t = __blkcnt_t;
|
|
pub type fsblkcnt_t = __fsblkcnt_t;
|
|
pub type fsfilcnt_t = __fsfilcnt_t;
|
|
pub type pthread_t = ::std::os::raw::c_ulong;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct pthread_attr_t {
|
|
pub __size: __BindgenUnionField<[::std::os::raw::c_char; 56usize]>,
|
|
pub __align: __BindgenUnionField<::std::os::raw::c_long>,
|
|
pub bindgen_union_field: [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 { &(*(0 as *const pthread_attr_t)).__size as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_attr_t),
|
|
"::",
|
|
stringify!(__size)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_attr_t)).__align as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_attr_t),
|
|
"::",
|
|
stringify!(__align)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_attr_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Copy)]
|
|
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 { &(*(0 as *const __pthread_internal_list)).__prev as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(__pthread_internal_list),
|
|
"::",
|
|
stringify!(__prev)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const __pthread_internal_list)).__next as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(__pthread_internal_list),
|
|
"::",
|
|
stringify!(__next)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for __pthread_internal_list {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
impl Default for __pthread_internal_list {
|
|
fn default() -> Self {
|
|
unsafe { ::std::mem::zeroed() }
|
|
}
|
|
}
|
|
pub type __pthread_list_t = __pthread_internal_list;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct pthread_mutex_t {
|
|
pub __data: __BindgenUnionField<pthread_mutex_t___pthread_mutex_s>,
|
|
pub __size: __BindgenUnionField<[::std::os::raw::c_char; 40usize]>,
|
|
pub __align: __BindgenUnionField<::std::os::raw::c_long>,
|
|
pub bindgen_union_field: [u64; 5usize],
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Copy)]
|
|
pub struct pthread_mutex_t___pthread_mutex_s {
|
|
pub __lock: ::std::os::raw::c_int,
|
|
pub __count: ::std::os::raw::c_uint,
|
|
pub __owner: ::std::os::raw::c_int,
|
|
pub __nusers: ::std::os::raw::c_uint,
|
|
pub __kind: ::std::os::raw::c_int,
|
|
pub __spins: ::std::os::raw::c_short,
|
|
pub __elision: ::std::os::raw::c_short,
|
|
pub __list: __pthread_list_t,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_pthread_mutex_t___pthread_mutex_s() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<pthread_mutex_t___pthread_mutex_s>(),
|
|
40usize,
|
|
concat!("Size of: ", stringify!(pthread_mutex_t___pthread_mutex_s))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<pthread_mutex_t___pthread_mutex_s>(),
|
|
8usize,
|
|
concat!(
|
|
"Alignment of ",
|
|
stringify!(pthread_mutex_t___pthread_mutex_s)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_mutex_t___pthread_mutex_s)).__lock as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t___pthread_mutex_s),
|
|
"::",
|
|
stringify!(__lock)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_mutex_t___pthread_mutex_s)).__count as *const _ as usize },
|
|
4usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t___pthread_mutex_s),
|
|
"::",
|
|
stringify!(__count)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_mutex_t___pthread_mutex_s)).__owner as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t___pthread_mutex_s),
|
|
"::",
|
|
stringify!(__owner)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe {
|
|
&(*(0 as *const pthread_mutex_t___pthread_mutex_s)).__nusers as *const _ as usize
|
|
},
|
|
12usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t___pthread_mutex_s),
|
|
"::",
|
|
stringify!(__nusers)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_mutex_t___pthread_mutex_s)).__kind as *const _ as usize },
|
|
16usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t___pthread_mutex_s),
|
|
"::",
|
|
stringify!(__kind)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_mutex_t___pthread_mutex_s)).__spins as *const _ as usize },
|
|
20usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t___pthread_mutex_s),
|
|
"::",
|
|
stringify!(__spins)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe {
|
|
&(*(0 as *const pthread_mutex_t___pthread_mutex_s)).__elision as *const _ as usize
|
|
},
|
|
22usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t___pthread_mutex_s),
|
|
"::",
|
|
stringify!(__elision)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_mutex_t___pthread_mutex_s)).__list as *const _ as usize },
|
|
24usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t___pthread_mutex_s),
|
|
"::",
|
|
stringify!(__list)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_mutex_t___pthread_mutex_s {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
impl Default for pthread_mutex_t___pthread_mutex_s {
|
|
fn default() -> Self {
|
|
unsafe { ::std::mem::zeroed() }
|
|
}
|
|
}
|
|
#[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 { &(*(0 as *const pthread_mutex_t)).__data as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t),
|
|
"::",
|
|
stringify!(__data)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_mutex_t)).__size as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t),
|
|
"::",
|
|
stringify!(__size)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_mutex_t)).__align as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutex_t),
|
|
"::",
|
|
stringify!(__align)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_mutex_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct pthread_mutexattr_t {
|
|
pub __size: __BindgenUnionField<[::std::os::raw::c_char; 4usize]>,
|
|
pub __align: __BindgenUnionField<::std::os::raw::c_int>,
|
|
pub bindgen_union_field: 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 { &(*(0 as *const pthread_mutexattr_t)).__size as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutexattr_t),
|
|
"::",
|
|
stringify!(__size)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_mutexattr_t)).__align as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_mutexattr_t),
|
|
"::",
|
|
stringify!(__align)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_mutexattr_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct pthread_cond_t {
|
|
pub __data: __BindgenUnionField<pthread_cond_t__bindgen_ty_1>,
|
|
pub __size: __BindgenUnionField<[::std::os::raw::c_char; 48usize]>,
|
|
pub __align: __BindgenUnionField<::std::os::raw::c_longlong>,
|
|
pub bindgen_union_field: [u64; 6usize],
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Copy)]
|
|
pub struct pthread_cond_t__bindgen_ty_1 {
|
|
pub __lock: ::std::os::raw::c_int,
|
|
pub __futex: ::std::os::raw::c_uint,
|
|
pub __total_seq: ::std::os::raw::c_ulonglong,
|
|
pub __wakeup_seq: ::std::os::raw::c_ulonglong,
|
|
pub __woken_seq: ::std::os::raw::c_ulonglong,
|
|
pub __mutex: *mut ::std::os::raw::c_void,
|
|
pub __nwaiters: ::std::os::raw::c_uint,
|
|
pub __broadcast_seq: ::std::os::raw::c_uint,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_pthread_cond_t__bindgen_ty_1() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<pthread_cond_t__bindgen_ty_1>(),
|
|
48usize,
|
|
concat!("Size of: ", stringify!(pthread_cond_t__bindgen_ty_1))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<pthread_cond_t__bindgen_ty_1>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(pthread_cond_t__bindgen_ty_1))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_cond_t__bindgen_ty_1)).__lock as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__lock)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_cond_t__bindgen_ty_1)).__futex as *const _ as usize },
|
|
4usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__futex)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_cond_t__bindgen_ty_1)).__total_seq as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__total_seq)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_cond_t__bindgen_ty_1)).__wakeup_seq as *const _ as usize },
|
|
16usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__wakeup_seq)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_cond_t__bindgen_ty_1)).__woken_seq as *const _ as usize },
|
|
24usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__woken_seq)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_cond_t__bindgen_ty_1)).__mutex as *const _ as usize },
|
|
32usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__mutex)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_cond_t__bindgen_ty_1)).__nwaiters as *const _ as usize },
|
|
40usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__nwaiters)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe {
|
|
&(*(0 as *const pthread_cond_t__bindgen_ty_1)).__broadcast_seq as *const _ as usize
|
|
},
|
|
44usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__broadcast_seq)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_cond_t__bindgen_ty_1 {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
impl Default for pthread_cond_t__bindgen_ty_1 {
|
|
fn default() -> Self {
|
|
unsafe { ::std::mem::zeroed() }
|
|
}
|
|
}
|
|
#[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 { &(*(0 as *const pthread_cond_t)).__data as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t),
|
|
"::",
|
|
stringify!(__data)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_cond_t)).__size as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t),
|
|
"::",
|
|
stringify!(__size)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_cond_t)).__align as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_cond_t),
|
|
"::",
|
|
stringify!(__align)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_cond_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct pthread_condattr_t {
|
|
pub __size: __BindgenUnionField<[::std::os::raw::c_char; 4usize]>,
|
|
pub __align: __BindgenUnionField<::std::os::raw::c_int>,
|
|
pub bindgen_union_field: 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 { &(*(0 as *const pthread_condattr_t)).__size as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_condattr_t),
|
|
"::",
|
|
stringify!(__size)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_condattr_t)).__align as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_condattr_t),
|
|
"::",
|
|
stringify!(__align)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_condattr_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
pub type pthread_key_t = ::std::os::raw::c_uint;
|
|
pub type pthread_once_t = ::std::os::raw::c_int;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct pthread_rwlock_t {
|
|
pub __data: __BindgenUnionField<pthread_rwlock_t__bindgen_ty_1>,
|
|
pub __size: __BindgenUnionField<[::std::os::raw::c_char; 56usize]>,
|
|
pub __align: __BindgenUnionField<::std::os::raw::c_long>,
|
|
pub bindgen_union_field: [u64; 7usize],
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct pthread_rwlock_t__bindgen_ty_1 {
|
|
pub __lock: ::std::os::raw::c_int,
|
|
pub __nr_readers: ::std::os::raw::c_uint,
|
|
pub __readers_wakeup: ::std::os::raw::c_uint,
|
|
pub __writer_wakeup: ::std::os::raw::c_uint,
|
|
pub __nr_readers_queued: ::std::os::raw::c_uint,
|
|
pub __nr_writers_queued: ::std::os::raw::c_uint,
|
|
pub __writer: ::std::os::raw::c_int,
|
|
pub __shared: ::std::os::raw::c_int,
|
|
pub __rwelision: ::std::os::raw::c_schar,
|
|
pub __pad1: [::std::os::raw::c_uchar; 7usize],
|
|
pub __pad2: ::std::os::raw::c_ulong,
|
|
pub __flags: ::std::os::raw::c_uint,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_pthread_rwlock_t__bindgen_ty_1() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<pthread_rwlock_t__bindgen_ty_1>(),
|
|
56usize,
|
|
concat!("Size of: ", stringify!(pthread_rwlock_t__bindgen_ty_1))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<pthread_rwlock_t__bindgen_ty_1>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(pthread_rwlock_t__bindgen_ty_1))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__lock as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__lock)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe {
|
|
&(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__nr_readers as *const _ as usize
|
|
},
|
|
4usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__nr_readers)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe {
|
|
&(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__readers_wakeup as *const _ as usize
|
|
},
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__readers_wakeup)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe {
|
|
&(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__writer_wakeup as *const _ as usize
|
|
},
|
|
12usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__writer_wakeup)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe {
|
|
&(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__nr_readers_queued as *const _
|
|
as usize
|
|
},
|
|
16usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__nr_readers_queued)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe {
|
|
&(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__nr_writers_queued as *const _
|
|
as usize
|
|
},
|
|
20usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__nr_writers_queued)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__writer as *const _ as usize },
|
|
24usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__writer)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__shared as *const _ as usize },
|
|
28usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__shared)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe {
|
|
&(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__rwelision as *const _ as usize
|
|
},
|
|
32usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__rwelision)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__pad1 as *const _ as usize },
|
|
33usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__pad1)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__pad2 as *const _ as usize },
|
|
40usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__pad2)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_rwlock_t__bindgen_ty_1)).__flags as *const _ as usize },
|
|
48usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t__bindgen_ty_1),
|
|
"::",
|
|
stringify!(__flags)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_rwlock_t__bindgen_ty_1 {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[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 { &(*(0 as *const pthread_rwlock_t)).__data as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t),
|
|
"::",
|
|
stringify!(__data)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_rwlock_t)).__size as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t),
|
|
"::",
|
|
stringify!(__size)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_rwlock_t)).__align as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlock_t),
|
|
"::",
|
|
stringify!(__align)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_rwlock_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct pthread_rwlockattr_t {
|
|
pub __size: __BindgenUnionField<[::std::os::raw::c_char; 8usize]>,
|
|
pub __align: __BindgenUnionField<::std::os::raw::c_long>,
|
|
pub bindgen_union_field: 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 { &(*(0 as *const pthread_rwlockattr_t)).__size as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlockattr_t),
|
|
"::",
|
|
stringify!(__size)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_rwlockattr_t)).__align as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_rwlockattr_t),
|
|
"::",
|
|
stringify!(__align)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_rwlockattr_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
pub type pthread_spinlock_t = ::std::os::raw::c_int;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct pthread_barrier_t {
|
|
pub __size: __BindgenUnionField<[::std::os::raw::c_char; 32usize]>,
|
|
pub __align: __BindgenUnionField<::std::os::raw::c_long>,
|
|
pub bindgen_union_field: [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 { &(*(0 as *const pthread_barrier_t)).__size as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_barrier_t),
|
|
"::",
|
|
stringify!(__size)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_barrier_t)).__align as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_barrier_t),
|
|
"::",
|
|
stringify!(__align)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_barrier_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct pthread_barrierattr_t {
|
|
pub __size: __BindgenUnionField<[::std::os::raw::c_char; 4usize]>,
|
|
pub __align: __BindgenUnionField<::std::os::raw::c_int>,
|
|
pub bindgen_union_field: 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 { &(*(0 as *const pthread_barrierattr_t)).__size as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_barrierattr_t),
|
|
"::",
|
|
stringify!(__size)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const pthread_barrierattr_t)).__align as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(pthread_barrierattr_t),
|
|
"::",
|
|
stringify!(__align)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for pthread_barrierattr_t {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Copy)]
|
|
pub struct iovec {
|
|
pub iov_base: *mut ::std::os::raw::c_void,
|
|
pub iov_len: usize,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_iovec() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<iovec>(),
|
|
16usize,
|
|
concat!("Size of: ", stringify!(iovec))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<iovec>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(iovec))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const iovec)).iov_base as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(iovec),
|
|
"::",
|
|
stringify!(iov_base)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const iovec)).iov_len as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(iovec),
|
|
"::",
|
|
stringify!(iov_len)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for iovec {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
impl Default for iovec {
|
|
fn default() -> Self {
|
|
unsafe { ::std::mem::zeroed() }
|
|
}
|
|
}
|
|
extern "C" {
|
|
pub fn readv(
|
|
__fd: ::std::os::raw::c_int,
|
|
__iovec: *const iovec,
|
|
__count: ::std::os::raw::c_int,
|
|
) -> isize;
|
|
}
|
|
extern "C" {
|
|
pub fn writev(
|
|
__fd: ::std::os::raw::c_int,
|
|
__iovec: *const iovec,
|
|
__count: ::std::os::raw::c_int,
|
|
) -> isize;
|
|
}
|
|
extern "C" {
|
|
pub fn preadv(
|
|
__fd: ::std::os::raw::c_int,
|
|
__iovec: *const iovec,
|
|
__count: ::std::os::raw::c_int,
|
|
__offset: __off_t,
|
|
) -> isize;
|
|
}
|
|
extern "C" {
|
|
pub fn pwritev(
|
|
__fd: ::std::os::raw::c_int,
|
|
__iovec: *const iovec,
|
|
__count: ::std::os::raw::c_int,
|
|
__offset: __off_t,
|
|
) -> isize;
|
|
}
|
|
pub type socklen_t = __socklen_t;
|
|
pub const __socket_type_SOCK_STREAM: __socket_type = 1;
|
|
pub const __socket_type_SOCK_DGRAM: __socket_type = 2;
|
|
pub const __socket_type_SOCK_RAW: __socket_type = 3;
|
|
pub const __socket_type_SOCK_RDM: __socket_type = 4;
|
|
pub const __socket_type_SOCK_SEQPACKET: __socket_type = 5;
|
|
pub const __socket_type_SOCK_DCCP: __socket_type = 6;
|
|
pub const __socket_type_SOCK_PACKET: __socket_type = 10;
|
|
pub const __socket_type_SOCK_CLOEXEC: __socket_type = 524288;
|
|
pub const __socket_type_SOCK_NONBLOCK: __socket_type = 2048;
|
|
pub type __socket_type = ::std::os::raw::c_uint;
|
|
pub type sa_family_t = ::std::os::raw::c_ushort;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct sockaddr {
|
|
pub sa_family: sa_family_t,
|
|
pub sa_data: [::std::os::raw::c_char; 14usize],
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_sockaddr() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<sockaddr>(),
|
|
16usize,
|
|
concat!("Size of: ", stringify!(sockaddr))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<sockaddr>(),
|
|
2usize,
|
|
concat!("Alignment of ", stringify!(sockaddr))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const sockaddr)).sa_family as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(sockaddr),
|
|
"::",
|
|
stringify!(sa_family)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const sockaddr)).sa_data as *const _ as usize },
|
|
2usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(sockaddr),
|
|
"::",
|
|
stringify!(sa_data)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for sockaddr {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
pub struct sockaddr_storage {
|
|
pub ss_family: sa_family_t,
|
|
pub __ss_padding: [::std::os::raw::c_char; 118usize],
|
|
pub __ss_align: ::std::os::raw::c_ulong,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_sockaddr_storage() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<sockaddr_storage>(),
|
|
128usize,
|
|
concat!("Size of: ", stringify!(sockaddr_storage))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<sockaddr_storage>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(sockaddr_storage))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const sockaddr_storage)).ss_family as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(sockaddr_storage),
|
|
"::",
|
|
stringify!(ss_family)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const sockaddr_storage)).__ss_padding as *const _ as usize },
|
|
2usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(sockaddr_storage),
|
|
"::",
|
|
stringify!(__ss_padding)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const sockaddr_storage)).__ss_align as *const _ as usize },
|
|
120usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(sockaddr_storage),
|
|
"::",
|
|
stringify!(__ss_align)
|
|
)
|
|
);
|
|
}
|
|
impl Default for sockaddr_storage {
|
|
fn default() -> Self {
|
|
unsafe { ::std::mem::zeroed() }
|
|
}
|
|
}
|
|
pub const MSG_OOB: _bindgen_ty_1 = 1;
|
|
pub const MSG_PEEK: _bindgen_ty_1 = 2;
|
|
pub const MSG_DONTROUTE: _bindgen_ty_1 = 4;
|
|
pub const MSG_CTRUNC: _bindgen_ty_1 = 8;
|
|
pub const MSG_PROXY: _bindgen_ty_1 = 16;
|
|
pub const MSG_TRUNC: _bindgen_ty_1 = 32;
|
|
pub const MSG_DONTWAIT: _bindgen_ty_1 = 64;
|
|
pub const MSG_EOR: _bindgen_ty_1 = 128;
|
|
pub const MSG_WAITALL: _bindgen_ty_1 = 256;
|
|
pub const MSG_FIN: _bindgen_ty_1 = 512;
|
|
pub const MSG_SYN: _bindgen_ty_1 = 1024;
|
|
pub const MSG_CONFIRM: _bindgen_ty_1 = 2048;
|
|
pub const MSG_RST: _bindgen_ty_1 = 4096;
|
|
pub const MSG_ERRQUEUE: _bindgen_ty_1 = 8192;
|
|
pub const MSG_NOSIGNAL: _bindgen_ty_1 = 16384;
|
|
pub const MSG_MORE: _bindgen_ty_1 = 32768;
|
|
pub const MSG_WAITFORONE: _bindgen_ty_1 = 65536;
|
|
pub const MSG_FASTOPEN: _bindgen_ty_1 = 536870912;
|
|
pub const MSG_CMSG_CLOEXEC: _bindgen_ty_1 = 1073741824;
|
|
pub type _bindgen_ty_1 = ::std::os::raw::c_uint;
|
|
#[repr(C)]
|
|
#[derive(Debug, Copy)]
|
|
pub struct msghdr {
|
|
pub msg_name: *mut ::std::os::raw::c_void,
|
|
pub msg_namelen: socklen_t,
|
|
pub msg_iov: *mut iovec,
|
|
pub msg_iovlen: usize,
|
|
pub msg_control: *mut ::std::os::raw::c_void,
|
|
pub msg_controllen: usize,
|
|
pub msg_flags: ::std::os::raw::c_int,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_msghdr() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<msghdr>(),
|
|
56usize,
|
|
concat!("Size of: ", stringify!(msghdr))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<msghdr>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(msghdr))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const msghdr)).msg_name as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(msghdr),
|
|
"::",
|
|
stringify!(msg_name)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const msghdr)).msg_namelen as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(msghdr),
|
|
"::",
|
|
stringify!(msg_namelen)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const msghdr)).msg_iov as *const _ as usize },
|
|
16usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(msghdr),
|
|
"::",
|
|
stringify!(msg_iov)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const msghdr)).msg_iovlen as *const _ as usize },
|
|
24usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(msghdr),
|
|
"::",
|
|
stringify!(msg_iovlen)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const msghdr)).msg_control as *const _ as usize },
|
|
32usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(msghdr),
|
|
"::",
|
|
stringify!(msg_control)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const msghdr)).msg_controllen as *const _ as usize },
|
|
40usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(msghdr),
|
|
"::",
|
|
stringify!(msg_controllen)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const msghdr)).msg_flags as *const _ as usize },
|
|
48usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(msghdr),
|
|
"::",
|
|
stringify!(msg_flags)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for msghdr {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
impl Default for msghdr {
|
|
fn default() -> Self {
|
|
unsafe { ::std::mem::zeroed() }
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct cmsghdr {
|
|
pub cmsg_len: usize,
|
|
pub cmsg_level: ::std::os::raw::c_int,
|
|
pub cmsg_type: ::std::os::raw::c_int,
|
|
pub __cmsg_data: __IncompleteArrayField<::std::os::raw::c_uchar>,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_cmsghdr() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<cmsghdr>(),
|
|
16usize,
|
|
concat!("Size of: ", stringify!(cmsghdr))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<cmsghdr>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(cmsghdr))
|
|
);
|
|
}
|
|
impl Clone for cmsghdr {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
extern "C" {
|
|
pub fn __cmsg_nxthdr(__mhdr: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr;
|
|
}
|
|
pub const SCM_RIGHTS: _bindgen_ty_2 = 1;
|
|
pub type _bindgen_ty_2 = ::std::os::raw::c_uint;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct linger {
|
|
pub l_onoff: ::std::os::raw::c_int,
|
|
pub l_linger: ::std::os::raw::c_int,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_linger() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<linger>(),
|
|
8usize,
|
|
concat!("Size of: ", stringify!(linger))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<linger>(),
|
|
4usize,
|
|
concat!("Alignment of ", stringify!(linger))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const linger)).l_onoff as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(linger),
|
|
"::",
|
|
stringify!(l_onoff)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const linger)).l_linger as *const _ as usize },
|
|
4usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(linger),
|
|
"::",
|
|
stringify!(l_linger)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for linger {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct osockaddr {
|
|
pub sa_family: ::std::os::raw::c_ushort,
|
|
pub sa_data: [::std::os::raw::c_uchar; 14usize],
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_osockaddr() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<osockaddr>(),
|
|
16usize,
|
|
concat!("Size of: ", stringify!(osockaddr))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<osockaddr>(),
|
|
2usize,
|
|
concat!("Alignment of ", stringify!(osockaddr))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const osockaddr)).sa_family as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(osockaddr),
|
|
"::",
|
|
stringify!(sa_family)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const osockaddr)).sa_data as *const _ as usize },
|
|
2usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(osockaddr),
|
|
"::",
|
|
stringify!(sa_data)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for osockaddr {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
pub const SHUT_RD: _bindgen_ty_3 = 0;
|
|
pub const SHUT_WR: _bindgen_ty_3 = 1;
|
|
pub const SHUT_RDWR: _bindgen_ty_3 = 2;
|
|
pub type _bindgen_ty_3 = ::std::os::raw::c_uint;
|
|
extern "C" {
|
|
pub fn socket(
|
|
__domain: ::std::os::raw::c_int,
|
|
__type: ::std::os::raw::c_int,
|
|
__protocol: ::std::os::raw::c_int,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn socketpair(
|
|
__domain: ::std::os::raw::c_int,
|
|
__type: ::std::os::raw::c_int,
|
|
__protocol: ::std::os::raw::c_int,
|
|
__fds: *mut ::std::os::raw::c_int,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn bind(
|
|
__fd: ::std::os::raw::c_int,
|
|
__addr: *const sockaddr,
|
|
__len: socklen_t,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn getsockname(
|
|
__fd: ::std::os::raw::c_int,
|
|
__addr: *mut sockaddr,
|
|
__len: *mut socklen_t,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn connect(
|
|
__fd: ::std::os::raw::c_int,
|
|
__addr: *const sockaddr,
|
|
__len: socklen_t,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn getpeername(
|
|
__fd: ::std::os::raw::c_int,
|
|
__addr: *mut sockaddr,
|
|
__len: *mut socklen_t,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn send(
|
|
__fd: ::std::os::raw::c_int,
|
|
__buf: *const ::std::os::raw::c_void,
|
|
__n: usize,
|
|
__flags: ::std::os::raw::c_int,
|
|
) -> isize;
|
|
}
|
|
extern "C" {
|
|
pub fn recv(
|
|
__fd: ::std::os::raw::c_int,
|
|
__buf: *mut ::std::os::raw::c_void,
|
|
__n: usize,
|
|
__flags: ::std::os::raw::c_int,
|
|
) -> isize;
|
|
}
|
|
extern "C" {
|
|
pub fn sendto(
|
|
__fd: ::std::os::raw::c_int,
|
|
__buf: *const ::std::os::raw::c_void,
|
|
__n: usize,
|
|
__flags: ::std::os::raw::c_int,
|
|
__addr: *const sockaddr,
|
|
__addr_len: socklen_t,
|
|
) -> isize;
|
|
}
|
|
extern "C" {
|
|
pub fn recvfrom(
|
|
__fd: ::std::os::raw::c_int,
|
|
__buf: *mut ::std::os::raw::c_void,
|
|
__n: usize,
|
|
__flags: ::std::os::raw::c_int,
|
|
__addr: *mut sockaddr,
|
|
__addr_len: *mut socklen_t,
|
|
) -> isize;
|
|
}
|
|
extern "C" {
|
|
pub fn sendmsg(
|
|
__fd: ::std::os::raw::c_int,
|
|
__message: *const msghdr,
|
|
__flags: ::std::os::raw::c_int,
|
|
) -> isize;
|
|
}
|
|
extern "C" {
|
|
pub fn recvmsg(
|
|
__fd: ::std::os::raw::c_int,
|
|
__message: *mut msghdr,
|
|
__flags: ::std::os::raw::c_int,
|
|
) -> isize;
|
|
}
|
|
extern "C" {
|
|
pub fn getsockopt(
|
|
__fd: ::std::os::raw::c_int,
|
|
__level: ::std::os::raw::c_int,
|
|
__optname: ::std::os::raw::c_int,
|
|
__optval: *mut ::std::os::raw::c_void,
|
|
__optlen: *mut socklen_t,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn setsockopt(
|
|
__fd: ::std::os::raw::c_int,
|
|
__level: ::std::os::raw::c_int,
|
|
__optname: ::std::os::raw::c_int,
|
|
__optval: *const ::std::os::raw::c_void,
|
|
__optlen: socklen_t,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn listen(__fd: ::std::os::raw::c_int, __n: ::std::os::raw::c_int)
|
|
-> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn accept(
|
|
__fd: ::std::os::raw::c_int,
|
|
__addr: *mut sockaddr,
|
|
__addr_len: *mut socklen_t,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn shutdown(
|
|
__fd: ::std::os::raw::c_int,
|
|
__how: ::std::os::raw::c_int,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn sockatmark(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
|
|
}
|
|
extern "C" {
|
|
pub fn isfdtype(
|
|
__fd: ::std::os::raw::c_int,
|
|
__fdtype: ::std::os::raw::c_int,
|
|
) -> ::std::os::raw::c_int;
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct sync_serial_settings {
|
|
pub clock_rate: ::std::os::raw::c_uint,
|
|
pub clock_type: ::std::os::raw::c_uint,
|
|
pub loopback: ::std::os::raw::c_ushort,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_sync_serial_settings() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<sync_serial_settings>(),
|
|
12usize,
|
|
concat!("Size of: ", stringify!(sync_serial_settings))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<sync_serial_settings>(),
|
|
4usize,
|
|
concat!("Alignment of ", stringify!(sync_serial_settings))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const sync_serial_settings)).clock_rate as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(sync_serial_settings),
|
|
"::",
|
|
stringify!(clock_rate)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const sync_serial_settings)).clock_type as *const _ as usize },
|
|
4usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(sync_serial_settings),
|
|
"::",
|
|
stringify!(clock_type)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const sync_serial_settings)).loopback as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(sync_serial_settings),
|
|
"::",
|
|
stringify!(loopback)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for sync_serial_settings {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct te1_settings {
|
|
pub clock_rate: ::std::os::raw::c_uint,
|
|
pub clock_type: ::std::os::raw::c_uint,
|
|
pub loopback: ::std::os::raw::c_ushort,
|
|
pub slot_map: ::std::os::raw::c_uint,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_te1_settings() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<te1_settings>(),
|
|
16usize,
|
|
concat!("Size of: ", stringify!(te1_settings))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<te1_settings>(),
|
|
4usize,
|
|
concat!("Alignment of ", stringify!(te1_settings))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const te1_settings)).clock_rate as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(te1_settings),
|
|
"::",
|
|
stringify!(clock_rate)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const te1_settings)).clock_type as *const _ as usize },
|
|
4usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(te1_settings),
|
|
"::",
|
|
stringify!(clock_type)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const te1_settings)).loopback as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(te1_settings),
|
|
"::",
|
|
stringify!(loopback)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const te1_settings)).slot_map as *const _ as usize },
|
|
12usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(te1_settings),
|
|
"::",
|
|
stringify!(slot_map)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for te1_settings {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct raw_hdlc_proto {
|
|
pub encoding: ::std::os::raw::c_ushort,
|
|
pub parity: ::std::os::raw::c_ushort,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_raw_hdlc_proto() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<raw_hdlc_proto>(),
|
|
4usize,
|
|
concat!("Size of: ", stringify!(raw_hdlc_proto))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<raw_hdlc_proto>(),
|
|
2usize,
|
|
concat!("Alignment of ", stringify!(raw_hdlc_proto))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const raw_hdlc_proto)).encoding as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(raw_hdlc_proto),
|
|
"::",
|
|
stringify!(encoding)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const raw_hdlc_proto)).parity as *const _ as usize },
|
|
2usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(raw_hdlc_proto),
|
|
"::",
|
|
stringify!(parity)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for raw_hdlc_proto {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct fr_proto {
|
|
pub t391: ::std::os::raw::c_uint,
|
|
pub t392: ::std::os::raw::c_uint,
|
|
pub n391: ::std::os::raw::c_uint,
|
|
pub n392: ::std::os::raw::c_uint,
|
|
pub n393: ::std::os::raw::c_uint,
|
|
pub lmi: ::std::os::raw::c_ushort,
|
|
pub dce: ::std::os::raw::c_ushort,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_fr_proto() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<fr_proto>(),
|
|
24usize,
|
|
concat!("Size of: ", stringify!(fr_proto))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<fr_proto>(),
|
|
4usize,
|
|
concat!("Alignment of ", stringify!(fr_proto))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const fr_proto)).t391 as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fr_proto),
|
|
"::",
|
|
stringify!(t391)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const fr_proto)).t392 as *const _ as usize },
|
|
4usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fr_proto),
|
|
"::",
|
|
stringify!(t392)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const fr_proto)).n391 as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fr_proto),
|
|
"::",
|
|
stringify!(n391)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const fr_proto)).n392 as *const _ as usize },
|
|
12usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fr_proto),
|
|
"::",
|
|
stringify!(n392)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const fr_proto)).n393 as *const _ as usize },
|
|
16usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fr_proto),
|
|
"::",
|
|
stringify!(n393)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const fr_proto)).lmi as *const _ as usize },
|
|
20usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fr_proto),
|
|
"::",
|
|
stringify!(lmi)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const fr_proto)).dce as *const _ as usize },
|
|
22usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fr_proto),
|
|
"::",
|
|
stringify!(dce)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for fr_proto {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct fr_proto_pvc {
|
|
pub dlci: ::std::os::raw::c_uint,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_fr_proto_pvc() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<fr_proto_pvc>(),
|
|
4usize,
|
|
concat!("Size of: ", stringify!(fr_proto_pvc))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<fr_proto_pvc>(),
|
|
4usize,
|
|
concat!("Alignment of ", stringify!(fr_proto_pvc))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const fr_proto_pvc)).dlci as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fr_proto_pvc),
|
|
"::",
|
|
stringify!(dlci)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for fr_proto_pvc {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct fr_proto_pvc_info {
|
|
pub dlci: ::std::os::raw::c_uint,
|
|
pub master: [::std::os::raw::c_char; 16usize],
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_fr_proto_pvc_info() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<fr_proto_pvc_info>(),
|
|
20usize,
|
|
concat!("Size of: ", stringify!(fr_proto_pvc_info))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<fr_proto_pvc_info>(),
|
|
4usize,
|
|
concat!("Alignment of ", stringify!(fr_proto_pvc_info))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const fr_proto_pvc_info)).dlci as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fr_proto_pvc_info),
|
|
"::",
|
|
stringify!(dlci)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const fr_proto_pvc_info)).master as *const _ as usize },
|
|
4usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(fr_proto_pvc_info),
|
|
"::",
|
|
stringify!(master)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for fr_proto_pvc_info {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct cisco_proto {
|
|
pub interval: ::std::os::raw::c_uint,
|
|
pub timeout: ::std::os::raw::c_uint,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_cisco_proto() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<cisco_proto>(),
|
|
8usize,
|
|
concat!("Size of: ", stringify!(cisco_proto))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<cisco_proto>(),
|
|
4usize,
|
|
concat!("Alignment of ", stringify!(cisco_proto))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const cisco_proto)).interval as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(cisco_proto),
|
|
"::",
|
|
stringify!(interval)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const cisco_proto)).timeout as *const _ as usize },
|
|
4usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(cisco_proto),
|
|
"::",
|
|
stringify!(timeout)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for cisco_proto {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
pub const net_device_flags_IFF_UP: net_device_flags = 1;
|
|
pub const net_device_flags_IFF_BROADCAST: net_device_flags = 2;
|
|
pub const net_device_flags_IFF_DEBUG: net_device_flags = 4;
|
|
pub const net_device_flags_IFF_LOOPBACK: net_device_flags = 8;
|
|
pub const net_device_flags_IFF_POINTOPOINT: net_device_flags = 16;
|
|
pub const net_device_flags_IFF_NOTRAILERS: net_device_flags = 32;
|
|
pub const net_device_flags_IFF_RUNNING: net_device_flags = 64;
|
|
pub const net_device_flags_IFF_NOARP: net_device_flags = 128;
|
|
pub const net_device_flags_IFF_PROMISC: net_device_flags = 256;
|
|
pub const net_device_flags_IFF_ALLMULTI: net_device_flags = 512;
|
|
pub const net_device_flags_IFF_MASTER: net_device_flags = 1024;
|
|
pub const net_device_flags_IFF_SLAVE: net_device_flags = 2048;
|
|
pub const net_device_flags_IFF_MULTICAST: net_device_flags = 4096;
|
|
pub const net_device_flags_IFF_PORTSEL: net_device_flags = 8192;
|
|
pub const net_device_flags_IFF_AUTOMEDIA: net_device_flags = 16384;
|
|
pub const net_device_flags_IFF_DYNAMIC: net_device_flags = 32768;
|
|
/**
|
|
* enum net_device_flags - &struct net_device flags
|
|
*
|
|
* These are the &struct net_device flags, they can be set by drivers, the
|
|
* kernel and some can be triggered by userspace. Userspace can query and
|
|
* set these flags using userspace utilities but there is also a sysfs
|
|
* entry available for all dev flags which can be queried and set. These flags
|
|
* are shared for all types of net_devices. The sysfs entries are available
|
|
* via /sys/class/net/<dev>/flags. Flags which can be toggled through sysfs
|
|
* are annotated below, note that only a few flags can be toggled and some
|
|
* other flags are always preserved from the original net_device flags
|
|
* even if you try to set them via sysfs. Flags which are always preserved
|
|
* are kept under the flag grouping @IFF_VOLATILE. Flags which are __volatile__
|
|
* are annotated below as such.
|
|
*
|
|
* You should have a pretty good reason to be extending these flags.
|
|
*
|
|
* @IFF_UP: interface is up. Can be toggled through sysfs.
|
|
* @IFF_BROADCAST: broadcast address valid. Volatile.
|
|
* @IFF_DEBUG: turn on debugging. Can be toggled through sysfs.
|
|
* @IFF_LOOPBACK: is a loopback net. Volatile.
|
|
* @IFF_POINTOPOINT: interface is has p-p link. Volatile.
|
|
* @IFF_NOTRAILERS: avoid use of trailers. Can be toggled through sysfs.
|
|
* Volatile.
|
|
* @IFF_RUNNING: interface RFC2863 OPER_UP. Volatile.
|
|
* @IFF_NOARP: no ARP protocol. Can be toggled through sysfs. Volatile.
|
|
* @IFF_PROMISC: receive all packets. Can be toggled through sysfs.
|
|
* @IFF_ALLMULTI: receive all multicast packets. Can be toggled through
|
|
* sysfs.
|
|
* @IFF_MASTER: master of a load balancer. Volatile.
|
|
* @IFF_SLAVE: slave of a load balancer. Volatile.
|
|
* @IFF_MULTICAST: Supports multicast. Can be toggled through sysfs.
|
|
* @IFF_PORTSEL: can set media type. Can be toggled through sysfs.
|
|
* @IFF_AUTOMEDIA: auto media select active. Can be toggled through sysfs.
|
|
* @IFF_DYNAMIC: dialup device with changing addresses. Can be toggled
|
|
* through sysfs.
|
|
* @IFF_LOWER_UP: driver signals L1 up. Volatile.
|
|
* @IFF_DORMANT: driver signals dormant. Volatile.
|
|
* @IFF_ECHO: echo sent packets. Volatile.
|
|
*/
|
|
pub type net_device_flags = ::std::os::raw::c_uint;
|
|
pub const IF_OPER_UNKNOWN: _bindgen_ty_4 = 0;
|
|
pub const IF_OPER_NOTPRESENT: _bindgen_ty_4 = 1;
|
|
pub const IF_OPER_DOWN: _bindgen_ty_4 = 2;
|
|
pub const IF_OPER_LOWERLAYERDOWN: _bindgen_ty_4 = 3;
|
|
pub const IF_OPER_TESTING: _bindgen_ty_4 = 4;
|
|
pub const IF_OPER_DORMANT: _bindgen_ty_4 = 5;
|
|
pub const IF_OPER_UP: _bindgen_ty_4 = 6;
|
|
pub type _bindgen_ty_4 = ::std::os::raw::c_uint;
|
|
pub const IF_LINK_MODE_DEFAULT: _bindgen_ty_5 = 0;
|
|
pub const IF_LINK_MODE_DORMANT: _bindgen_ty_5 = 1;
|
|
pub type _bindgen_ty_5 = ::std::os::raw::c_uint;
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct ifmap {
|
|
pub mem_start: ::std::os::raw::c_ulong,
|
|
pub mem_end: ::std::os::raw::c_ulong,
|
|
pub base_addr: ::std::os::raw::c_ushort,
|
|
pub irq: ::std::os::raw::c_uchar,
|
|
pub dma: ::std::os::raw::c_uchar,
|
|
pub port: ::std::os::raw::c_uchar,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_ifmap() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<ifmap>(),
|
|
24usize,
|
|
concat!("Size of: ", stringify!(ifmap))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<ifmap>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(ifmap))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifmap)).mem_start as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifmap),
|
|
"::",
|
|
stringify!(mem_start)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifmap)).mem_end as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifmap),
|
|
"::",
|
|
stringify!(mem_end)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifmap)).base_addr as *const _ as usize },
|
|
16usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifmap),
|
|
"::",
|
|
stringify!(base_addr)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifmap)).irq as *const _ as usize },
|
|
18usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifmap),
|
|
"::",
|
|
stringify!(irq)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifmap)).dma as *const _ as usize },
|
|
19usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifmap),
|
|
"::",
|
|
stringify!(dma)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifmap)).port as *const _ as usize },
|
|
20usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifmap),
|
|
"::",
|
|
stringify!(port)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for ifmap {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct if_settings {
|
|
pub type_: ::std::os::raw::c_uint,
|
|
pub size: ::std::os::raw::c_uint,
|
|
pub ifs_ifsu: if_settings__bindgen_ty_1,
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct if_settings__bindgen_ty_1 {
|
|
pub raw_hdlc: __BindgenUnionField<*mut raw_hdlc_proto>,
|
|
pub cisco: __BindgenUnionField<*mut cisco_proto>,
|
|
pub fr: __BindgenUnionField<*mut fr_proto>,
|
|
pub fr_pvc: __BindgenUnionField<*mut fr_proto_pvc>,
|
|
pub fr_pvc_info: __BindgenUnionField<*mut fr_proto_pvc_info>,
|
|
pub sync: __BindgenUnionField<*mut sync_serial_settings>,
|
|
pub te1: __BindgenUnionField<*mut te1_settings>,
|
|
pub bindgen_union_field: u64,
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_if_settings__bindgen_ty_1() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<if_settings__bindgen_ty_1>(),
|
|
8usize,
|
|
concat!("Size of: ", stringify!(if_settings__bindgen_ty_1))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<if_settings__bindgen_ty_1>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(if_settings__bindgen_ty_1))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const if_settings__bindgen_ty_1)).raw_hdlc as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(if_settings__bindgen_ty_1),
|
|
"::",
|
|
stringify!(raw_hdlc)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const if_settings__bindgen_ty_1)).cisco as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(if_settings__bindgen_ty_1),
|
|
"::",
|
|
stringify!(cisco)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const if_settings__bindgen_ty_1)).fr as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(if_settings__bindgen_ty_1),
|
|
"::",
|
|
stringify!(fr)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const if_settings__bindgen_ty_1)).fr_pvc as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(if_settings__bindgen_ty_1),
|
|
"::",
|
|
stringify!(fr_pvc)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const if_settings__bindgen_ty_1)).fr_pvc_info as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(if_settings__bindgen_ty_1),
|
|
"::",
|
|
stringify!(fr_pvc_info)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const if_settings__bindgen_ty_1)).sync as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(if_settings__bindgen_ty_1),
|
|
"::",
|
|
stringify!(sync)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const if_settings__bindgen_ty_1)).te1 as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(if_settings__bindgen_ty_1),
|
|
"::",
|
|
stringify!(te1)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for if_settings__bindgen_ty_1 {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_if_settings() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<if_settings>(),
|
|
16usize,
|
|
concat!("Size of: ", stringify!(if_settings))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<if_settings>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(if_settings))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const if_settings)).type_ as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(if_settings),
|
|
"::",
|
|
stringify!(type_)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const if_settings)).size as *const _ as usize },
|
|
4usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(if_settings),
|
|
"::",
|
|
stringify!(size)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const if_settings)).ifs_ifsu as *const _ as usize },
|
|
8usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(if_settings),
|
|
"::",
|
|
stringify!(ifs_ifsu)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for if_settings {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct ifreq {
|
|
pub ifr_ifrn: ifreq__bindgen_ty_1,
|
|
pub ifr_ifru: ifreq__bindgen_ty_2,
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct ifreq__bindgen_ty_1 {
|
|
pub ifrn_name: __BindgenUnionField<[::std::os::raw::c_uchar; 16usize]>,
|
|
pub bindgen_union_field: [u8; 16usize],
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_ifreq__bindgen_ty_1() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<ifreq__bindgen_ty_1>(),
|
|
16usize,
|
|
concat!("Size of: ", stringify!(ifreq__bindgen_ty_1))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<ifreq__bindgen_ty_1>(),
|
|
1usize,
|
|
concat!("Alignment of ", stringify!(ifreq__bindgen_ty_1))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_1)).ifrn_name as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_1),
|
|
"::",
|
|
stringify!(ifrn_name)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for ifreq__bindgen_ty_1 {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[repr(C)]
|
|
#[derive(Debug, Default, Copy)]
|
|
pub struct ifreq__bindgen_ty_2 {
|
|
pub ifru_addr: __BindgenUnionField<sockaddr>,
|
|
pub ifru_dstaddr: __BindgenUnionField<sockaddr>,
|
|
pub ifru_broadaddr: __BindgenUnionField<sockaddr>,
|
|
pub ifru_netmask: __BindgenUnionField<sockaddr>,
|
|
pub ifru_hwaddr: __BindgenUnionField<sockaddr>,
|
|
pub ifru_flags: __BindgenUnionField<::std::os::raw::c_short>,
|
|
pub ifru_ivalue: __BindgenUnionField<::std::os::raw::c_int>,
|
|
pub ifru_mtu: __BindgenUnionField<::std::os::raw::c_int>,
|
|
pub ifru_map: __BindgenUnionField<ifmap>,
|
|
pub ifru_slave: __BindgenUnionField<[::std::os::raw::c_char; 16usize]>,
|
|
pub ifru_newname: __BindgenUnionField<[::std::os::raw::c_char; 16usize]>,
|
|
pub ifru_data: __BindgenUnionField<*mut ::std::os::raw::c_void>,
|
|
pub ifru_settings: __BindgenUnionField<if_settings>,
|
|
pub bindgen_union_field: [u64; 3usize],
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_ifreq__bindgen_ty_2() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<ifreq__bindgen_ty_2>(),
|
|
24usize,
|
|
concat!("Size of: ", stringify!(ifreq__bindgen_ty_2))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<ifreq__bindgen_ty_2>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(ifreq__bindgen_ty_2))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_addr as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_addr)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_dstaddr as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_dstaddr)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_broadaddr as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_broadaddr)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_netmask as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_netmask)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_hwaddr as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_hwaddr)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_flags as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_flags)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_ivalue as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_ivalue)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_mtu as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_mtu)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_map as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_map)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_slave as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_slave)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_newname as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_newname)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_data as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_data)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq__bindgen_ty_2)).ifru_settings as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq__bindgen_ty_2),
|
|
"::",
|
|
stringify!(ifru_settings)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for ifreq__bindgen_ty_2 {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|
|
#[test]
|
|
fn bindgen_test_layout_ifreq() {
|
|
assert_eq!(
|
|
::std::mem::size_of::<ifreq>(),
|
|
40usize,
|
|
concat!("Size of: ", stringify!(ifreq))
|
|
);
|
|
assert_eq!(
|
|
::std::mem::align_of::<ifreq>(),
|
|
8usize,
|
|
concat!("Alignment of ", stringify!(ifreq))
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq)).ifr_ifrn as *const _ as usize },
|
|
0usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq),
|
|
"::",
|
|
stringify!(ifr_ifrn)
|
|
)
|
|
);
|
|
assert_eq!(
|
|
unsafe { &(*(0 as *const ifreq)).ifr_ifru as *const _ as usize },
|
|
16usize,
|
|
concat!(
|
|
"Alignment of field: ",
|
|
stringify!(ifreq),
|
|
"::",
|
|
stringify!(ifr_ifru)
|
|
)
|
|
);
|
|
}
|
|
impl Clone for ifreq {
|
|
fn clone(&self) -> Self {
|
|
*self
|
|
}
|
|
}
|