xref: /cloud-hypervisor/net_gen/src/ipv6.rs (revision dce82a34d06b200be8f336788d7421608a74e95d)
1*dce82a34SGregory Anders // Copyright © 2025 Cloud Hypervisor Authors
2*dce82a34SGregory Anders //
3*dce82a34SGregory Anders // SPDX-License-Identifier: Apache-2.0
4*dce82a34SGregory Anders 
5*dce82a34SGregory Anders // bindgen /usr/include/linux/ipv6.h --no-layout-tests --constified-enum '*' --allowlist-type 'sockaddr_in6|in6_ifreq'
6*dce82a34SGregory Anders 
7*dce82a34SGregory Anders /* automatically generated by rust-bindgen 0.71.1 */
8*dce82a34SGregory Anders 
9*dce82a34SGregory Anders pub type __u8 = ::std::os::raw::c_uchar;
10*dce82a34SGregory Anders pub type __u16 = ::std::os::raw::c_ushort;
11*dce82a34SGregory Anders pub type __u32 = ::std::os::raw::c_uint;
12*dce82a34SGregory Anders pub type __be16 = __u16;
13*dce82a34SGregory Anders pub type __be32 = __u32;
14*dce82a34SGregory Anders #[repr(C)]
15*dce82a34SGregory Anders #[derive(Copy, Clone)]
16*dce82a34SGregory Anders pub struct in6_addr {
17*dce82a34SGregory Anders     pub in6_u: in6_addr__bindgen_ty_1,
18*dce82a34SGregory Anders }
19*dce82a34SGregory Anders #[repr(C)]
20*dce82a34SGregory Anders #[derive(Copy, Clone)]
21*dce82a34SGregory Anders pub union in6_addr__bindgen_ty_1 {
22*dce82a34SGregory Anders     pub u6_addr8: [__u8; 16usize],
23*dce82a34SGregory Anders     pub u6_addr16: [__be16; 8usize],
24*dce82a34SGregory Anders     pub u6_addr32: [__be32; 4usize],
25*dce82a34SGregory Anders }
26*dce82a34SGregory Anders #[repr(C)]
27*dce82a34SGregory Anders #[derive(Copy, Clone)]
28*dce82a34SGregory Anders pub struct sockaddr_in6 {
29*dce82a34SGregory Anders     pub sin6_family: ::std::os::raw::c_ushort,
30*dce82a34SGregory Anders     pub sin6_port: __be16,
31*dce82a34SGregory Anders     pub sin6_flowinfo: __be32,
32*dce82a34SGregory Anders     pub sin6_addr: in6_addr,
33*dce82a34SGregory Anders     pub sin6_scope_id: __u32,
34*dce82a34SGregory Anders }
35*dce82a34SGregory Anders #[repr(C)]
36*dce82a34SGregory Anders #[derive(Copy, Clone)]
37*dce82a34SGregory Anders pub struct in6_ifreq {
38*dce82a34SGregory Anders     pub ifr6_addr: in6_addr,
39*dce82a34SGregory Anders     pub ifr6_prefixlen: __u32,
40*dce82a34SGregory Anders     pub ifr6_ifindex: ::std::os::raw::c_int,
41*dce82a34SGregory Anders }
42