xref: /aosp_15_r20/external/crosvm/net_sys/src/if_tun.rs (revision bb4ee6a4ae7042d18b07a98463b9c8b875e44b39)
1*bb4ee6a4SAndroid Build Coastguard Worker /* automatically generated by tools/bindgen-all-the-things */
2*bb4ee6a4SAndroid Build Coastguard Worker 
3*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::missing_safety_doc)]
4*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::undocumented_unsafe_blocks)]
5*bb4ee6a4SAndroid Build Coastguard Worker #![allow(clippy::upper_case_acronyms)]
6*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_upper_case_globals)]
7*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_camel_case_types)]
8*bb4ee6a4SAndroid Build Coastguard Worker #![allow(non_snake_case)]
9*bb4ee6a4SAndroid Build Coastguard Worker #![allow(dead_code)]
10*bb4ee6a4SAndroid Build Coastguard Worker 
11*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_READQ_SIZE: u32 = 500;
12*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_TYPE_MASK: u32 = 15;
13*bb4ee6a4SAndroid Build Coastguard Worker pub const IFF_TAP: u32 = 2;
14*bb4ee6a4SAndroid Build Coastguard Worker pub const IFF_NO_PI: u32 = 4096;
15*bb4ee6a4SAndroid Build Coastguard Worker pub const IFF_VNET_HDR: u32 = 16384;
16*bb4ee6a4SAndroid Build Coastguard Worker pub const IFF_MULTI_QUEUE: u32 = 256;
17*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_TX_TIMESTAMP: u32 = 1;
18*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_F_CSUM: u32 = 1;
19*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_F_TSO4: u32 = 2;
20*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_F_TSO6: u32 = 4;
21*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_F_TSO_ECN: u32 = 8;
22*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_F_UFO: u32 = 16;
23*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_F_USO4: u32 = 32;
24*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_F_USO6: u32 = 64;
25*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_PKT_STRIP: u32 = 1;
26*bb4ee6a4SAndroid Build Coastguard Worker pub const TUN_FLT_ALLMULTI: u32 = 1;
27*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
28*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Default, Copy, Clone)]
29*bb4ee6a4SAndroid Build Coastguard Worker pub struct sock_filter {
30*bb4ee6a4SAndroid Build Coastguard Worker     pub code: u16,
31*bb4ee6a4SAndroid Build Coastguard Worker     pub jt: u8,
32*bb4ee6a4SAndroid Build Coastguard Worker     pub jf: u8,
33*bb4ee6a4SAndroid Build Coastguard Worker     pub k: u32,
34*bb4ee6a4SAndroid Build Coastguard Worker }
35*bb4ee6a4SAndroid Build Coastguard Worker #[repr(C)]
36*bb4ee6a4SAndroid Build Coastguard Worker #[derive(Debug, Copy, Clone)]
37*bb4ee6a4SAndroid Build Coastguard Worker pub struct sock_fprog {
38*bb4ee6a4SAndroid Build Coastguard Worker     pub len: ::std::os::raw::c_ushort,
39*bb4ee6a4SAndroid Build Coastguard Worker     pub filter: *mut sock_filter,
40*bb4ee6a4SAndroid Build Coastguard Worker }
41*bb4ee6a4SAndroid Build Coastguard Worker impl Default for sock_fprog {
default() -> Self42*bb4ee6a4SAndroid Build Coastguard Worker     fn default() -> Self {
43*bb4ee6a4SAndroid Build Coastguard Worker         let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
44*bb4ee6a4SAndroid Build Coastguard Worker         unsafe {
45*bb4ee6a4SAndroid Build Coastguard Worker             ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
46*bb4ee6a4SAndroid Build Coastguard Worker             s.assume_init()
47*bb4ee6a4SAndroid Build Coastguard Worker         }
48*bb4ee6a4SAndroid Build Coastguard Worker     }
49*bb4ee6a4SAndroid Build Coastguard Worker }
50