1 // Copyright TUNTAP, 2017 The Chromium OS Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #![allow(non_upper_case_globals)] 6 #![allow(non_camel_case_types)] 7 #![allow(non_snake_case)] 8 9 use base::{ioctl_ior_nr, ioctl_iow_nr}; 10 11 // generated with bindgen /usr/include/linux/if.h --no-unstable-rust 12 // --constified-enum '*' --with-derive-default -- -D __UAPI_DEF_IF_IFNAMSIZ -D 13 // __UAPI_DEF_IF_NET_DEVICE_FLAGS -D __UAPI_DEF_IF_IFREQ -D __UAPI_DEF_IF_IFMAP 14 // Name is "iff" to avoid conflicting with "if" keyword. 15 // Generated against Linux 4.11 to include fix "uapi: fix linux/if.h userspace 16 // compilation errors". 17 // Manual fixup of ifrn_name to be of type c_uchar instead of c_char. 18 #[allow(clippy::all)] 19 pub mod iff; 20 // generated with bindgen /usr/include/linux/if_tun.h --no-unstable-rust 21 // --constified-enum '*' --with-derive-default 22 pub mod if_tun; 23 // generated with bindgen /usr/include/linux/in.h --no-unstable-rust 24 // --constified-enum '*' --with-derive-default 25 // Name is "inn" to avoid conflicting with "in" keyword. 26 pub mod inn; 27 // generated with bindgen /usr/include/linux/sockios.h --no-unstable-rust 28 // --constified-enum '*' --with-derive-default 29 pub mod sockios; 30 pub use crate::if_tun::*; 31 pub use crate::iff::*; 32 pub use crate::inn::*; 33 pub use crate::sockios::*; 34 35 pub const TUNTAP: ::std::os::raw::c_uint = 84; 36 37 pub const ARPHRD_ETHER: sa_family_t = 1; 38 39 ioctl_iow_nr!(TUNSETNOCSUM, TUNTAP, 200, ::std::os::raw::c_int); 40 ioctl_iow_nr!(TUNSETDEBUG, TUNTAP, 201, ::std::os::raw::c_int); 41 ioctl_iow_nr!(TUNSETIFF, TUNTAP, 202, ::std::os::raw::c_int); 42 ioctl_iow_nr!(TUNSETPERSIST, TUNTAP, 203, ::std::os::raw::c_int); 43 ioctl_iow_nr!(TUNSETOWNER, TUNTAP, 204, ::std::os::raw::c_int); 44 ioctl_iow_nr!(TUNSETLINK, TUNTAP, 205, ::std::os::raw::c_int); 45 ioctl_iow_nr!(TUNSETGROUP, TUNTAP, 206, ::std::os::raw::c_int); 46 ioctl_ior_nr!(TUNGETFEATURES, TUNTAP, 207, ::std::os::raw::c_uint); 47 ioctl_iow_nr!(TUNSETOFFLOAD, TUNTAP, 208, ::std::os::raw::c_uint); 48 ioctl_iow_nr!(TUNSETTXFILTER, TUNTAP, 209, ::std::os::raw::c_uint); 49 ioctl_ior_nr!(TUNGETIFF, TUNTAP, 210, ::std::os::raw::c_uint); 50 ioctl_ior_nr!(TUNGETSNDBUF, TUNTAP, 211, ::std::os::raw::c_int); 51 ioctl_iow_nr!(TUNSETSNDBUF, TUNTAP, 212, ::std::os::raw::c_int); 52 ioctl_iow_nr!(TUNATTACHFILTER, TUNTAP, 213, sock_fprog); 53 ioctl_iow_nr!(TUNDETACHFILTER, TUNTAP, 214, sock_fprog); 54 ioctl_ior_nr!(TUNGETVNETHDRSZ, TUNTAP, 215, ::std::os::raw::c_int); 55 ioctl_iow_nr!(TUNSETVNETHDRSZ, TUNTAP, 216, ::std::os::raw::c_int); 56 ioctl_iow_nr!(TUNSETQUEUE, TUNTAP, 217, ::std::os::raw::c_int); 57 ioctl_iow_nr!(TUNSETIFINDEX, TUNTAP, 218, ::std::os::raw::c_uint); 58 ioctl_ior_nr!(TUNGETFILTER, TUNTAP, 219, sock_fprog); 59 ioctl_iow_nr!(TUNSETVNETLE, TUNTAP, 220, ::std::os::raw::c_int); 60 ioctl_ior_nr!(TUNGETVNETLE, TUNTAP, 221, ::std::os::raw::c_int); 61 ioctl_iow_nr!(TUNSETVNETBE, TUNTAP, 222, ::std::os::raw::c_int); 62 ioctl_ior_nr!(TUNGETVNETBE, TUNTAP, 223, ::std::os::raw::c_int); 63