xref: /aosp_15_r20/external/crosvm/net_sys/src/lib.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker // Copyright TUNTAP, 2017 The ChromiumOS Authors
2*bb4ee6a4SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*bb4ee6a4SAndroid Build Coastguard Worker // found in the LICENSE file.
4*bb4ee6a4SAndroid Build Coastguard Worker 
5*bb4ee6a4SAndroid Build Coastguard Worker //! Linux networking API bindings.
6*bb4ee6a4SAndroid Build Coastguard Worker 
7*bb4ee6a4SAndroid Build Coastguard Worker #![cfg(any(target_os = "android", target_os = "linux"))]
8*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_upper_case_globals)]
9*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_camel_case_types)]
10*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_snake_case)]
11*bb4ee6a4SAndroid Build Coastguard Worker 
12*bb4ee6a4SAndroid Build Coastguard Worker use base::ioctl_ior_nr;
13*bb4ee6a4SAndroid Build Coastguard Worker use base::ioctl_iow_nr;
14*bb4ee6a4SAndroid Build Coastguard Worker 
15*bb4ee6a4SAndroid Build Coastguard Worker pub mod if_tun;
16*bb4ee6a4SAndroid Build Coastguard Worker pub mod iff; // Named "iff" to avoid conflicting with "if" keyword.
17*bb4ee6a4SAndroid Build Coastguard Worker pub mod sockios;
18*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::if_tun::sock_fprog;
19*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::if_tun::IFF_MULTI_QUEUE;
20*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::if_tun::IFF_NO_PI;
21*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::if_tun::IFF_TAP;
22*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::if_tun::IFF_VNET_HDR;
23*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::if_tun::TUN_F_CSUM;
24*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::if_tun::TUN_F_TSO4;
25*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::if_tun::TUN_F_TSO6;
26*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::if_tun::TUN_F_TSO_ECN;
27*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::if_tun::TUN_F_UFO;
28*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::iff::ifreq;
29*bb4ee6a4SAndroid Build Coastguard Worker pub use crate::iff::net_device_flags;
30*bb4ee6a4SAndroid Build Coastguard Worker 
31*bb4ee6a4SAndroid Build Coastguard Worker pub const TUNTAP: ::std::os::raw::c_uint = 84;
32*bb4ee6a4SAndroid Build Coastguard Worker 
33*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETNOCSUM, TUNTAP, 200, ::std::os::raw::c_int);
34*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETDEBUG, TUNTAP, 201, ::std::os::raw::c_int);
35*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETIFF, TUNTAP, 202, ::std::os::raw::c_int);
36*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETPERSIST, TUNTAP, 203, ::std::os::raw::c_int);
37*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETOWNER, TUNTAP, 204, ::std::os::raw::c_int);
38*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETLINK, TUNTAP, 205, ::std::os::raw::c_int);
39*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETGROUP, TUNTAP, 206, ::std::os::raw::c_int);
40*bb4ee6a4SAndroid Build Coastguard Worker ioctl_ior_nr!(TUNGETFEATURES, TUNTAP, 207, ::std::os::raw::c_uint);
41*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETOFFLOAD, TUNTAP, 208, ::std::os::raw::c_uint);
42*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETTXFILTER, TUNTAP, 209, ::std::os::raw::c_uint);
43*bb4ee6a4SAndroid Build Coastguard Worker ioctl_ior_nr!(TUNGETIFF, TUNTAP, 210, ::std::os::raw::c_uint);
44*bb4ee6a4SAndroid Build Coastguard Worker ioctl_ior_nr!(TUNGETSNDBUF, TUNTAP, 211, ::std::os::raw::c_int);
45*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETSNDBUF, TUNTAP, 212, ::std::os::raw::c_int);
46*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNATTACHFILTER, TUNTAP, 213, sock_fprog);
47*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNDETACHFILTER, TUNTAP, 214, sock_fprog);
48*bb4ee6a4SAndroid Build Coastguard Worker ioctl_ior_nr!(TUNGETVNETHDRSZ, TUNTAP, 215, ::std::os::raw::c_int);
49*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETVNETHDRSZ, TUNTAP, 216, ::std::os::raw::c_int);
50*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETQUEUE, TUNTAP, 217, ::std::os::raw::c_int);
51*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETIFINDEX, TUNTAP, 218, ::std::os::raw::c_uint);
52*bb4ee6a4SAndroid Build Coastguard Worker ioctl_ior_nr!(TUNGETFILTER, TUNTAP, 219, sock_fprog);
53*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETVNETLE, TUNTAP, 220, ::std::os::raw::c_int);
54*bb4ee6a4SAndroid Build Coastguard Worker ioctl_ior_nr!(TUNGETVNETLE, TUNTAP, 221, ::std::os::raw::c_int);
55*bb4ee6a4SAndroid Build Coastguard Worker ioctl_iow_nr!(TUNSETVNETBE, TUNTAP, 222, ::std::os::raw::c_int);
56*bb4ee6a4SAndroid Build Coastguard Worker ioctl_ior_nr!(TUNGETVNETBE, TUNTAP, 223, ::std::os::raw::c_int);
57