1 // Copyright © 2021 Intel Corporation 2 // 3 // SPDX-License-Identifier: Apache-2.0 4 // 5 6 // bindgen /usr/include/linux/if.h --no-layout-tests 7 8 /* automatically generated by rust-bindgen 0.58.1 */ 9 10 #[repr(C)] 11 #[derive(Default)] 12 pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]); 13 impl<T> __IncompleteArrayField<T> { 14 #[inline] 15 pub const fn new() -> Self { 16 __IncompleteArrayField(::std::marker::PhantomData, []) 17 } 18 #[inline] 19 pub fn as_ptr(&self) -> *const T { 20 self as *const _ as *const T 21 } 22 #[inline] 23 pub fn as_mut_ptr(&mut self) -> *mut T { 24 self as *mut _ as *mut T 25 } 26 #[inline] 27 pub unsafe fn as_slice(&self, len: usize) -> &[T] { 28 ::std::slice::from_raw_parts(self.as_ptr(), len) 29 } 30 #[inline] 31 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] { 32 ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len) 33 } 34 } 35 impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> { 36 fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result { 37 fmt.write_str("__IncompleteArrayField") 38 } 39 } 40 pub const __UAPI_DEF_IF_IFCONF: u32 = 1; 41 pub const __UAPI_DEF_IF_IFMAP: u32 = 1; 42 pub const __UAPI_DEF_IF_IFNAMSIZ: u32 = 1; 43 pub const __UAPI_DEF_IF_IFREQ: u32 = 1; 44 pub const __UAPI_DEF_IF_NET_DEVICE_FLAGS: u32 = 1; 45 pub const __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO: u32 = 1; 46 pub const __UAPI_DEF_IN_ADDR: u32 = 1; 47 pub const __UAPI_DEF_IN_IPPROTO: u32 = 1; 48 pub const __UAPI_DEF_IN_PKTINFO: u32 = 1; 49 pub const __UAPI_DEF_IP_MREQ: u32 = 1; 50 pub const __UAPI_DEF_SOCKADDR_IN: u32 = 1; 51 pub const __UAPI_DEF_IN_CLASS: u32 = 1; 52 pub const __UAPI_DEF_IN6_ADDR: u32 = 1; 53 pub const __UAPI_DEF_IN6_ADDR_ALT: u32 = 1; 54 pub const __UAPI_DEF_SOCKADDR_IN6: u32 = 1; 55 pub const __UAPI_DEF_IPV6_MREQ: u32 = 1; 56 pub const __UAPI_DEF_IPPROTO_V6: u32 = 1; 57 pub const __UAPI_DEF_IPV6_OPTIONS: u32 = 1; 58 pub const __UAPI_DEF_IN6_PKTINFO: u32 = 1; 59 pub const __UAPI_DEF_IP6_MTUINFO: u32 = 1; 60 pub const __UAPI_DEF_SOCKADDR_IPX: u32 = 1; 61 pub const __UAPI_DEF_IPX_ROUTE_DEFINITION: u32 = 1; 62 pub const __UAPI_DEF_IPX_INTERFACE_DEFINITION: u32 = 1; 63 pub const __UAPI_DEF_IPX_CONFIG_DATA: u32 = 1; 64 pub const __UAPI_DEF_IPX_ROUTE_DEF: u32 = 1; 65 pub const __UAPI_DEF_XATTR: u32 = 1; 66 pub const __BITS_PER_LONG: u32 = 64; 67 pub const __FD_SETSIZE: u32 = 1024; 68 pub const _K_SS_MAXSIZE: u32 = 128; 69 pub const _SYS_SOCKET_H: u32 = 1; 70 pub const _FEATURES_H: u32 = 1; 71 pub const _DEFAULT_SOURCE: u32 = 1; 72 pub const __GLIBC_USE_ISOC2X: u32 = 0; 73 pub const __USE_ISOC11: u32 = 1; 74 pub const __USE_ISOC99: u32 = 1; 75 pub const __USE_ISOC95: u32 = 1; 76 pub const __USE_POSIX_IMPLICITLY: u32 = 1; 77 pub const _POSIX_SOURCE: u32 = 1; 78 pub const _POSIX_C_SOURCE: u32 = 200809; 79 pub const __USE_POSIX: u32 = 1; 80 pub const __USE_POSIX2: u32 = 1; 81 pub const __USE_POSIX199309: u32 = 1; 82 pub const __USE_POSIX199506: u32 = 1; 83 pub const __USE_XOPEN2K: u32 = 1; 84 pub const __USE_XOPEN2K8: u32 = 1; 85 pub const _ATFILE_SOURCE: u32 = 1; 86 pub const __USE_MISC: u32 = 1; 87 pub const __USE_ATFILE: u32 = 1; 88 pub const __USE_FORTIFY_LEVEL: u32 = 0; 89 pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0; 90 pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0; 91 pub const _STDC_PREDEF_H: u32 = 1; 92 pub const __STDC_IEC_559__: u32 = 1; 93 pub const __STDC_IEC_559_COMPLEX__: u32 = 1; 94 pub const __STDC_ISO_10646__: u32 = 201706; 95 pub const __GNU_LIBRARY__: u32 = 6; 96 pub const __GLIBC__: u32 = 2; 97 pub const __GLIBC_MINOR__: u32 = 32; 98 pub const _SYS_CDEFS_H: u32 = 1; 99 pub const __glibc_c99_flexarr_available: u32 = 1; 100 pub const __WORDSIZE: u32 = 64; 101 pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1; 102 pub const __SYSCALL_WORDSIZE: u32 = 64; 103 pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0; 104 pub const __HAVE_GENERIC_SELECTION: u32 = 1; 105 pub const __iovec_defined: u32 = 1; 106 pub const _SYS_TYPES_H: u32 = 1; 107 pub const _BITS_TYPES_H: u32 = 1; 108 pub const __TIMESIZE: u32 = 64; 109 pub const _BITS_TYPESIZES_H: u32 = 1; 110 pub const __OFF_T_MATCHES_OFF64_T: u32 = 1; 111 pub const __INO_T_MATCHES_INO64_T: u32 = 1; 112 pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1; 113 pub const __STATFS_MATCHES_STATFS64: u32 = 1; 114 pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1; 115 pub const _BITS_TIME64_H: u32 = 1; 116 pub const __clock_t_defined: u32 = 1; 117 pub const __clockid_t_defined: u32 = 1; 118 pub const __time_t_defined: u32 = 1; 119 pub const __timer_t_defined: u32 = 1; 120 pub const _BITS_STDINT_INTN_H: u32 = 1; 121 pub const __BIT_TYPES_DEFINED__: u32 = 1; 122 pub const _ENDIAN_H: u32 = 1; 123 pub const _BITS_ENDIAN_H: u32 = 1; 124 pub const __LITTLE_ENDIAN: u32 = 1234; 125 pub const __BIG_ENDIAN: u32 = 4321; 126 pub const __PDP_ENDIAN: u32 = 3412; 127 pub const _BITS_ENDIANNESS_H: u32 = 1; 128 pub const __BYTE_ORDER: u32 = 1234; 129 pub const __FLOAT_WORD_ORDER: u32 = 1234; 130 pub const LITTLE_ENDIAN: u32 = 1234; 131 pub const BIG_ENDIAN: u32 = 4321; 132 pub const PDP_ENDIAN: u32 = 3412; 133 pub const BYTE_ORDER: u32 = 1234; 134 pub const _BITS_BYTESWAP_H: u32 = 1; 135 pub const _BITS_UINTN_IDENTITY_H: u32 = 1; 136 pub const _SYS_SELECT_H: u32 = 1; 137 pub const __sigset_t_defined: u32 = 1; 138 pub const __timeval_defined: u32 = 1; 139 pub const _STRUCT_TIMESPEC: u32 = 1; 140 pub const FD_SETSIZE: u32 = 1024; 141 pub const _BITS_PTHREADTYPES_COMMON_H: u32 = 1; 142 pub const _THREAD_SHARED_TYPES_H: u32 = 1; 143 pub const _BITS_PTHREADTYPES_ARCH_H: u32 = 1; 144 pub const __SIZEOF_PTHREAD_MUTEX_T: u32 = 40; 145 pub const __SIZEOF_PTHREAD_ATTR_T: u32 = 56; 146 pub const __SIZEOF_PTHREAD_RWLOCK_T: u32 = 56; 147 pub const __SIZEOF_PTHREAD_BARRIER_T: u32 = 32; 148 pub const __SIZEOF_PTHREAD_MUTEXATTR_T: u32 = 4; 149 pub const __SIZEOF_PTHREAD_COND_T: u32 = 48; 150 pub const __SIZEOF_PTHREAD_CONDATTR_T: u32 = 4; 151 pub const __SIZEOF_PTHREAD_RWLOCKATTR_T: u32 = 8; 152 pub const __SIZEOF_PTHREAD_BARRIERATTR_T: u32 = 4; 153 pub const _THREAD_MUTEX_INTERNAL_H: u32 = 1; 154 pub const __PTHREAD_MUTEX_HAVE_PREV: u32 = 1; 155 pub const __have_pthread_attr_t: u32 = 1; 156 pub const PF_UNSPEC: u32 = 0; 157 pub const PF_LOCAL: u32 = 1; 158 pub const PF_UNIX: u32 = 1; 159 pub const PF_FILE: u32 = 1; 160 pub const PF_INET: u32 = 2; 161 pub const PF_AX25: u32 = 3; 162 pub const PF_IPX: u32 = 4; 163 pub const PF_APPLETALK: u32 = 5; 164 pub const PF_NETROM: u32 = 6; 165 pub const PF_BRIDGE: u32 = 7; 166 pub const PF_ATMPVC: u32 = 8; 167 pub const PF_X25: u32 = 9; 168 pub const PF_INET6: u32 = 10; 169 pub const PF_ROSE: u32 = 11; 170 pub const PF_DECnet: u32 = 12; 171 pub const PF_NETBEUI: u32 = 13; 172 pub const PF_SECURITY: u32 = 14; 173 pub const PF_KEY: u32 = 15; 174 pub const PF_NETLINK: u32 = 16; 175 pub const PF_ROUTE: u32 = 16; 176 pub const PF_PACKET: u32 = 17; 177 pub const PF_ASH: u32 = 18; 178 pub const PF_ECONET: u32 = 19; 179 pub const PF_ATMSVC: u32 = 20; 180 pub const PF_RDS: u32 = 21; 181 pub const PF_SNA: u32 = 22; 182 pub const PF_IRDA: u32 = 23; 183 pub const PF_PPPOX: u32 = 24; 184 pub const PF_WANPIPE: u32 = 25; 185 pub const PF_LLC: u32 = 26; 186 pub const PF_IB: u32 = 27; 187 pub const PF_MPLS: u32 = 28; 188 pub const PF_CAN: u32 = 29; 189 pub const PF_TIPC: u32 = 30; 190 pub const PF_BLUETOOTH: u32 = 31; 191 pub const PF_IUCV: u32 = 32; 192 pub const PF_RXRPC: u32 = 33; 193 pub const PF_ISDN: u32 = 34; 194 pub const PF_PHONET: u32 = 35; 195 pub const PF_IEEE802154: u32 = 36; 196 pub const PF_CAIF: u32 = 37; 197 pub const PF_ALG: u32 = 38; 198 pub const PF_NFC: u32 = 39; 199 pub const PF_VSOCK: u32 = 40; 200 pub const PF_KCM: u32 = 41; 201 pub const PF_QIPCRTR: u32 = 42; 202 pub const PF_SMC: u32 = 43; 203 pub const PF_XDP: u32 = 44; 204 pub const PF_MAX: u32 = 45; 205 pub const AF_UNSPEC: u32 = 0; 206 pub const AF_LOCAL: u32 = 1; 207 pub const AF_UNIX: u32 = 1; 208 pub const AF_FILE: u32 = 1; 209 pub const AF_INET: u32 = 2; 210 pub const AF_AX25: u32 = 3; 211 pub const AF_IPX: u32 = 4; 212 pub const AF_APPLETALK: u32 = 5; 213 pub const AF_NETROM: u32 = 6; 214 pub const AF_BRIDGE: u32 = 7; 215 pub const AF_ATMPVC: u32 = 8; 216 pub const AF_X25: u32 = 9; 217 pub const AF_INET6: u32 = 10; 218 pub const AF_ROSE: u32 = 11; 219 pub const AF_DECnet: u32 = 12; 220 pub const AF_NETBEUI: u32 = 13; 221 pub const AF_SECURITY: u32 = 14; 222 pub const AF_KEY: u32 = 15; 223 pub const AF_NETLINK: u32 = 16; 224 pub const AF_ROUTE: u32 = 16; 225 pub const AF_PACKET: u32 = 17; 226 pub const AF_ASH: u32 = 18; 227 pub const AF_ECONET: u32 = 19; 228 pub const AF_ATMSVC: u32 = 20; 229 pub const AF_RDS: u32 = 21; 230 pub const AF_SNA: u32 = 22; 231 pub const AF_IRDA: u32 = 23; 232 pub const AF_PPPOX: u32 = 24; 233 pub const AF_WANPIPE: u32 = 25; 234 pub const AF_LLC: u32 = 26; 235 pub const AF_IB: u32 = 27; 236 pub const AF_MPLS: u32 = 28; 237 pub const AF_CAN: u32 = 29; 238 pub const AF_TIPC: u32 = 30; 239 pub const AF_BLUETOOTH: u32 = 31; 240 pub const AF_IUCV: u32 = 32; 241 pub const AF_RXRPC: u32 = 33; 242 pub const AF_ISDN: u32 = 34; 243 pub const AF_PHONET: u32 = 35; 244 pub const AF_IEEE802154: u32 = 36; 245 pub const AF_CAIF: u32 = 37; 246 pub const AF_ALG: u32 = 38; 247 pub const AF_NFC: u32 = 39; 248 pub const AF_VSOCK: u32 = 40; 249 pub const AF_KCM: u32 = 41; 250 pub const AF_QIPCRTR: u32 = 42; 251 pub const AF_SMC: u32 = 43; 252 pub const AF_XDP: u32 = 44; 253 pub const AF_MAX: u32 = 45; 254 pub const SOL_RAW: u32 = 255; 255 pub const SOL_DECNET: u32 = 261; 256 pub const SOL_X25: u32 = 262; 257 pub const SOL_PACKET: u32 = 263; 258 pub const SOL_ATM: u32 = 264; 259 pub const SOL_AAL: u32 = 265; 260 pub const SOL_IRDA: u32 = 266; 261 pub const SOL_NETBEUI: u32 = 267; 262 pub const SOL_LLC: u32 = 268; 263 pub const SOL_DCCP: u32 = 269; 264 pub const SOL_NETLINK: u32 = 270; 265 pub const SOL_TIPC: u32 = 271; 266 pub const SOL_RXRPC: u32 = 272; 267 pub const SOL_PPPOL2TP: u32 = 273; 268 pub const SOL_BLUETOOTH: u32 = 274; 269 pub const SOL_PNPIPE: u32 = 275; 270 pub const SOL_RDS: u32 = 276; 271 pub const SOL_IUCV: u32 = 277; 272 pub const SOL_CAIF: u32 = 278; 273 pub const SOL_ALG: u32 = 279; 274 pub const SOL_NFC: u32 = 280; 275 pub const SOL_KCM: u32 = 281; 276 pub const SOL_TLS: u32 = 282; 277 pub const SOL_XDP: u32 = 283; 278 pub const SOMAXCONN: u32 = 4096; 279 pub const _BITS_SOCKADDR_H: u32 = 1; 280 pub const _SS_SIZE: u32 = 128; 281 pub const FIOSETOWN: u32 = 35073; 282 pub const SIOCSPGRP: u32 = 35074; 283 pub const FIOGETOWN: u32 = 35075; 284 pub const SIOCGPGRP: u32 = 35076; 285 pub const SIOCATMARK: u32 = 35077; 286 pub const SIOCGSTAMP_OLD: u32 = 35078; 287 pub const SIOCGSTAMPNS_OLD: u32 = 35079; 288 pub const SOL_SOCKET: u32 = 1; 289 pub const SO_DEBUG: u32 = 1; 290 pub const SO_REUSEADDR: u32 = 2; 291 pub const SO_TYPE: u32 = 3; 292 pub const SO_ERROR: u32 = 4; 293 pub const SO_DONTROUTE: u32 = 5; 294 pub const SO_BROADCAST: u32 = 6; 295 pub const SO_SNDBUF: u32 = 7; 296 pub const SO_RCVBUF: u32 = 8; 297 pub const SO_SNDBUFFORCE: u32 = 32; 298 pub const SO_RCVBUFFORCE: u32 = 33; 299 pub const SO_KEEPALIVE: u32 = 9; 300 pub const SO_OOBINLINE: u32 = 10; 301 pub const SO_NO_CHECK: u32 = 11; 302 pub const SO_PRIORITY: u32 = 12; 303 pub const SO_LINGER: u32 = 13; 304 pub const SO_BSDCOMPAT: u32 = 14; 305 pub const SO_REUSEPORT: u32 = 15; 306 pub const SO_PASSCRED: u32 = 16; 307 pub const SO_PEERCRED: u32 = 17; 308 pub const SO_RCVLOWAT: u32 = 18; 309 pub const SO_SNDLOWAT: u32 = 19; 310 pub const SO_RCVTIMEO_OLD: u32 = 20; 311 pub const SO_SNDTIMEO_OLD: u32 = 21; 312 pub const SO_SECURITY_AUTHENTICATION: u32 = 22; 313 pub const SO_SECURITY_ENCRYPTION_TRANSPORT: u32 = 23; 314 pub const SO_SECURITY_ENCRYPTION_NETWORK: u32 = 24; 315 pub const SO_BINDTODEVICE: u32 = 25; 316 pub const SO_ATTACH_FILTER: u32 = 26; 317 pub const SO_DETACH_FILTER: u32 = 27; 318 pub const SO_GET_FILTER: u32 = 26; 319 pub const SO_PEERNAME: u32 = 28; 320 pub const SO_ACCEPTCONN: u32 = 30; 321 pub const SO_PEERSEC: u32 = 31; 322 pub const SO_PASSSEC: u32 = 34; 323 pub const SO_MARK: u32 = 36; 324 pub const SO_PROTOCOL: u32 = 38; 325 pub const SO_DOMAIN: u32 = 39; 326 pub const SO_RXQ_OVFL: u32 = 40; 327 pub const SO_WIFI_STATUS: u32 = 41; 328 pub const SCM_WIFI_STATUS: u32 = 41; 329 pub const SO_PEEK_OFF: u32 = 42; 330 pub const SO_NOFCS: u32 = 43; 331 pub const SO_LOCK_FILTER: u32 = 44; 332 pub const SO_SELECT_ERR_QUEUE: u32 = 45; 333 pub const SO_BUSY_POLL: u32 = 46; 334 pub const SO_MAX_PACING_RATE: u32 = 47; 335 pub const SO_BPF_EXTENSIONS: u32 = 48; 336 pub const SO_INCOMING_CPU: u32 = 49; 337 pub const SO_ATTACH_BPF: u32 = 50; 338 pub const SO_DETACH_BPF: u32 = 27; 339 pub const SO_ATTACH_REUSEPORT_CBPF: u32 = 51; 340 pub const SO_ATTACH_REUSEPORT_EBPF: u32 = 52; 341 pub const SO_CNX_ADVICE: u32 = 53; 342 pub const SCM_TIMESTAMPING_OPT_STATS: u32 = 54; 343 pub const SO_MEMINFO: u32 = 55; 344 pub const SO_INCOMING_NAPI_ID: u32 = 56; 345 pub const SO_COOKIE: u32 = 57; 346 pub const SCM_TIMESTAMPING_PKTINFO: u32 = 58; 347 pub const SO_PEERGROUPS: u32 = 59; 348 pub const SO_ZEROCOPY: u32 = 60; 349 pub const SO_TXTIME: u32 = 61; 350 pub const SCM_TXTIME: u32 = 61; 351 pub const SO_BINDTOIFINDEX: u32 = 62; 352 pub const SO_TIMESTAMP_OLD: u32 = 29; 353 pub const SO_TIMESTAMPNS_OLD: u32 = 35; 354 pub const SO_TIMESTAMPING_OLD: u32 = 37; 355 pub const SO_TIMESTAMP_NEW: u32 = 63; 356 pub const SO_TIMESTAMPNS_NEW: u32 = 64; 357 pub const SO_TIMESTAMPING_NEW: u32 = 65; 358 pub const SO_RCVTIMEO_NEW: u32 = 66; 359 pub const SO_SNDTIMEO_NEW: u32 = 67; 360 pub const SO_DETACH_REUSEPORT_BPF: u32 = 68; 361 pub const SO_TIMESTAMP: u32 = 29; 362 pub const SO_TIMESTAMPNS: u32 = 35; 363 pub const SO_TIMESTAMPING: u32 = 37; 364 pub const SO_RCVTIMEO: u32 = 20; 365 pub const SO_SNDTIMEO: u32 = 21; 366 pub const SCM_TIMESTAMP: u32 = 29; 367 pub const SCM_TIMESTAMPNS: u32 = 35; 368 pub const SCM_TIMESTAMPING: u32 = 37; 369 pub const __osockaddr_defined: u32 = 1; 370 pub const IFNAMSIZ: u32 = 16; 371 pub const IFALIASZ: u32 = 256; 372 pub const ALTIFNAMSIZ: u32 = 128; 373 pub const GENERIC_HDLC_VERSION: u32 = 4; 374 pub const CLOCK_DEFAULT: u32 = 0; 375 pub const CLOCK_EXT: u32 = 1; 376 pub const CLOCK_INT: u32 = 2; 377 pub const CLOCK_TXINT: u32 = 3; 378 pub const CLOCK_TXFROMRX: u32 = 4; 379 pub const ENCODING_DEFAULT: u32 = 0; 380 pub const ENCODING_NRZ: u32 = 1; 381 pub const ENCODING_NRZI: u32 = 2; 382 pub const ENCODING_FM_MARK: u32 = 3; 383 pub const ENCODING_FM_SPACE: u32 = 4; 384 pub const ENCODING_MANCHESTER: u32 = 5; 385 pub const PARITY_DEFAULT: u32 = 0; 386 pub const PARITY_NONE: u32 = 1; 387 pub const PARITY_CRC16_PR0: u32 = 2; 388 pub const PARITY_CRC16_PR1: u32 = 3; 389 pub const PARITY_CRC16_PR0_CCITT: u32 = 4; 390 pub const PARITY_CRC16_PR1_CCITT: u32 = 5; 391 pub const PARITY_CRC32_PR0_CCITT: u32 = 6; 392 pub const PARITY_CRC32_PR1_CCITT: u32 = 7; 393 pub const LMI_DEFAULT: u32 = 0; 394 pub const LMI_NONE: u32 = 1; 395 pub const LMI_ANSI: u32 = 2; 396 pub const LMI_CCITT: u32 = 3; 397 pub const LMI_CISCO: u32 = 4; 398 pub const IF_GET_IFACE: u32 = 1; 399 pub const IF_GET_PROTO: u32 = 2; 400 pub const IF_IFACE_V35: u32 = 4096; 401 pub const IF_IFACE_V24: u32 = 4097; 402 pub const IF_IFACE_X21: u32 = 4098; 403 pub const IF_IFACE_T1: u32 = 4099; 404 pub const IF_IFACE_E1: u32 = 4100; 405 pub const IF_IFACE_SYNC_SERIAL: u32 = 4101; 406 pub const IF_IFACE_X21D: u32 = 4102; 407 pub const IF_PROTO_HDLC: u32 = 8192; 408 pub const IF_PROTO_PPP: u32 = 8193; 409 pub const IF_PROTO_CISCO: u32 = 8194; 410 pub const IF_PROTO_FR: u32 = 8195; 411 pub const IF_PROTO_FR_ADD_PVC: u32 = 8196; 412 pub const IF_PROTO_FR_DEL_PVC: u32 = 8197; 413 pub const IF_PROTO_X25: u32 = 8198; 414 pub const IF_PROTO_HDLC_ETH: u32 = 8199; 415 pub const IF_PROTO_FR_ADD_ETH_PVC: u32 = 8200; 416 pub const IF_PROTO_FR_DEL_ETH_PVC: u32 = 8201; 417 pub const IF_PROTO_FR_PVC: u32 = 8202; 418 pub const IF_PROTO_FR_ETH_PVC: u32 = 8203; 419 pub const IF_PROTO_RAW: u32 = 8204; 420 pub const IFHWADDRLEN: u32 = 6; 421 pub type __s8 = ::std::os::raw::c_schar; 422 pub type __u8 = ::std::os::raw::c_uchar; 423 pub type __s16 = ::std::os::raw::c_short; 424 pub type __u16 = ::std::os::raw::c_ushort; 425 pub type __s32 = ::std::os::raw::c_int; 426 pub type __u32 = ::std::os::raw::c_uint; 427 pub type __s64 = ::std::os::raw::c_longlong; 428 pub type __u64 = ::std::os::raw::c_ulonglong; 429 #[repr(C)] 430 #[derive(Debug, Copy, Clone)] 431 pub struct __kernel_fd_set { 432 pub fds_bits: [::std::os::raw::c_ulong; 16usize], 433 } 434 pub type __kernel_sighandler_t = 435 ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>; 436 pub type __kernel_key_t = ::std::os::raw::c_int; 437 pub type __kernel_mqd_t = ::std::os::raw::c_int; 438 pub type __kernel_old_uid_t = ::std::os::raw::c_ushort; 439 pub type __kernel_old_gid_t = ::std::os::raw::c_ushort; 440 pub type __kernel_old_dev_t = ::std::os::raw::c_ulong; 441 pub type __kernel_long_t = ::std::os::raw::c_long; 442 pub type __kernel_ulong_t = ::std::os::raw::c_ulong; 443 pub type __kernel_ino_t = __kernel_ulong_t; 444 pub type __kernel_mode_t = ::std::os::raw::c_uint; 445 pub type __kernel_pid_t = ::std::os::raw::c_int; 446 pub type __kernel_ipc_pid_t = ::std::os::raw::c_int; 447 pub type __kernel_uid_t = ::std::os::raw::c_uint; 448 pub type __kernel_gid_t = ::std::os::raw::c_uint; 449 pub type __kernel_suseconds_t = __kernel_long_t; 450 pub type __kernel_daddr_t = ::std::os::raw::c_int; 451 pub type __kernel_uid32_t = ::std::os::raw::c_uint; 452 pub type __kernel_gid32_t = ::std::os::raw::c_uint; 453 pub type __kernel_size_t = __kernel_ulong_t; 454 pub type __kernel_ssize_t = __kernel_long_t; 455 pub type __kernel_ptrdiff_t = __kernel_long_t; 456 #[repr(C)] 457 #[derive(Debug, Copy, Clone)] 458 pub struct __kernel_fsid_t { 459 pub val: [::std::os::raw::c_int; 2usize], 460 } 461 pub type __kernel_off_t = __kernel_long_t; 462 pub type __kernel_loff_t = ::std::os::raw::c_longlong; 463 pub type __kernel_old_time_t = __kernel_long_t; 464 pub type __kernel_time_t = __kernel_long_t; 465 pub type __kernel_time64_t = ::std::os::raw::c_longlong; 466 pub type __kernel_clock_t = __kernel_long_t; 467 pub type __kernel_timer_t = ::std::os::raw::c_int; 468 pub type __kernel_clockid_t = ::std::os::raw::c_int; 469 pub type __kernel_caddr_t = *mut ::std::os::raw::c_char; 470 pub type __kernel_uid16_t = ::std::os::raw::c_ushort; 471 pub type __kernel_gid16_t = ::std::os::raw::c_ushort; 472 pub type __le16 = __u16; 473 pub type __be16 = __u16; 474 pub type __le32 = __u32; 475 pub type __be32 = __u32; 476 pub type __le64 = __u64; 477 pub type __be64 = __u64; 478 pub type __sum16 = __u16; 479 pub type __wsum = __u32; 480 pub type __poll_t = ::std::os::raw::c_uint; 481 pub type __kernel_sa_family_t = ::std::os::raw::c_ushort; 482 #[repr(C)] 483 #[derive(Copy, Clone)] 484 pub struct __kernel_sockaddr_storage { 485 pub __bindgen_anon_1: __kernel_sockaddr_storage__bindgen_ty_1, 486 } 487 #[repr(C)] 488 #[derive(Copy, Clone)] 489 pub union __kernel_sockaddr_storage__bindgen_ty_1 { 490 pub __bindgen_anon_1: __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1, 491 pub __align: *mut ::std::os::raw::c_void, 492 } 493 #[repr(C)] 494 #[derive(Copy, Clone)] 495 pub struct __kernel_sockaddr_storage__bindgen_ty_1__bindgen_ty_1 { 496 pub ss_family: __kernel_sa_family_t, 497 pub __data: [::std::os::raw::c_char; 126usize], 498 } 499 pub type size_t = ::std::os::raw::c_ulong; 500 #[repr(C)] 501 #[derive(Debug, Copy, Clone)] 502 pub struct iovec { 503 pub iov_base: *mut ::std::os::raw::c_void, 504 pub iov_len: size_t, 505 } 506 pub type __u_char = ::std::os::raw::c_uchar; 507 pub type __u_short = ::std::os::raw::c_ushort; 508 pub type __u_int = ::std::os::raw::c_uint; 509 pub type __u_long = ::std::os::raw::c_ulong; 510 pub type __int8_t = ::std::os::raw::c_schar; 511 pub type __uint8_t = ::std::os::raw::c_uchar; 512 pub type __int16_t = ::std::os::raw::c_short; 513 pub type __uint16_t = ::std::os::raw::c_ushort; 514 pub type __int32_t = ::std::os::raw::c_int; 515 pub type __uint32_t = ::std::os::raw::c_uint; 516 pub type __int64_t = ::std::os::raw::c_long; 517 pub type __uint64_t = ::std::os::raw::c_ulong; 518 pub type __int_least8_t = __int8_t; 519 pub type __uint_least8_t = __uint8_t; 520 pub type __int_least16_t = __int16_t; 521 pub type __uint_least16_t = __uint16_t; 522 pub type __int_least32_t = __int32_t; 523 pub type __uint_least32_t = __uint32_t; 524 pub type __int_least64_t = __int64_t; 525 pub type __uint_least64_t = __uint64_t; 526 pub type __quad_t = ::std::os::raw::c_long; 527 pub type __u_quad_t = ::std::os::raw::c_ulong; 528 pub type __intmax_t = ::std::os::raw::c_long; 529 pub type __uintmax_t = ::std::os::raw::c_ulong; 530 pub type __dev_t = ::std::os::raw::c_ulong; 531 pub type __uid_t = ::std::os::raw::c_uint; 532 pub type __gid_t = ::std::os::raw::c_uint; 533 pub type __ino_t = ::std::os::raw::c_ulong; 534 pub type __ino64_t = ::std::os::raw::c_ulong; 535 pub type __mode_t = ::std::os::raw::c_uint; 536 pub type __nlink_t = ::std::os::raw::c_ulong; 537 pub type __off_t = ::std::os::raw::c_long; 538 pub type __off64_t = ::std::os::raw::c_long; 539 pub type __pid_t = ::std::os::raw::c_int; 540 #[repr(C)] 541 #[derive(Debug, Copy, Clone)] 542 pub struct __fsid_t { 543 pub __val: [::std::os::raw::c_int; 2usize], 544 } 545 pub type __clock_t = ::std::os::raw::c_long; 546 pub type __rlim_t = ::std::os::raw::c_ulong; 547 pub type __rlim64_t = ::std::os::raw::c_ulong; 548 pub type __id_t = ::std::os::raw::c_uint; 549 pub type __time_t = ::std::os::raw::c_long; 550 pub type __useconds_t = ::std::os::raw::c_uint; 551 pub type __suseconds_t = ::std::os::raw::c_long; 552 pub type __suseconds64_t = ::std::os::raw::c_long; 553 pub type __daddr_t = ::std::os::raw::c_int; 554 pub type __key_t = ::std::os::raw::c_int; 555 pub type __clockid_t = ::std::os::raw::c_int; 556 pub type __timer_t = *mut ::std::os::raw::c_void; 557 pub type __blksize_t = ::std::os::raw::c_long; 558 pub type __blkcnt_t = ::std::os::raw::c_long; 559 pub type __blkcnt64_t = ::std::os::raw::c_long; 560 pub type __fsblkcnt_t = ::std::os::raw::c_ulong; 561 pub type __fsblkcnt64_t = ::std::os::raw::c_ulong; 562 pub type __fsfilcnt_t = ::std::os::raw::c_ulong; 563 pub type __fsfilcnt64_t = ::std::os::raw::c_ulong; 564 pub type __fsword_t = ::std::os::raw::c_long; 565 pub type __ssize_t = ::std::os::raw::c_long; 566 pub type __syscall_slong_t = ::std::os::raw::c_long; 567 pub type __syscall_ulong_t = ::std::os::raw::c_ulong; 568 pub type __loff_t = __off64_t; 569 pub type __caddr_t = *mut ::std::os::raw::c_char; 570 pub type __intptr_t = ::std::os::raw::c_long; 571 pub type __socklen_t = ::std::os::raw::c_uint; 572 pub type __sig_atomic_t = ::std::os::raw::c_int; 573 pub type u_char = __u_char; 574 pub type u_short = __u_short; 575 pub type u_int = __u_int; 576 pub type u_long = __u_long; 577 pub type quad_t = __quad_t; 578 pub type u_quad_t = __u_quad_t; 579 pub type fsid_t = __fsid_t; 580 pub type loff_t = __loff_t; 581 pub type ino_t = __ino_t; 582 pub type dev_t = __dev_t; 583 pub type gid_t = __gid_t; 584 pub type mode_t = __mode_t; 585 pub type nlink_t = __nlink_t; 586 pub type uid_t = __uid_t; 587 pub type off_t = __off_t; 588 pub type pid_t = __pid_t; 589 pub type id_t = __id_t; 590 pub type ssize_t = __ssize_t; 591 pub type daddr_t = __daddr_t; 592 pub type caddr_t = __caddr_t; 593 pub type key_t = __key_t; 594 pub type clock_t = __clock_t; 595 pub type clockid_t = __clockid_t; 596 pub type time_t = __time_t; 597 pub type timer_t = __timer_t; 598 pub type ulong = ::std::os::raw::c_ulong; 599 pub type ushort = ::std::os::raw::c_ushort; 600 pub type uint = ::std::os::raw::c_uint; 601 pub type u_int8_t = __uint8_t; 602 pub type u_int16_t = __uint16_t; 603 pub type u_int32_t = __uint32_t; 604 pub type u_int64_t = __uint64_t; 605 pub type register_t = ::std::os::raw::c_long; 606 #[repr(C)] 607 #[derive(Debug, Copy, Clone)] 608 pub struct __sigset_t { 609 pub __val: [::std::os::raw::c_ulong; 16usize], 610 } 611 pub type sigset_t = __sigset_t; 612 #[repr(C)] 613 #[derive(Debug, Copy, Clone)] 614 pub struct timeval { 615 pub tv_sec: __time_t, 616 pub tv_usec: __suseconds_t, 617 } 618 #[repr(C)] 619 #[derive(Debug, Copy, Clone)] 620 pub struct timespec { 621 pub tv_sec: __time_t, 622 pub tv_nsec: __syscall_slong_t, 623 } 624 pub type suseconds_t = __suseconds_t; 625 pub type __fd_mask = ::std::os::raw::c_long; 626 #[repr(C)] 627 #[derive(Debug, Copy, Clone)] 628 pub struct fd_set { 629 pub __fds_bits: [__fd_mask; 16usize], 630 } 631 pub type fd_mask = __fd_mask; 632 extern "C" { 633 pub fn select( 634 __nfds: ::std::os::raw::c_int, 635 __readfds: *mut fd_set, 636 __writefds: *mut fd_set, 637 __exceptfds: *mut fd_set, 638 __timeout: *mut timeval, 639 ) -> ::std::os::raw::c_int; 640 } 641 extern "C" { 642 pub fn pselect( 643 __nfds: ::std::os::raw::c_int, 644 __readfds: *mut fd_set, 645 __writefds: *mut fd_set, 646 __exceptfds: *mut fd_set, 647 __timeout: *const timespec, 648 __sigmask: *const __sigset_t, 649 ) -> ::std::os::raw::c_int; 650 } 651 pub type blksize_t = __blksize_t; 652 pub type blkcnt_t = __blkcnt_t; 653 pub type fsblkcnt_t = __fsblkcnt_t; 654 pub type fsfilcnt_t = __fsfilcnt_t; 655 #[repr(C)] 656 #[derive(Debug, Copy, Clone)] 657 pub struct __pthread_internal_list { 658 pub __prev: *mut __pthread_internal_list, 659 pub __next: *mut __pthread_internal_list, 660 } 661 pub type __pthread_list_t = __pthread_internal_list; 662 #[repr(C)] 663 #[derive(Debug, Copy, Clone)] 664 pub struct __pthread_internal_slist { 665 pub __next: *mut __pthread_internal_slist, 666 } 667 pub type __pthread_slist_t = __pthread_internal_slist; 668 #[repr(C)] 669 #[derive(Debug, Copy, Clone)] 670 pub struct __pthread_mutex_s { 671 pub __lock: ::std::os::raw::c_int, 672 pub __count: ::std::os::raw::c_uint, 673 pub __owner: ::std::os::raw::c_int, 674 pub __nusers: ::std::os::raw::c_uint, 675 pub __kind: ::std::os::raw::c_int, 676 pub __spins: ::std::os::raw::c_short, 677 pub __elision: ::std::os::raw::c_short, 678 pub __list: __pthread_list_t, 679 } 680 #[repr(C)] 681 #[derive(Debug, Copy, Clone)] 682 pub struct __pthread_rwlock_arch_t { 683 pub __readers: ::std::os::raw::c_uint, 684 pub __writers: ::std::os::raw::c_uint, 685 pub __wrphase_futex: ::std::os::raw::c_uint, 686 pub __writers_futex: ::std::os::raw::c_uint, 687 pub __pad3: ::std::os::raw::c_uint, 688 pub __pad4: ::std::os::raw::c_uint, 689 pub __cur_writer: ::std::os::raw::c_int, 690 pub __shared: ::std::os::raw::c_int, 691 pub __rwelision: ::std::os::raw::c_schar, 692 pub __pad1: [::std::os::raw::c_uchar; 7usize], 693 pub __pad2: ::std::os::raw::c_ulong, 694 pub __flags: ::std::os::raw::c_uint, 695 } 696 #[repr(C)] 697 #[derive(Copy, Clone)] 698 pub struct __pthread_cond_s { 699 pub __bindgen_anon_1: __pthread_cond_s__bindgen_ty_1, 700 pub __bindgen_anon_2: __pthread_cond_s__bindgen_ty_2, 701 pub __g_refs: [::std::os::raw::c_uint; 2usize], 702 pub __g_size: [::std::os::raw::c_uint; 2usize], 703 pub __g1_orig_size: ::std::os::raw::c_uint, 704 pub __wrefs: ::std::os::raw::c_uint, 705 pub __g_signals: [::std::os::raw::c_uint; 2usize], 706 } 707 #[repr(C)] 708 #[derive(Copy, Clone)] 709 pub union __pthread_cond_s__bindgen_ty_1 { 710 pub __wseq: ::std::os::raw::c_ulonglong, 711 pub __wseq32: __pthread_cond_s__bindgen_ty_1__bindgen_ty_1, 712 } 713 #[repr(C)] 714 #[derive(Debug, Copy, Clone)] 715 pub struct __pthread_cond_s__bindgen_ty_1__bindgen_ty_1 { 716 pub __low: ::std::os::raw::c_uint, 717 pub __high: ::std::os::raw::c_uint, 718 } 719 #[repr(C)] 720 #[derive(Copy, Clone)] 721 pub union __pthread_cond_s__bindgen_ty_2 { 722 pub __g1_start: ::std::os::raw::c_ulonglong, 723 pub __g1_start32: __pthread_cond_s__bindgen_ty_2__bindgen_ty_1, 724 } 725 #[repr(C)] 726 #[derive(Debug, Copy, Clone)] 727 pub struct __pthread_cond_s__bindgen_ty_2__bindgen_ty_1 { 728 pub __low: ::std::os::raw::c_uint, 729 pub __high: ::std::os::raw::c_uint, 730 } 731 pub type __tss_t = ::std::os::raw::c_uint; 732 pub type __thrd_t = ::std::os::raw::c_ulong; 733 #[repr(C)] 734 #[derive(Debug, Copy, Clone)] 735 pub struct __once_flag { 736 pub __data: ::std::os::raw::c_int, 737 } 738 pub type pthread_t = ::std::os::raw::c_ulong; 739 #[repr(C)] 740 #[derive(Copy, Clone)] 741 pub union pthread_mutexattr_t { 742 pub __size: [::std::os::raw::c_char; 4usize], 743 pub __align: ::std::os::raw::c_int, 744 } 745 #[repr(C)] 746 #[derive(Copy, Clone)] 747 pub union pthread_condattr_t { 748 pub __size: [::std::os::raw::c_char; 4usize], 749 pub __align: ::std::os::raw::c_int, 750 } 751 pub type pthread_key_t = ::std::os::raw::c_uint; 752 pub type pthread_once_t = ::std::os::raw::c_int; 753 #[repr(C)] 754 #[derive(Copy, Clone)] 755 pub union pthread_attr_t { 756 pub __size: [::std::os::raw::c_char; 56usize], 757 pub __align: ::std::os::raw::c_long, 758 } 759 #[repr(C)] 760 #[derive(Copy, Clone)] 761 pub union pthread_mutex_t { 762 pub __data: __pthread_mutex_s, 763 pub __size: [::std::os::raw::c_char; 40usize], 764 pub __align: ::std::os::raw::c_long, 765 } 766 #[repr(C)] 767 #[derive(Copy, Clone)] 768 pub union pthread_cond_t { 769 pub __data: __pthread_cond_s, 770 pub __size: [::std::os::raw::c_char; 48usize], 771 pub __align: ::std::os::raw::c_longlong, 772 } 773 #[repr(C)] 774 #[derive(Copy, Clone)] 775 pub union pthread_rwlock_t { 776 pub __data: __pthread_rwlock_arch_t, 777 pub __size: [::std::os::raw::c_char; 56usize], 778 pub __align: ::std::os::raw::c_long, 779 } 780 #[repr(C)] 781 #[derive(Copy, Clone)] 782 pub union pthread_rwlockattr_t { 783 pub __size: [::std::os::raw::c_char; 8usize], 784 pub __align: ::std::os::raw::c_long, 785 } 786 pub type pthread_spinlock_t = ::std::os::raw::c_int; 787 #[repr(C)] 788 #[derive(Copy, Clone)] 789 pub union pthread_barrier_t { 790 pub __size: [::std::os::raw::c_char; 32usize], 791 pub __align: ::std::os::raw::c_long, 792 } 793 #[repr(C)] 794 #[derive(Copy, Clone)] 795 pub union pthread_barrierattr_t { 796 pub __size: [::std::os::raw::c_char; 4usize], 797 pub __align: ::std::os::raw::c_int, 798 } 799 pub type socklen_t = __socklen_t; 800 pub const __socket_type_SOCK_STREAM: __socket_type = 1; 801 pub const __socket_type_SOCK_DGRAM: __socket_type = 2; 802 pub const __socket_type_SOCK_RAW: __socket_type = 3; 803 pub const __socket_type_SOCK_RDM: __socket_type = 4; 804 pub const __socket_type_SOCK_SEQPACKET: __socket_type = 5; 805 pub const __socket_type_SOCK_DCCP: __socket_type = 6; 806 pub const __socket_type_SOCK_PACKET: __socket_type = 10; 807 pub const __socket_type_SOCK_CLOEXEC: __socket_type = 524288; 808 pub const __socket_type_SOCK_NONBLOCK: __socket_type = 2048; 809 pub type __socket_type = ::std::os::raw::c_uint; 810 pub type sa_family_t = ::std::os::raw::c_ushort; 811 #[repr(C)] 812 #[derive(Debug, Copy, Clone)] 813 pub struct sockaddr { 814 pub sa_family: sa_family_t, 815 pub sa_data: [::std::os::raw::c_uchar; 14usize], 816 } 817 #[repr(C)] 818 #[derive(Copy, Clone)] 819 pub struct sockaddr_storage { 820 pub ss_family: sa_family_t, 821 pub __ss_padding: [::std::os::raw::c_char; 118usize], 822 pub __ss_align: ::std::os::raw::c_ulong, 823 } 824 pub const MSG_OOB: ::std::os::raw::c_uint = 1; 825 pub const MSG_PEEK: ::std::os::raw::c_uint = 2; 826 pub const MSG_DONTROUTE: ::std::os::raw::c_uint = 4; 827 pub const MSG_CTRUNC: ::std::os::raw::c_uint = 8; 828 pub const MSG_PROXY: ::std::os::raw::c_uint = 16; 829 pub const MSG_TRUNC: ::std::os::raw::c_uint = 32; 830 pub const MSG_DONTWAIT: ::std::os::raw::c_uint = 64; 831 pub const MSG_EOR: ::std::os::raw::c_uint = 128; 832 pub const MSG_WAITALL: ::std::os::raw::c_uint = 256; 833 pub const MSG_FIN: ::std::os::raw::c_uint = 512; 834 pub const MSG_SYN: ::std::os::raw::c_uint = 1024; 835 pub const MSG_CONFIRM: ::std::os::raw::c_uint = 2048; 836 pub const MSG_RST: ::std::os::raw::c_uint = 4096; 837 pub const MSG_ERRQUEUE: ::std::os::raw::c_uint = 8192; 838 pub const MSG_NOSIGNAL: ::std::os::raw::c_uint = 16384; 839 pub const MSG_MORE: ::std::os::raw::c_uint = 32768; 840 pub const MSG_WAITFORONE: ::std::os::raw::c_uint = 65536; 841 pub const MSG_BATCH: ::std::os::raw::c_uint = 262144; 842 pub const MSG_ZEROCOPY: ::std::os::raw::c_uint = 67108864; 843 pub const MSG_FASTOPEN: ::std::os::raw::c_uint = 536870912; 844 pub const MSG_CMSG_CLOEXEC: ::std::os::raw::c_uint = 1073741824; 845 pub type _bindgen_ty_1 = ::std::os::raw::c_uint; 846 #[repr(C)] 847 #[derive(Debug, Copy, Clone)] 848 pub struct msghdr { 849 pub msg_name: *mut ::std::os::raw::c_void, 850 pub msg_namelen: socklen_t, 851 pub msg_iov: *mut iovec, 852 pub msg_iovlen: size_t, 853 pub msg_control: *mut ::std::os::raw::c_void, 854 pub msg_controllen: size_t, 855 pub msg_flags: ::std::os::raw::c_int, 856 } 857 #[repr(C)] 858 #[derive(Debug)] 859 pub struct cmsghdr { 860 pub cmsg_len: size_t, 861 pub cmsg_level: ::std::os::raw::c_int, 862 pub cmsg_type: ::std::os::raw::c_int, 863 pub __cmsg_data: __IncompleteArrayField<::std::os::raw::c_uchar>, 864 } 865 extern "C" { 866 pub fn __cmsg_nxthdr(__mhdr: *mut msghdr, __cmsg: *mut cmsghdr) -> *mut cmsghdr; 867 } 868 pub const SCM_RIGHTS: ::std::os::raw::c_uint = 1; 869 pub type _bindgen_ty_2 = ::std::os::raw::c_uint; 870 #[repr(C)] 871 #[derive(Debug, Copy, Clone)] 872 pub struct linger { 873 pub l_onoff: ::std::os::raw::c_int, 874 pub l_linger: ::std::os::raw::c_int, 875 } 876 #[repr(C)] 877 #[derive(Debug, Copy, Clone)] 878 pub struct osockaddr { 879 pub sa_family: ::std::os::raw::c_ushort, 880 pub sa_data: [::std::os::raw::c_uchar; 14usize], 881 } 882 pub const SHUT_RD: ::std::os::raw::c_uint = 0; 883 pub const SHUT_WR: ::std::os::raw::c_uint = 1; 884 pub const SHUT_RDWR: ::std::os::raw::c_uint = 2; 885 pub type _bindgen_ty_3 = ::std::os::raw::c_uint; 886 extern "C" { 887 pub fn socket( 888 __domain: ::std::os::raw::c_int, 889 __type: ::std::os::raw::c_int, 890 __protocol: ::std::os::raw::c_int, 891 ) -> ::std::os::raw::c_int; 892 } 893 extern "C" { 894 pub fn socketpair( 895 __domain: ::std::os::raw::c_int, 896 __type: ::std::os::raw::c_int, 897 __protocol: ::std::os::raw::c_int, 898 __fds: *mut ::std::os::raw::c_int, 899 ) -> ::std::os::raw::c_int; 900 } 901 extern "C" { 902 pub fn bind( 903 __fd: ::std::os::raw::c_int, 904 __addr: *const sockaddr, 905 __len: socklen_t, 906 ) -> ::std::os::raw::c_int; 907 } 908 extern "C" { 909 pub fn getsockname( 910 __fd: ::std::os::raw::c_int, 911 __addr: *mut sockaddr, 912 __len: *mut socklen_t, 913 ) -> ::std::os::raw::c_int; 914 } 915 extern "C" { 916 pub fn connect( 917 __fd: ::std::os::raw::c_int, 918 __addr: *const sockaddr, 919 __len: socklen_t, 920 ) -> ::std::os::raw::c_int; 921 } 922 extern "C" { 923 pub fn getpeername( 924 __fd: ::std::os::raw::c_int, 925 __addr: *mut sockaddr, 926 __len: *mut socklen_t, 927 ) -> ::std::os::raw::c_int; 928 } 929 extern "C" { 930 pub fn send( 931 __fd: ::std::os::raw::c_int, 932 __buf: *const ::std::os::raw::c_void, 933 __n: size_t, 934 __flags: ::std::os::raw::c_int, 935 ) -> ssize_t; 936 } 937 extern "C" { 938 pub fn recv( 939 __fd: ::std::os::raw::c_int, 940 __buf: *mut ::std::os::raw::c_void, 941 __n: size_t, 942 __flags: ::std::os::raw::c_int, 943 ) -> ssize_t; 944 } 945 extern "C" { 946 pub fn sendto( 947 __fd: ::std::os::raw::c_int, 948 __buf: *const ::std::os::raw::c_void, 949 __n: size_t, 950 __flags: ::std::os::raw::c_int, 951 __addr: *const sockaddr, 952 __addr_len: socklen_t, 953 ) -> ssize_t; 954 } 955 extern "C" { 956 pub fn recvfrom( 957 __fd: ::std::os::raw::c_int, 958 __buf: *mut ::std::os::raw::c_void, 959 __n: size_t, 960 __flags: ::std::os::raw::c_int, 961 __addr: *mut sockaddr, 962 __addr_len: *mut socklen_t, 963 ) -> ssize_t; 964 } 965 extern "C" { 966 pub fn sendmsg( 967 __fd: ::std::os::raw::c_int, 968 __message: *const msghdr, 969 __flags: ::std::os::raw::c_int, 970 ) -> ssize_t; 971 } 972 extern "C" { 973 pub fn recvmsg( 974 __fd: ::std::os::raw::c_int, 975 __message: *mut msghdr, 976 __flags: ::std::os::raw::c_int, 977 ) -> ssize_t; 978 } 979 extern "C" { 980 pub fn getsockopt( 981 __fd: ::std::os::raw::c_int, 982 __level: ::std::os::raw::c_int, 983 __optname: ::std::os::raw::c_int, 984 __optval: *mut ::std::os::raw::c_void, 985 __optlen: *mut socklen_t, 986 ) -> ::std::os::raw::c_int; 987 } 988 extern "C" { 989 pub fn setsockopt( 990 __fd: ::std::os::raw::c_int, 991 __level: ::std::os::raw::c_int, 992 __optname: ::std::os::raw::c_int, 993 __optval: *const ::std::os::raw::c_void, 994 __optlen: socklen_t, 995 ) -> ::std::os::raw::c_int; 996 } 997 extern "C" { 998 pub fn listen(__fd: ::std::os::raw::c_int, __n: ::std::os::raw::c_int) 999 -> ::std::os::raw::c_int; 1000 } 1001 extern "C" { 1002 pub fn accept( 1003 __fd: ::std::os::raw::c_int, 1004 __addr: *mut sockaddr, 1005 __addr_len: *mut socklen_t, 1006 ) -> ::std::os::raw::c_int; 1007 } 1008 extern "C" { 1009 pub fn shutdown( 1010 __fd: ::std::os::raw::c_int, 1011 __how: ::std::os::raw::c_int, 1012 ) -> ::std::os::raw::c_int; 1013 } 1014 extern "C" { 1015 pub fn sockatmark(__fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; 1016 } 1017 extern "C" { 1018 pub fn isfdtype( 1019 __fd: ::std::os::raw::c_int, 1020 __fdtype: ::std::os::raw::c_int, 1021 ) -> ::std::os::raw::c_int; 1022 } 1023 #[repr(C)] 1024 #[derive(Debug, Copy, Clone)] 1025 pub struct sync_serial_settings { 1026 pub clock_rate: ::std::os::raw::c_uint, 1027 pub clock_type: ::std::os::raw::c_uint, 1028 pub loopback: ::std::os::raw::c_ushort, 1029 } 1030 #[repr(C)] 1031 #[derive(Debug, Copy, Clone)] 1032 pub struct te1_settings { 1033 pub clock_rate: ::std::os::raw::c_uint, 1034 pub clock_type: ::std::os::raw::c_uint, 1035 pub loopback: ::std::os::raw::c_ushort, 1036 pub slot_map: ::std::os::raw::c_uint, 1037 } 1038 #[repr(C)] 1039 #[derive(Debug, Copy, Clone)] 1040 pub struct raw_hdlc_proto { 1041 pub encoding: ::std::os::raw::c_ushort, 1042 pub parity: ::std::os::raw::c_ushort, 1043 } 1044 #[repr(C)] 1045 #[derive(Debug, Copy, Clone)] 1046 pub struct fr_proto { 1047 pub t391: ::std::os::raw::c_uint, 1048 pub t392: ::std::os::raw::c_uint, 1049 pub n391: ::std::os::raw::c_uint, 1050 pub n392: ::std::os::raw::c_uint, 1051 pub n393: ::std::os::raw::c_uint, 1052 pub lmi: ::std::os::raw::c_ushort, 1053 pub dce: ::std::os::raw::c_ushort, 1054 } 1055 #[repr(C)] 1056 #[derive(Debug, Copy, Clone)] 1057 pub struct fr_proto_pvc { 1058 pub dlci: ::std::os::raw::c_uint, 1059 } 1060 #[repr(C)] 1061 #[derive(Debug, Copy, Clone)] 1062 pub struct fr_proto_pvc_info { 1063 pub dlci: ::std::os::raw::c_uint, 1064 pub master: [::std::os::raw::c_char; 16usize], 1065 } 1066 #[repr(C)] 1067 #[derive(Debug, Copy, Clone)] 1068 pub struct cisco_proto { 1069 pub interval: ::std::os::raw::c_uint, 1070 pub timeout: ::std::os::raw::c_uint, 1071 } 1072 #[repr(C)] 1073 #[derive(Debug, Copy, Clone)] 1074 pub struct x25_hdlc_proto { 1075 pub dce: ::std::os::raw::c_ushort, 1076 pub modulo: ::std::os::raw::c_uint, 1077 pub window: ::std::os::raw::c_uint, 1078 pub t1: ::std::os::raw::c_uint, 1079 pub t2: ::std::os::raw::c_uint, 1080 pub n2: ::std::os::raw::c_uint, 1081 } 1082 pub const net_device_flags_IFF_UP: net_device_flags = 1; 1083 pub const net_device_flags_IFF_BROADCAST: net_device_flags = 2; 1084 pub const net_device_flags_IFF_DEBUG: net_device_flags = 4; 1085 pub const net_device_flags_IFF_LOOPBACK: net_device_flags = 8; 1086 pub const net_device_flags_IFF_POINTOPOINT: net_device_flags = 16; 1087 pub const net_device_flags_IFF_NOTRAILERS: net_device_flags = 32; 1088 pub const net_device_flags_IFF_RUNNING: net_device_flags = 64; 1089 pub const net_device_flags_IFF_NOARP: net_device_flags = 128; 1090 pub const net_device_flags_IFF_PROMISC: net_device_flags = 256; 1091 pub const net_device_flags_IFF_ALLMULTI: net_device_flags = 512; 1092 pub const net_device_flags_IFF_MASTER: net_device_flags = 1024; 1093 pub const net_device_flags_IFF_SLAVE: net_device_flags = 2048; 1094 pub const net_device_flags_IFF_MULTICAST: net_device_flags = 4096; 1095 pub const net_device_flags_IFF_PORTSEL: net_device_flags = 8192; 1096 pub const net_device_flags_IFF_AUTOMEDIA: net_device_flags = 16384; 1097 pub const net_device_flags_IFF_DYNAMIC: net_device_flags = 32768; 1098 pub const net_device_flags_IFF_LOWER_UP: net_device_flags = 65536; 1099 pub const net_device_flags_IFF_DORMANT: net_device_flags = 131072; 1100 pub const net_device_flags_IFF_ECHO: net_device_flags = 262144; 1101 #[doc = " enum net_device_flags - &struct net_device flags"] 1102 #[doc = ""] 1103 #[doc = " These are the &struct net_device flags, they can be set by drivers, the"] 1104 #[doc = " kernel and some can be triggered by userspace. Userspace can query and"] 1105 #[doc = " set these flags using userspace utilities but there is also a sysfs"] 1106 #[doc = " entry available for all dev flags which can be queried and set. These flags"] 1107 #[doc = " are shared for all types of net_devices. The sysfs entries are available"] 1108 #[doc = " via /sys/class/net/<dev>/flags. Flags which can be toggled through sysfs"] 1109 #[doc = " are annotated below, note that only a few flags can be toggled and some"] 1110 #[doc = " other flags are always preserved from the original net_device flags"] 1111 #[doc = " even if you try to set them via sysfs. Flags which are always preserved"] 1112 #[doc = " are kept under the flag grouping @IFF_VOLATILE. Flags which are __volatile__"] 1113 #[doc = " are annotated below as such."] 1114 #[doc = ""] 1115 #[doc = " You should have a pretty good reason to be extending these flags."] 1116 #[doc = ""] 1117 #[doc = " @IFF_UP: interface is up. Can be toggled through sysfs."] 1118 #[doc = " @IFF_BROADCAST: broadcast address valid. Volatile."] 1119 #[doc = " @IFF_DEBUG: turn on debugging. Can be toggled through sysfs."] 1120 #[doc = " @IFF_LOOPBACK: is a loopback net. Volatile."] 1121 #[doc = " @IFF_POINTOPOINT: interface is has p-p link. Volatile."] 1122 #[doc = " @IFF_NOTRAILERS: avoid use of trailers. Can be toggled through sysfs."] 1123 #[doc = "\tVolatile."] 1124 #[doc = " @IFF_RUNNING: interface RFC2863 OPER_UP. Volatile."] 1125 #[doc = " @IFF_NOARP: no ARP protocol. Can be toggled through sysfs. Volatile."] 1126 #[doc = " @IFF_PROMISC: receive all packets. Can be toggled through sysfs."] 1127 #[doc = " @IFF_ALLMULTI: receive all multicast packets. Can be toggled through"] 1128 #[doc = "\tsysfs."] 1129 #[doc = " @IFF_MASTER: master of a load balancer. Volatile."] 1130 #[doc = " @IFF_SLAVE: slave of a load balancer. Volatile."] 1131 #[doc = " @IFF_MULTICAST: Supports multicast. Can be toggled through sysfs."] 1132 #[doc = " @IFF_PORTSEL: can set media type. Can be toggled through sysfs."] 1133 #[doc = " @IFF_AUTOMEDIA: auto media select active. Can be toggled through sysfs."] 1134 #[doc = " @IFF_DYNAMIC: dialup device with changing addresses. Can be toggled"] 1135 #[doc = "\tthrough sysfs."] 1136 #[doc = " @IFF_LOWER_UP: driver signals L1 up. Volatile."] 1137 #[doc = " @IFF_DORMANT: driver signals dormant. Volatile."] 1138 #[doc = " @IFF_ECHO: echo sent packets. Volatile."] 1139 pub type net_device_flags = ::std::os::raw::c_uint; 1140 pub const IF_OPER_UNKNOWN: ::std::os::raw::c_uint = 0; 1141 pub const IF_OPER_NOTPRESENT: ::std::os::raw::c_uint = 1; 1142 pub const IF_OPER_DOWN: ::std::os::raw::c_uint = 2; 1143 pub const IF_OPER_LOWERLAYERDOWN: ::std::os::raw::c_uint = 3; 1144 pub const IF_OPER_TESTING: ::std::os::raw::c_uint = 4; 1145 pub const IF_OPER_DORMANT: ::std::os::raw::c_uint = 5; 1146 pub const IF_OPER_UP: ::std::os::raw::c_uint = 6; 1147 pub type _bindgen_ty_4 = ::std::os::raw::c_uint; 1148 pub const IF_LINK_MODE_DEFAULT: ::std::os::raw::c_uint = 0; 1149 pub const IF_LINK_MODE_DORMANT: ::std::os::raw::c_uint = 1; 1150 pub const IF_LINK_MODE_TESTING: ::std::os::raw::c_uint = 2; 1151 pub type _bindgen_ty_5 = ::std::os::raw::c_uint; 1152 #[repr(C)] 1153 #[derive(Debug, Copy, Clone)] 1154 pub struct ifmap { 1155 pub mem_start: ::std::os::raw::c_ulong, 1156 pub mem_end: ::std::os::raw::c_ulong, 1157 pub base_addr: ::std::os::raw::c_ushort, 1158 pub irq: ::std::os::raw::c_uchar, 1159 pub dma: ::std::os::raw::c_uchar, 1160 pub port: ::std::os::raw::c_uchar, 1161 } 1162 #[repr(C)] 1163 #[derive(Copy, Clone)] 1164 pub struct if_settings { 1165 pub type_: ::std::os::raw::c_uint, 1166 pub size: ::std::os::raw::c_uint, 1167 pub ifs_ifsu: if_settings__bindgen_ty_1, 1168 } 1169 #[repr(C)] 1170 #[derive(Copy, Clone)] 1171 pub union if_settings__bindgen_ty_1 { 1172 pub raw_hdlc: *mut raw_hdlc_proto, 1173 pub cisco: *mut cisco_proto, 1174 pub fr: *mut fr_proto, 1175 pub fr_pvc: *mut fr_proto_pvc, 1176 pub fr_pvc_info: *mut fr_proto_pvc_info, 1177 pub x25: *mut x25_hdlc_proto, 1178 pub sync: *mut sync_serial_settings, 1179 pub te1: *mut te1_settings, 1180 } 1181 #[repr(C)] 1182 #[derive(Copy, Clone)] 1183 pub struct ifreq { 1184 pub ifr_ifrn: ifreq__bindgen_ty_1, 1185 pub ifr_ifru: ifreq__bindgen_ty_2, 1186 } 1187 1188 impl Default for ifreq { 1189 fn default() -> Self { 1190 // SAFETY: all zeros is a valid pattern for this data type 1191 unsafe { std::mem::zeroed() } 1192 } 1193 } 1194 #[repr(C)] 1195 #[derive(Copy, Clone)] 1196 pub union ifreq__bindgen_ty_1 { 1197 pub ifrn_name: [::std::os::raw::c_uchar; 16usize], 1198 } 1199 #[repr(C)] 1200 #[derive(Copy, Clone)] 1201 pub union ifreq__bindgen_ty_2 { 1202 pub ifru_addr: sockaddr, 1203 pub ifru_dstaddr: sockaddr, 1204 pub ifru_broadaddr: sockaddr, 1205 pub ifru_netmask: sockaddr, 1206 pub ifru_hwaddr: sockaddr, 1207 pub ifru_flags: ::std::os::raw::c_short, 1208 pub ifru_ivalue: ::std::os::raw::c_int, 1209 pub ifru_mtu: ::std::os::raw::c_int, 1210 pub ifru_map: ifmap, 1211 pub ifru_slave: [::std::os::raw::c_uchar; 16usize], 1212 pub ifru_newname: [::std::os::raw::c_uchar; 16usize], 1213 pub ifru_data: *mut ::std::os::raw::c_void, 1214 pub ifru_settings: if_settings, 1215 } 1216 #[repr(C)] 1217 #[derive(Copy, Clone)] 1218 pub struct ifconf { 1219 pub ifc_len: ::std::os::raw::c_int, 1220 pub ifc_ifcu: ifconf__bindgen_ty_1, 1221 } 1222 #[repr(C)] 1223 #[derive(Copy, Clone)] 1224 pub union ifconf__bindgen_ty_1 { 1225 pub ifcu_buf: *mut ::std::os::raw::c_char, 1226 pub ifcu_req: *mut ifreq, 1227 } 1228