xref: /cloud-hypervisor/net_gen/src/if_tun.rs (revision 1c9df58440b92efbcc400e152554b28d8f27191b)
1f0b64547SRob Bradford // Copyright © 2021 Intel Corporation
2f0b64547SRob Bradford //
3f0b64547SRob Bradford // SPDX-License-Identifier: Apache-2.0
4f0b64547SRob Bradford //
553f52954SSebastien Boeuf 
6f0b64547SRob Bradford // bindgen /usr/include/linux/if_tun.h --no-layout-tests
7f0b64547SRob Bradford 
8f0b64547SRob Bradford /* automatically generated by rust-bindgen 0.58.1 */
953f52954SSebastien Boeuf 
1053f52954SSebastien Boeuf #[repr(C)]
1153f52954SSebastien Boeuf #[derive(Default)]
12f0b64547SRob Bradford pub struct __IncompleteArrayField<T>(::std::marker::PhantomData<T>, [T; 0]);
13*1c9df584SRavi kumar Veeramally #[allow(clippy::missing_safety_doc)]
1453f52954SSebastien Boeuf impl<T> __IncompleteArrayField<T> {
1553f52954SSebastien Boeuf     #[inline]
new() -> Self16f0b64547SRob Bradford     pub const fn new() -> Self {
17f0b64547SRob Bradford         __IncompleteArrayField(::std::marker::PhantomData, [])
1853f52954SSebastien Boeuf     }
1953f52954SSebastien Boeuf     #[inline]
as_ptr(&self) -> *const T20f0b64547SRob Bradford     pub fn as_ptr(&self) -> *const T {
21f0b64547SRob Bradford         self as *const _ as *const T
2253f52954SSebastien Boeuf     }
2353f52954SSebastien Boeuf     #[inline]
as_mut_ptr(&mut self) -> *mut T24f0b64547SRob Bradford     pub fn as_mut_ptr(&mut self) -> *mut T {
25f0b64547SRob Bradford         self as *mut _ as *mut T
2653f52954SSebastien Boeuf     }
2753f52954SSebastien Boeuf     #[inline]
as_slice(&self, len: usize) -> &[T]2853f52954SSebastien Boeuf     pub unsafe fn as_slice(&self, len: usize) -> &[T] {
2953f52954SSebastien Boeuf         ::std::slice::from_raw_parts(self.as_ptr(), len)
3053f52954SSebastien Boeuf     }
3153f52954SSebastien Boeuf     #[inline]
as_mut_slice(&mut self, len: usize) -> &mut [T]3253f52954SSebastien Boeuf     pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
3353f52954SSebastien Boeuf         ::std::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
3453f52954SSebastien Boeuf     }
3553f52954SSebastien Boeuf }
3653f52954SSebastien Boeuf impl<T> ::std::fmt::Debug for __IncompleteArrayField<T> {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result37f0b64547SRob Bradford     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
3853f52954SSebastien Boeuf         fmt.write_str("__IncompleteArrayField")
3953f52954SSebastien Boeuf     }
4053f52954SSebastien Boeuf }
41f0b64547SRob Bradford pub const __BITS_PER_LONG: u32 = 64;
42f0b64547SRob Bradford pub const __FD_SETSIZE: u32 = 1024;
43f0b64547SRob Bradford pub const ETH_ALEN: u32 = 6;
44f0b64547SRob Bradford pub const ETH_TLEN: u32 = 2;
45f0b64547SRob Bradford pub const ETH_HLEN: u32 = 14;
46f0b64547SRob Bradford pub const ETH_ZLEN: u32 = 60;
47f0b64547SRob Bradford pub const ETH_DATA_LEN: u32 = 1500;
48f0b64547SRob Bradford pub const ETH_FRAME_LEN: u32 = 1514;
49f0b64547SRob Bradford pub const ETH_FCS_LEN: u32 = 4;
50f0b64547SRob Bradford pub const ETH_MIN_MTU: u32 = 68;
51f0b64547SRob Bradford pub const ETH_MAX_MTU: u32 = 65535;
52f0b64547SRob Bradford pub const ETH_P_LOOP: u32 = 96;
53f0b64547SRob Bradford pub const ETH_P_PUP: u32 = 512;
54f0b64547SRob Bradford pub const ETH_P_PUPAT: u32 = 513;
55f0b64547SRob Bradford pub const ETH_P_TSN: u32 = 8944;
56f0b64547SRob Bradford pub const ETH_P_ERSPAN2: u32 = 8939;
57f0b64547SRob Bradford pub const ETH_P_IP: u32 = 2048;
58f0b64547SRob Bradford pub const ETH_P_X25: u32 = 2053;
59f0b64547SRob Bradford pub const ETH_P_ARP: u32 = 2054;
60f0b64547SRob Bradford pub const ETH_P_BPQ: u32 = 2303;
61f0b64547SRob Bradford pub const ETH_P_IEEEPUP: u32 = 2560;
62f0b64547SRob Bradford pub const ETH_P_IEEEPUPAT: u32 = 2561;
63f0b64547SRob Bradford pub const ETH_P_BATMAN: u32 = 17157;
64f0b64547SRob Bradford pub const ETH_P_DEC: u32 = 24576;
65f0b64547SRob Bradford pub const ETH_P_DNA_DL: u32 = 24577;
66f0b64547SRob Bradford pub const ETH_P_DNA_RC: u32 = 24578;
67f0b64547SRob Bradford pub const ETH_P_DNA_RT: u32 = 24579;
68f0b64547SRob Bradford pub const ETH_P_LAT: u32 = 24580;
69f0b64547SRob Bradford pub const ETH_P_DIAG: u32 = 24581;
70f0b64547SRob Bradford pub const ETH_P_CUST: u32 = 24582;
71f0b64547SRob Bradford pub const ETH_P_SCA: u32 = 24583;
72f0b64547SRob Bradford pub const ETH_P_TEB: u32 = 25944;
73f0b64547SRob Bradford pub const ETH_P_RARP: u32 = 32821;
74f0b64547SRob Bradford pub const ETH_P_ATALK: u32 = 32923;
75f0b64547SRob Bradford pub const ETH_P_AARP: u32 = 33011;
76f0b64547SRob Bradford pub const ETH_P_8021Q: u32 = 33024;
77f0b64547SRob Bradford pub const ETH_P_ERSPAN: u32 = 35006;
78f0b64547SRob Bradford pub const ETH_P_IPX: u32 = 33079;
79f0b64547SRob Bradford pub const ETH_P_IPV6: u32 = 34525;
80f0b64547SRob Bradford pub const ETH_P_PAUSE: u32 = 34824;
81f0b64547SRob Bradford pub const ETH_P_SLOW: u32 = 34825;
82f0b64547SRob Bradford pub const ETH_P_WCCP: u32 = 34878;
83f0b64547SRob Bradford pub const ETH_P_MPLS_UC: u32 = 34887;
84f0b64547SRob Bradford pub const ETH_P_MPLS_MC: u32 = 34888;
85f0b64547SRob Bradford pub const ETH_P_ATMMPOA: u32 = 34892;
86f0b64547SRob Bradford pub const ETH_P_PPP_DISC: u32 = 34915;
87f0b64547SRob Bradford pub const ETH_P_PPP_SES: u32 = 34916;
88f0b64547SRob Bradford pub const ETH_P_LINK_CTL: u32 = 34924;
89f0b64547SRob Bradford pub const ETH_P_ATMFATE: u32 = 34948;
90f0b64547SRob Bradford pub const ETH_P_PAE: u32 = 34958;
91f0b64547SRob Bradford pub const ETH_P_AOE: u32 = 34978;
92f0b64547SRob Bradford pub const ETH_P_8021AD: u32 = 34984;
93f0b64547SRob Bradford pub const ETH_P_802_EX1: u32 = 34997;
94f0b64547SRob Bradford pub const ETH_P_PREAUTH: u32 = 35015;
95f0b64547SRob Bradford pub const ETH_P_TIPC: u32 = 35018;
96f0b64547SRob Bradford pub const ETH_P_LLDP: u32 = 35020;
97f0b64547SRob Bradford pub const ETH_P_MRP: u32 = 35043;
98f0b64547SRob Bradford pub const ETH_P_MACSEC: u32 = 35045;
99f0b64547SRob Bradford pub const ETH_P_8021AH: u32 = 35047;
100f0b64547SRob Bradford pub const ETH_P_MVRP: u32 = 35061;
101f0b64547SRob Bradford pub const ETH_P_1588: u32 = 35063;
102f0b64547SRob Bradford pub const ETH_P_NCSI: u32 = 35064;
103f0b64547SRob Bradford pub const ETH_P_PRP: u32 = 35067;
104f0b64547SRob Bradford pub const ETH_P_FCOE: u32 = 35078;
105f0b64547SRob Bradford pub const ETH_P_IBOE: u32 = 35093;
106f0b64547SRob Bradford pub const ETH_P_TDLS: u32 = 35085;
107f0b64547SRob Bradford pub const ETH_P_FIP: u32 = 35092;
108f0b64547SRob Bradford pub const ETH_P_80221: u32 = 35095;
109f0b64547SRob Bradford pub const ETH_P_HSR: u32 = 35119;
110f0b64547SRob Bradford pub const ETH_P_NSH: u32 = 35151;
111f0b64547SRob Bradford pub const ETH_P_LOOPBACK: u32 = 36864;
112f0b64547SRob Bradford pub const ETH_P_QINQ1: u32 = 37120;
113f0b64547SRob Bradford pub const ETH_P_QINQ2: u32 = 37376;
114f0b64547SRob Bradford pub const ETH_P_QINQ3: u32 = 37632;
115f0b64547SRob Bradford pub const ETH_P_EDSA: u32 = 56026;
116f0b64547SRob Bradford pub const ETH_P_DSA_8021Q: u32 = 56027;
117f0b64547SRob Bradford pub const ETH_P_IFE: u32 = 60734;
118f0b64547SRob Bradford pub const ETH_P_AF_IUCV: u32 = 64507;
119f0b64547SRob Bradford pub const ETH_P_802_3_MIN: u32 = 1536;
120f0b64547SRob Bradford pub const ETH_P_802_3: u32 = 1;
121f0b64547SRob Bradford pub const ETH_P_AX25: u32 = 2;
122f0b64547SRob Bradford pub const ETH_P_ALL: u32 = 3;
123f0b64547SRob Bradford pub const ETH_P_802_2: u32 = 4;
124f0b64547SRob Bradford pub const ETH_P_SNAP: u32 = 5;
125f0b64547SRob Bradford pub const ETH_P_DDCMP: u32 = 6;
126f0b64547SRob Bradford pub const ETH_P_WAN_PPP: u32 = 7;
127f0b64547SRob Bradford pub const ETH_P_PPP_MP: u32 = 8;
128f0b64547SRob Bradford pub const ETH_P_LOCALTALK: u32 = 9;
129f0b64547SRob Bradford pub const ETH_P_CAN: u32 = 12;
130f0b64547SRob Bradford pub const ETH_P_CANFD: u32 = 13;
131f0b64547SRob Bradford pub const ETH_P_PPPTALK: u32 = 16;
132f0b64547SRob Bradford pub const ETH_P_TR_802_2: u32 = 17;
133f0b64547SRob Bradford pub const ETH_P_MOBITEX: u32 = 21;
134f0b64547SRob Bradford pub const ETH_P_CONTROL: u32 = 22;
135f0b64547SRob Bradford pub const ETH_P_IRDA: u32 = 23;
136f0b64547SRob Bradford pub const ETH_P_ECONET: u32 = 24;
137f0b64547SRob Bradford pub const ETH_P_HDLC: u32 = 25;
138f0b64547SRob Bradford pub const ETH_P_ARCNET: u32 = 26;
139f0b64547SRob Bradford pub const ETH_P_DSA: u32 = 27;
140f0b64547SRob Bradford pub const ETH_P_TRAILER: u32 = 28;
141f0b64547SRob Bradford pub const ETH_P_PHONET: u32 = 245;
142f0b64547SRob Bradford pub const ETH_P_IEEE802154: u32 = 246;
143f0b64547SRob Bradford pub const ETH_P_CAIF: u32 = 247;
144f0b64547SRob Bradford pub const ETH_P_XDSA: u32 = 248;
145f0b64547SRob Bradford pub const ETH_P_MAP: u32 = 249;
146f0b64547SRob Bradford pub const __UAPI_DEF_ETHHDR: u32 = 1;
147f0b64547SRob Bradford pub const BPF_LD: u32 = 0;
148f0b64547SRob Bradford pub const BPF_LDX: u32 = 1;
149f0b64547SRob Bradford pub const BPF_ST: u32 = 2;
150f0b64547SRob Bradford pub const BPF_STX: u32 = 3;
151f0b64547SRob Bradford pub const BPF_ALU: u32 = 4;
152f0b64547SRob Bradford pub const BPF_JMP: u32 = 5;
153f0b64547SRob Bradford pub const BPF_RET: u32 = 6;
154f0b64547SRob Bradford pub const BPF_MISC: u32 = 7;
155f0b64547SRob Bradford pub const BPF_W: u32 = 0;
156f0b64547SRob Bradford pub const BPF_H: u32 = 8;
157f0b64547SRob Bradford pub const BPF_B: u32 = 16;
158f0b64547SRob Bradford pub const BPF_IMM: u32 = 0;
159f0b64547SRob Bradford pub const BPF_ABS: u32 = 32;
160f0b64547SRob Bradford pub const BPF_IND: u32 = 64;
161f0b64547SRob Bradford pub const BPF_MEM: u32 = 96;
162f0b64547SRob Bradford pub const BPF_LEN: u32 = 128;
163f0b64547SRob Bradford pub const BPF_MSH: u32 = 160;
164f0b64547SRob Bradford pub const BPF_ADD: u32 = 0;
165f0b64547SRob Bradford pub const BPF_SUB: u32 = 16;
166f0b64547SRob Bradford pub const BPF_MUL: u32 = 32;
167f0b64547SRob Bradford pub const BPF_DIV: u32 = 48;
168f0b64547SRob Bradford pub const BPF_OR: u32 = 64;
169f0b64547SRob Bradford pub const BPF_AND: u32 = 80;
170f0b64547SRob Bradford pub const BPF_LSH: u32 = 96;
171f0b64547SRob Bradford pub const BPF_RSH: u32 = 112;
172f0b64547SRob Bradford pub const BPF_NEG: u32 = 128;
173f0b64547SRob Bradford pub const BPF_MOD: u32 = 144;
174f0b64547SRob Bradford pub const BPF_XOR: u32 = 160;
175f0b64547SRob Bradford pub const BPF_JA: u32 = 0;
176f0b64547SRob Bradford pub const BPF_JEQ: u32 = 16;
177f0b64547SRob Bradford pub const BPF_JGT: u32 = 32;
178f0b64547SRob Bradford pub const BPF_JGE: u32 = 48;
179f0b64547SRob Bradford pub const BPF_JSET: u32 = 64;
180f0b64547SRob Bradford pub const BPF_K: u32 = 0;
181f0b64547SRob Bradford pub const BPF_X: u32 = 8;
182f0b64547SRob Bradford pub const BPF_MAXINSNS: u32 = 4096;
183f0b64547SRob Bradford pub const BPF_MAJOR_VERSION: u32 = 1;
184f0b64547SRob Bradford pub const BPF_MINOR_VERSION: u32 = 1;
185f0b64547SRob Bradford pub const BPF_A: u32 = 16;
186f0b64547SRob Bradford pub const BPF_TAX: u32 = 0;
187f0b64547SRob Bradford pub const BPF_TXA: u32 = 128;
188f0b64547SRob Bradford pub const BPF_MEMWORDS: u32 = 16;
189f0b64547SRob Bradford pub const SKF_AD_OFF: i32 = -4096;
190f0b64547SRob Bradford pub const SKF_AD_PROTOCOL: u32 = 0;
191f0b64547SRob Bradford pub const SKF_AD_PKTTYPE: u32 = 4;
192f0b64547SRob Bradford pub const SKF_AD_IFINDEX: u32 = 8;
193f0b64547SRob Bradford pub const SKF_AD_NLATTR: u32 = 12;
194f0b64547SRob Bradford pub const SKF_AD_NLATTR_NEST: u32 = 16;
195f0b64547SRob Bradford pub const SKF_AD_MARK: u32 = 20;
196f0b64547SRob Bradford pub const SKF_AD_QUEUE: u32 = 24;
197f0b64547SRob Bradford pub const SKF_AD_HATYPE: u32 = 28;
198f0b64547SRob Bradford pub const SKF_AD_RXHASH: u32 = 32;
199f0b64547SRob Bradford pub const SKF_AD_CPU: u32 = 36;
200f0b64547SRob Bradford pub const SKF_AD_ALU_XOR_X: u32 = 40;
201f0b64547SRob Bradford pub const SKF_AD_VLAN_TAG: u32 = 44;
202f0b64547SRob Bradford pub const SKF_AD_VLAN_TAG_PRESENT: u32 = 48;
203f0b64547SRob Bradford pub const SKF_AD_PAY_OFFSET: u32 = 52;
204f0b64547SRob Bradford pub const SKF_AD_RANDOM: u32 = 56;
205f0b64547SRob Bradford pub const SKF_AD_VLAN_TPID: u32 = 60;
206f0b64547SRob Bradford pub const SKF_AD_MAX: u32 = 64;
207f0b64547SRob Bradford pub const SKF_NET_OFF: i32 = -1048576;
208f0b64547SRob Bradford pub const SKF_LL_OFF: i32 = -2097152;
209f0b64547SRob Bradford pub const BPF_NET_OFF: i32 = -1048576;
210f0b64547SRob Bradford pub const BPF_LL_OFF: i32 = -2097152;
211f0b64547SRob Bradford pub const TUN_READQ_SIZE: u32 = 500;
212f0b64547SRob Bradford pub const TUN_TYPE_MASK: u32 = 15;
213f0b64547SRob Bradford pub const IFF_TUN: u32 = 1;
214f0b64547SRob Bradford pub const IFF_TAP: u32 = 2;
215f0b64547SRob Bradford pub const IFF_NAPI: u32 = 16;
216f0b64547SRob Bradford pub const IFF_NAPI_FRAGS: u32 = 32;
217f0b64547SRob Bradford pub const IFF_NO_PI: u32 = 4096;
218f0b64547SRob Bradford pub const IFF_ONE_QUEUE: u32 = 8192;
219f0b64547SRob Bradford pub const IFF_VNET_HDR: u32 = 16384;
220f0b64547SRob Bradford pub const IFF_TUN_EXCL: u32 = 32768;
221f0b64547SRob Bradford pub const IFF_MULTI_QUEUE: u32 = 256;
222f0b64547SRob Bradford pub const IFF_ATTACH_QUEUE: u32 = 512;
223f0b64547SRob Bradford pub const IFF_DETACH_QUEUE: u32 = 1024;
224f0b64547SRob Bradford pub const IFF_PERSIST: u32 = 2048;
225f0b64547SRob Bradford pub const IFF_NOFILTER: u32 = 4096;
226f0b64547SRob Bradford pub const TUN_TX_TIMESTAMP: u32 = 1;
227f0b64547SRob Bradford pub const TUN_F_CSUM: u32 = 1;
228f0b64547SRob Bradford pub const TUN_F_TSO4: u32 = 2;
229f0b64547SRob Bradford pub const TUN_F_TSO6: u32 = 4;
230f0b64547SRob Bradford pub const TUN_F_TSO_ECN: u32 = 8;
231f0b64547SRob Bradford pub const TUN_F_UFO: u32 = 16;
232f0b64547SRob Bradford pub const TUN_PKT_STRIP: u32 = 1;
233f0b64547SRob Bradford pub const TUN_FLT_ALLMULTI: u32 = 1;
23453f52954SSebastien Boeuf pub type __s8 = ::std::os::raw::c_schar;
23553f52954SSebastien Boeuf pub type __u8 = ::std::os::raw::c_uchar;
23653f52954SSebastien Boeuf pub type __s16 = ::std::os::raw::c_short;
23753f52954SSebastien Boeuf pub type __u16 = ::std::os::raw::c_ushort;
23853f52954SSebastien Boeuf pub type __s32 = ::std::os::raw::c_int;
23953f52954SSebastien Boeuf pub type __u32 = ::std::os::raw::c_uint;
24053f52954SSebastien Boeuf pub type __s64 = ::std::os::raw::c_longlong;
24153f52954SSebastien Boeuf pub type __u64 = ::std::os::raw::c_ulonglong;
24253f52954SSebastien Boeuf #[repr(C)]
243f0b64547SRob Bradford #[derive(Debug, Copy, Clone)]
24453f52954SSebastien Boeuf pub struct __kernel_fd_set {
24553f52954SSebastien Boeuf     pub fds_bits: [::std::os::raw::c_ulong; 16usize],
24653f52954SSebastien Boeuf }
24753f52954SSebastien Boeuf pub type __kernel_sighandler_t =
24853f52954SSebastien Boeuf     ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
24953f52954SSebastien Boeuf pub type __kernel_key_t = ::std::os::raw::c_int;
25053f52954SSebastien Boeuf pub type __kernel_mqd_t = ::std::os::raw::c_int;
25153f52954SSebastien Boeuf pub type __kernel_old_uid_t = ::std::os::raw::c_ushort;
25253f52954SSebastien Boeuf pub type __kernel_old_gid_t = ::std::os::raw::c_ushort;
25353f52954SSebastien Boeuf pub type __kernel_old_dev_t = ::std::os::raw::c_ulong;
25453f52954SSebastien Boeuf pub type __kernel_long_t = ::std::os::raw::c_long;
25553f52954SSebastien Boeuf pub type __kernel_ulong_t = ::std::os::raw::c_ulong;
25653f52954SSebastien Boeuf pub type __kernel_ino_t = __kernel_ulong_t;
25753f52954SSebastien Boeuf pub type __kernel_mode_t = ::std::os::raw::c_uint;
25853f52954SSebastien Boeuf pub type __kernel_pid_t = ::std::os::raw::c_int;
25953f52954SSebastien Boeuf pub type __kernel_ipc_pid_t = ::std::os::raw::c_int;
26053f52954SSebastien Boeuf pub type __kernel_uid_t = ::std::os::raw::c_uint;
26153f52954SSebastien Boeuf pub type __kernel_gid_t = ::std::os::raw::c_uint;
26253f52954SSebastien Boeuf pub type __kernel_suseconds_t = __kernel_long_t;
26353f52954SSebastien Boeuf pub type __kernel_daddr_t = ::std::os::raw::c_int;
26453f52954SSebastien Boeuf pub type __kernel_uid32_t = ::std::os::raw::c_uint;
26553f52954SSebastien Boeuf pub type __kernel_gid32_t = ::std::os::raw::c_uint;
26653f52954SSebastien Boeuf pub type __kernel_size_t = __kernel_ulong_t;
26753f52954SSebastien Boeuf pub type __kernel_ssize_t = __kernel_long_t;
26853f52954SSebastien Boeuf pub type __kernel_ptrdiff_t = __kernel_long_t;
26953f52954SSebastien Boeuf #[repr(C)]
270f0b64547SRob Bradford #[derive(Debug, Copy, Clone)]
27153f52954SSebastien Boeuf pub struct __kernel_fsid_t {
27253f52954SSebastien Boeuf     pub val: [::std::os::raw::c_int; 2usize],
27353f52954SSebastien Boeuf }
27453f52954SSebastien Boeuf pub type __kernel_off_t = __kernel_long_t;
27553f52954SSebastien Boeuf pub type __kernel_loff_t = ::std::os::raw::c_longlong;
276f0b64547SRob Bradford pub type __kernel_old_time_t = __kernel_long_t;
27753f52954SSebastien Boeuf pub type __kernel_time_t = __kernel_long_t;
278f0b64547SRob Bradford pub type __kernel_time64_t = ::std::os::raw::c_longlong;
27953f52954SSebastien Boeuf pub type __kernel_clock_t = __kernel_long_t;
28053f52954SSebastien Boeuf pub type __kernel_timer_t = ::std::os::raw::c_int;
28153f52954SSebastien Boeuf pub type __kernel_clockid_t = ::std::os::raw::c_int;
28253f52954SSebastien Boeuf pub type __kernel_caddr_t = *mut ::std::os::raw::c_char;
28353f52954SSebastien Boeuf pub type __kernel_uid16_t = ::std::os::raw::c_ushort;
28453f52954SSebastien Boeuf pub type __kernel_gid16_t = ::std::os::raw::c_ushort;
28553f52954SSebastien Boeuf pub type __le16 = __u16;
28653f52954SSebastien Boeuf pub type __be16 = __u16;
28753f52954SSebastien Boeuf pub type __le32 = __u32;
28853f52954SSebastien Boeuf pub type __be32 = __u32;
28953f52954SSebastien Boeuf pub type __le64 = __u64;
29053f52954SSebastien Boeuf pub type __be64 = __u64;
29153f52954SSebastien Boeuf pub type __sum16 = __u16;
29253f52954SSebastien Boeuf pub type __wsum = __u32;
293f0b64547SRob Bradford pub type __poll_t = ::std::os::raw::c_uint;
29453f52954SSebastien Boeuf #[repr(C, packed)]
295f0b64547SRob Bradford #[derive(Debug, Copy, Clone)]
29653f52954SSebastien Boeuf pub struct ethhdr {
29753f52954SSebastien Boeuf     pub h_dest: [::std::os::raw::c_uchar; 6usize],
29853f52954SSebastien Boeuf     pub h_source: [::std::os::raw::c_uchar; 6usize],
29953f52954SSebastien Boeuf     pub h_proto: __be16,
30053f52954SSebastien Boeuf }
30153f52954SSebastien Boeuf #[repr(C)]
302f0b64547SRob Bradford #[derive(Debug, Copy, Clone)]
30353f52954SSebastien Boeuf pub struct sock_filter {
30453f52954SSebastien Boeuf     pub code: __u16,
30553f52954SSebastien Boeuf     pub jt: __u8,
30653f52954SSebastien Boeuf     pub jf: __u8,
30753f52954SSebastien Boeuf     pub k: __u32,
30853f52954SSebastien Boeuf }
30953f52954SSebastien Boeuf #[repr(C)]
310f0b64547SRob Bradford #[derive(Debug, Copy, Clone)]
31153f52954SSebastien Boeuf pub struct sock_fprog {
31253f52954SSebastien Boeuf     pub len: ::std::os::raw::c_ushort,
31353f52954SSebastien Boeuf     pub filter: *mut sock_filter,
31453f52954SSebastien Boeuf }
31553f52954SSebastien Boeuf #[repr(C)]
316f0b64547SRob Bradford #[derive(Debug, Copy, Clone)]
31753f52954SSebastien Boeuf pub struct tun_pi {
31853f52954SSebastien Boeuf     pub flags: __u16,
31953f52954SSebastien Boeuf     pub proto: __be16,
32053f52954SSebastien Boeuf }
32153f52954SSebastien Boeuf #[repr(C)]
322f0b64547SRob Bradford #[derive(Debug)]
32353f52954SSebastien Boeuf pub struct tun_filter {
32453f52954SSebastien Boeuf     pub flags: __u16,
32553f52954SSebastien Boeuf     pub count: __u16,
32653f52954SSebastien Boeuf     pub addr: __IncompleteArrayField<[__u8; 6usize]>,
32753f52954SSebastien Boeuf }
328