summaryrefslogtreecommitdiff
path: root/tests/expectations/struct_with_bitfields.rs
blob: 26003ebda6280ace63af7e950e80020ec39da19a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
/* automatically generated by rust-bindgen */


#![feature(const_fn)]
#![allow(non_snake_case)]


#[repr(C)]
#[derive(Debug, Copy)]
pub struct Struct_bitfield {
    pub _bitfield_1: ::std::os::raw::c_ushort,
    pub e: ::std::os::raw::c_int,
    pub _bitfield_2: ::std::os::raw::c_uint,
    pub _bitfield_3: ::std::os::raw::c_uint,
}
impl Struct_bitfield {
    #[inline]
    pub fn a(&self) -> ::std::os::raw::c_ushort {
        (self._bitfield_1 & (1usize as ::std::os::raw::c_ushort)) >> 0usize
    }
    #[inline]
    pub fn set_a(&mut self, val: bool) {
        self._bitfield_1 &= !(1usize as ::std::os::raw::c_ushort);
        self._bitfield_1 |=
            ((val as ::std::os::raw::c_ushort) << 0usize) &
                (1usize as ::std::os::raw::c_ushort);
    }
    #[inline]
    pub fn b(&self) -> ::std::os::raw::c_ushort {
        (self._bitfield_1 & (2usize as ::std::os::raw::c_ushort)) >> 1usize
    }
    #[inline]
    pub fn set_b(&mut self, val: bool) {
        self._bitfield_1 &= !(2usize as ::std::os::raw::c_ushort);
        self._bitfield_1 |=
            ((val as ::std::os::raw::c_ushort) << 1usize) &
                (2usize as ::std::os::raw::c_ushort);
    }
    #[inline]
    pub fn c(&self) -> ::std::os::raw::c_ushort {
        (self._bitfield_1 & (4usize as ::std::os::raw::c_ushort)) >> 2usize
    }
    #[inline]
    pub fn set_c(&mut self, val: bool) {
        self._bitfield_1 &= !(4usize as ::std::os::raw::c_ushort);
        self._bitfield_1 |=
            ((val as ::std::os::raw::c_ushort) << 2usize) &
                (4usize as ::std::os::raw::c_ushort);
    }
    #[inline]
    pub fn at_offset_3(&self) -> ::std::os::raw::c_ushort {
        (self._bitfield_1 & (8usize as ::std::os::raw::c_ushort)) >> 3usize
    }
    #[inline]
    pub fn set_at_offset_3(&mut self, val: bool) {
        self._bitfield_1 &= !(8usize as ::std::os::raw::c_ushort);
        self._bitfield_1 |=
            ((val as ::std::os::raw::c_ushort) << 3usize) &
                (8usize as ::std::os::raw::c_ushort);
    }
    #[inline]
    pub fn at_offset_4(&self) -> ::std::os::raw::c_ushort {
        (self._bitfield_1 & (48usize as ::std::os::raw::c_ushort)) >> 4usize
    }
    #[inline]
    pub fn set_at_offset_4(&mut self, val: u8) {
        self._bitfield_1 &= !(48usize as ::std::os::raw::c_ushort);
        self._bitfield_1 |=
            ((val as ::std::os::raw::c_ushort) << 4usize) &
                (48usize as ::std::os::raw::c_ushort);
    }
    #[inline]
    pub fn d(&self) -> ::std::os::raw::c_ushort {
        (self._bitfield_1 & (192usize as ::std::os::raw::c_ushort)) >> 6usize
    }
    #[inline]
    pub fn set_d(&mut self, val: u8) {
        self._bitfield_1 &= !(192usize as ::std::os::raw::c_ushort);
        self._bitfield_1 |=
            ((val as ::std::os::raw::c_ushort) << 6usize) &
                (192usize as ::std::os::raw::c_ushort);
    }
    pub const fn new_bitfield_1(a: bool, b: bool, c: bool,
                                unnamed_bitfield1: bool,
                                unnamed_bitfield2: u8, d: u8)
     -> ::std::os::raw::c_ushort {
        0 | ((a as ::std::os::raw::c_ushort) << 0u32) |
            ((b as ::std::os::raw::c_ushort) << 1u32) |
            ((c as ::std::os::raw::c_ushort) << 2u32) |
            ((unnamed_bitfield1 as ::std::os::raw::c_ushort) << 3u32) |
            ((unnamed_bitfield2 as ::std::os::raw::c_ushort) << 4u32) |
            ((d as ::std::os::raw::c_ushort) << 6u32)
    }
    #[inline]
    pub fn f(&self) -> ::std::os::raw::c_uint {
        (self._bitfield_2 & (3usize as ::std::os::raw::c_uint)) >> 0usize
    }
    #[inline]
    pub fn set_f(&mut self, val: u8) {
        self._bitfield_2 &= !(3usize as ::std::os::raw::c_uint);
        self._bitfield_2 |=
            ((val as ::std::os::raw::c_uint) << 0usize) &
                (3usize as ::std::os::raw::c_uint);
    }
    pub const fn new_bitfield_2(f: u8) -> ::std::os::raw::c_uint {
        0 | ((f as ::std::os::raw::c_uint) << 0u32)
    }
    #[inline]
    pub fn g(&self) -> ::std::os::raw::c_uint {
        (self._bitfield_3 & (4294967295usize as ::std::os::raw::c_uint)) >>
            0usize
    }
    #[inline]
    pub fn set_g(&mut self, val: u32) {
        self._bitfield_3 &= !(4294967295usize as ::std::os::raw::c_uint);
        self._bitfield_3 |=
            ((val as ::std::os::raw::c_uint) << 0usize) &
                (4294967295usize as ::std::os::raw::c_uint);
    }
    pub const fn new_bitfield_3(g: u32) -> ::std::os::raw::c_uint {
        0 | ((g as ::std::os::raw::c_uint) << 0u32)
    }
}
impl ::std::clone::Clone for Struct_bitfield {
    fn clone(&self) -> Self { *self }
}
#[test]
fn bindgen_test_layout_Struct_bitfield() {
    assert_eq!(::std::mem::size_of::<Struct_bitfield>() , 16usize);
    assert_eq!(::std::mem::align_of::<Struct_bitfield>() , 4usize);
}