Skip to main content

gnu_units_sys/gen/
bindings.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6    storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9    #[inline]
10    pub const fn new(storage: Storage) -> Self {
11        Self { storage }
12    }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16    Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18    #[inline]
19    fn extract_bit(byte: u8, index: usize) -> bool {
20        let bit_index = if cfg!(target_endian = "big") {
21            7 - (index % 8)
22        } else {
23            index % 8
24        };
25        let mask = 1 << bit_index;
26        byte & mask == mask
27    }
28    #[inline]
29    pub fn get_bit(&self, index: usize) -> bool {
30        debug_assert!(index / 8 < self.storage.as_ref().len());
31        let byte_index = index / 8;
32        let byte = self.storage.as_ref()[byte_index];
33        Self::extract_bit(byte, index)
34    }
35    #[inline]
36    pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
37        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
38        let byte_index = index / 8;
39        let byte = unsafe {
40            *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
41        };
42        Self::extract_bit(byte, index)
43    }
44    #[inline]
45    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
46        let bit_index = if cfg!(target_endian = "big") {
47            7 - (index % 8)
48        } else {
49            index % 8
50        };
51        let mask = 1 << bit_index;
52        if val { byte | mask } else { byte & !mask }
53    }
54    #[inline]
55    pub fn set_bit(&mut self, index: usize, val: bool) {
56        debug_assert!(index / 8 < self.storage.as_ref().len());
57        let byte_index = index / 8;
58        let byte = &mut self.storage.as_mut()[byte_index];
59        *byte = Self::change_bit(*byte, index, val);
60    }
61    #[inline]
62    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
63        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
64        let byte_index = index / 8;
65        let byte = unsafe {
66            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
67        };
68        unsafe { *byte = Self::change_bit(*byte, index, val) };
69    }
70    #[inline]
71    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
72        debug_assert!(bit_width <= 64);
73        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
74        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
75        let mut val = 0;
76        for i in 0..(bit_width as usize) {
77            if self.get_bit(i + bit_offset) {
78                let index = if cfg!(target_endian = "big") {
79                    bit_width as usize - 1 - i
80                } else {
81                    i
82                };
83                val |= 1 << index;
84            }
85        }
86        val
87    }
88    #[inline]
89    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
90        debug_assert!(bit_width <= 64);
91        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
92        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
93        let mut val = 0;
94        for i in 0..(bit_width as usize) {
95            if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
96                let index = if cfg!(target_endian = "big") {
97                    bit_width as usize - 1 - i
98                } else {
99                    i
100                };
101                val |= 1 << index;
102            }
103        }
104        val
105    }
106    #[inline]
107    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
108        debug_assert!(bit_width <= 64);
109        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
110        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
111        for i in 0..(bit_width as usize) {
112            let mask = 1 << i;
113            let val_bit_is_set = val & mask == mask;
114            let index = if cfg!(target_endian = "big") {
115                bit_width as usize - 1 - i
116            } else {
117                i
118            };
119            self.set_bit(index + bit_offset, val_bit_is_set);
120        }
121    }
122    #[inline]
123    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
124        debug_assert!(bit_width <= 64);
125        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
126        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
127        for i in 0..(bit_width as usize) {
128            let mask = 1 << i;
129            let val_bit_is_set = val & mask == mask;
130            let index = if cfg!(target_endian = "big") {
131                bit_width as usize - 1 - i
132            } else {
133                i
134            };
135            unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
136        }
137    }
138}
139pub const E_NORMAL: u32 = 0;
140pub const E_PARSE: u32 = 1;
141pub const E_PRODOVERFLOW: u32 = 2;
142pub const E_REDUCE: u32 = 3;
143pub const E_CIRCULARDEF: u32 = 4;
144pub const E_BADSUM: u32 = 5;
145pub const E_NOTANUMBER: u32 = 6;
146pub const E_NOTROOT: u32 = 7;
147pub const E_UNKNOWNUNIT: u32 = 8;
148pub const E_FUNC: u32 = 9;
149pub const E_BADFUNCTYPE: u32 = 10;
150pub const E_BADFUNCARG: u32 = 11;
151pub const E_NOTINDOMAIN: u32 = 12;
152pub const E_BADFUNCDIMEN: u32 = 13;
153pub const E_NOINVERSE: u32 = 14;
154pub const E_PARSEMEM: u32 = 15;
155pub const E_FUNARGDEF: u32 = 16;
156pub const E_FILE: u32 = 17;
157pub const E_BADFILE: u32 = 18;
158pub const E_MEMORY: u32 = 19;
159pub const E_BADNUM: u32 = 20;
160pub const E_UNITEND: u32 = 21;
161pub const E_LASTUNSET: u32 = 22;
162pub const E_IRRATIONAL_EXPONENT: u32 = 23;
163pub const E_BASE_NOTROOT: u32 = 24;
164pub const E_DIMEXPONENT: u32 = 25;
165pub const E_NOTAFUNC: u32 = 26;
166pub const E_OVERFLOW: u32 = 27;
167pub const E_UNDERFLOW: u32 = 28;
168pub const E_TOOMANYARGS: u32 = 29;
169pub const E_TOOFEWARGS: u32 = 30;
170pub const E_ARGSNOFUNC: u32 = 31;
171pub const E_BADCOMPOPERATOR: u32 = 32;
172pub const E_BADCOMP: u32 = 33;
173pub const MAXSUBUNITS: u32 = 100;
174pub const COMP_LT: u32 = 1;
175pub const COMP_GT: u32 = 2;
176pub const COMP_EQ: u32 = 3;
177pub const COMP_GTE: u32 = 4;
178pub const COMP_LTE: u32 = 5;
179pub const MAX_FUNC_PARAMS: u32 = 20;
180pub type __uint64_t = ::std::os::raw::c_ulong;
181pub type __off_t = ::std::os::raw::c_long;
182pub type __off64_t = ::std::os::raw::c_long;
183unsafe extern "C" {
184    pub static mut NULLUNIT: *mut ::std::os::raw::c_char;
185}
186#[repr(C)]
187#[derive(Debug, Copy, Clone)]
188pub struct unittype {
189    pub numerator: [*mut ::std::os::raw::c_char; 100usize],
190    pub denominator: [*mut ::std::os::raw::c_char; 100usize],
191    pub factor: f64,
192}
193#[allow(clippy::unnecessary_operation, clippy::identity_op)]
194const _: () = {
195    ["Size of unittype"][::std::mem::size_of::<unittype>() - 1608usize];
196    ["Alignment of unittype"][::std::mem::align_of::<unittype>() - 8usize];
197    ["Offset of field: unittype::numerator"][::std::mem::offset_of!(unittype, numerator) - 0usize];
198    ["Offset of field: unittype::denominator"]
199        [::std::mem::offset_of!(unittype, denominator) - 800usize];
200    ["Offset of field: unittype::factor"][::std::mem::offset_of!(unittype, factor) - 1600usize];
201};
202#[repr(C)]
203#[derive(Debug, Copy, Clone)]
204pub struct interval {
205    pub min: f64,
206    pub max: f64,
207    pub min_open: ::std::os::raw::c_int,
208    pub max_open: ::std::os::raw::c_int,
209}
210#[allow(clippy::unnecessary_operation, clippy::identity_op)]
211const _: () = {
212    ["Size of interval"][::std::mem::size_of::<interval>() - 24usize];
213    ["Alignment of interval"][::std::mem::align_of::<interval>() - 8usize];
214    ["Offset of field: interval::min"][::std::mem::offset_of!(interval, min) - 0usize];
215    ["Offset of field: interval::max"][::std::mem::offset_of!(interval, max) - 8usize];
216    ["Offset of field: interval::min_open"][::std::mem::offset_of!(interval, min_open) - 16usize];
217    ["Offset of field: interval::max_open"][::std::mem::offset_of!(interval, max_open) - 20usize];
218};
219#[repr(C)]
220#[derive(Debug, Copy, Clone)]
221pub struct functype {
222    pub param_count: ::std::os::raw::c_int,
223    pub param: *mut *mut ::std::os::raw::c_char,
224    pub def: *mut ::std::os::raw::c_char,
225    pub dimen: *mut *mut ::std::os::raw::c_char,
226    pub domain: *mut interval,
227}
228#[allow(clippy::unnecessary_operation, clippy::identity_op)]
229const _: () = {
230    ["Size of functype"][::std::mem::size_of::<functype>() - 40usize];
231    ["Alignment of functype"][::std::mem::align_of::<functype>() - 8usize];
232    ["Offset of field: functype::param_count"]
233        [::std::mem::offset_of!(functype, param_count) - 0usize];
234    ["Offset of field: functype::param"][::std::mem::offset_of!(functype, param) - 8usize];
235    ["Offset of field: functype::def"][::std::mem::offset_of!(functype, def) - 16usize];
236    ["Offset of field: functype::dimen"][::std::mem::offset_of!(functype, dimen) - 24usize];
237    ["Offset of field: functype::domain"][::std::mem::offset_of!(functype, domain) - 32usize];
238};
239#[repr(C)]
240#[derive(Debug, Copy, Clone)]
241pub struct pair {
242    pub location: f64,
243    pub value: f64,
244}
245#[allow(clippy::unnecessary_operation, clippy::identity_op)]
246const _: () = {
247    ["Size of pair"][::std::mem::size_of::<pair>() - 16usize];
248    ["Alignment of pair"][::std::mem::align_of::<pair>() - 8usize];
249    ["Offset of field: pair::location"][::std::mem::offset_of!(pair, location) - 0usize];
250    ["Offset of field: pair::value"][::std::mem::offset_of!(pair, value) - 8usize];
251};
252#[repr(C)]
253#[derive(Debug, Copy, Clone)]
254pub struct func {
255    pub name: *mut ::std::os::raw::c_char,
256    pub forward: functype,
257    pub inverse: functype,
258    pub table: *mut pair,
259    pub tablelen: ::std::os::raw::c_int,
260    pub tableunit: *mut ::std::os::raw::c_char,
261    pub next: *mut func,
262    pub skip_error_check: ::std::os::raw::c_int,
263    pub linenumber: ::std::os::raw::c_int,
264    pub file: *mut ::std::os::raw::c_char,
265}
266#[allow(clippy::unnecessary_operation, clippy::identity_op)]
267const _: () = {
268    ["Size of func"][::std::mem::size_of::<func>() - 136usize];
269    ["Alignment of func"][::std::mem::align_of::<func>() - 8usize];
270    ["Offset of field: func::name"][::std::mem::offset_of!(func, name) - 0usize];
271    ["Offset of field: func::forward"][::std::mem::offset_of!(func, forward) - 8usize];
272    ["Offset of field: func::inverse"][::std::mem::offset_of!(func, inverse) - 48usize];
273    ["Offset of field: func::table"][::std::mem::offset_of!(func, table) - 88usize];
274    ["Offset of field: func::tablelen"][::std::mem::offset_of!(func, tablelen) - 96usize];
275    ["Offset of field: func::tableunit"][::std::mem::offset_of!(func, tableunit) - 104usize];
276    ["Offset of field: func::next"][::std::mem::offset_of!(func, next) - 112usize];
277    ["Offset of field: func::skip_error_check"]
278        [::std::mem::offset_of!(func, skip_error_check) - 120usize];
279    ["Offset of field: func::linenumber"][::std::mem::offset_of!(func, linenumber) - 124usize];
280    ["Offset of field: func::file"][::std::mem::offset_of!(func, file) - 128usize];
281};
282#[repr(C)]
283#[derive(Debug, Copy, Clone)]
284pub struct parseflag {
285    pub oldstar: ::std::os::raw::c_int,
286    pub minusminus: ::std::os::raw::c_int,
287}
288#[allow(clippy::unnecessary_operation, clippy::identity_op)]
289const _: () = {
290    ["Size of parseflag"][::std::mem::size_of::<parseflag>() - 8usize];
291    ["Alignment of parseflag"][::std::mem::align_of::<parseflag>() - 4usize];
292    ["Offset of field: parseflag::oldstar"][::std::mem::offset_of!(parseflag, oldstar) - 0usize];
293    ["Offset of field: parseflag::minusminus"]
294        [::std::mem::offset_of!(parseflag, minusminus) - 4usize];
295};
296unsafe extern "C" {
297    pub static mut lastunitset: ::std::os::raw::c_int;
298}
299unsafe extern "C" {
300    pub static mut lastunit: unittype;
301}
302unsafe extern "C" {
303    pub fn initializeunit(theunit: *mut unittype);
304}
305unsafe extern "C" {
306    pub fn freeunit(theunit: *mut unittype);
307}
308unsafe extern "C" {
309    pub fn unitcopy(dest: *mut unittype, src: *mut unittype);
310}
311unsafe extern "C" {
312    pub fn divunit(left: *mut unittype, right: *mut unittype) -> ::std::os::raw::c_int;
313}
314unsafe extern "C" {
315    pub fn invertunit(theunit: *mut unittype);
316}
317unsafe extern "C" {
318    pub fn multunit(left: *mut unittype, right: *mut unittype) -> ::std::os::raw::c_int;
319}
320unsafe extern "C" {
321    pub fn expunit(theunit: *mut unittype, power: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
322}
323unsafe extern "C" {
324    pub fn addunit(unita: *mut unittype, unitb: *mut unittype) -> ::std::os::raw::c_int;
325}
326unsafe extern "C" {
327    pub fn rootunit(inunit: *mut unittype, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
328}
329unsafe extern "C" {
330    pub fn unit2num(input: *mut unittype) -> ::std::os::raw::c_int;
331}
332unsafe extern "C" {
333    pub fn fnlookup(str_: *const ::std::os::raw::c_char) -> *mut func;
334}
335unsafe extern "C" {
336    pub fn evalfunc(
337        param_count: ::std::os::raw::c_int,
338        theunitlist: *mut *mut unittype,
339        infunc: *mut func,
340        inverse: ::std::os::raw::c_int,
341        allerror: ::std::os::raw::c_int,
342    ) -> ::std::os::raw::c_int;
343}
344unsafe extern "C" {
345    pub fn parseunit(
346        output: *mut unittype,
347        input: *const ::std::os::raw::c_char,
348        errstr: *mut *mut ::std::os::raw::c_char,
349        errloc: *mut ::std::os::raw::c_int,
350    ) -> ::std::os::raw::c_int;
351}
352pub type FILE = _IO_FILE;
353#[repr(C)]
354#[derive(Debug, Copy, Clone)]
355pub struct _IO_marker {
356    _unused: [u8; 0],
357}
358#[repr(C)]
359#[derive(Debug, Copy, Clone)]
360pub struct _IO_codecvt {
361    _unused: [u8; 0],
362}
363#[repr(C)]
364#[derive(Debug, Copy, Clone)]
365pub struct _IO_wide_data {
366    _unused: [u8; 0],
367}
368pub type _IO_lock_t = ::std::os::raw::c_void;
369#[repr(C)]
370#[derive(Debug, Copy, Clone)]
371pub struct _IO_FILE {
372    pub _flags: ::std::os::raw::c_int,
373    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
374    pub _IO_read_end: *mut ::std::os::raw::c_char,
375    pub _IO_read_base: *mut ::std::os::raw::c_char,
376    pub _IO_write_base: *mut ::std::os::raw::c_char,
377    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
378    pub _IO_write_end: *mut ::std::os::raw::c_char,
379    pub _IO_buf_base: *mut ::std::os::raw::c_char,
380    pub _IO_buf_end: *mut ::std::os::raw::c_char,
381    pub _IO_save_base: *mut ::std::os::raw::c_char,
382    pub _IO_backup_base: *mut ::std::os::raw::c_char,
383    pub _IO_save_end: *mut ::std::os::raw::c_char,
384    pub _markers: *mut _IO_marker,
385    pub _chain: *mut _IO_FILE,
386    pub _fileno: ::std::os::raw::c_int,
387    pub _bitfield_align_1: [u32; 0],
388    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
389    pub _short_backupbuf: [::std::os::raw::c_char; 1usize],
390    pub _old_offset: __off_t,
391    pub _cur_column: ::std::os::raw::c_ushort,
392    pub _vtable_offset: ::std::os::raw::c_schar,
393    pub _shortbuf: [::std::os::raw::c_char; 1usize],
394    pub _lock: *mut _IO_lock_t,
395    pub _offset: __off64_t,
396    pub _codecvt: *mut _IO_codecvt,
397    pub _wide_data: *mut _IO_wide_data,
398    pub _freeres_list: *mut _IO_FILE,
399    pub _freeres_buf: *mut ::std::os::raw::c_void,
400    pub _prevchain: *mut *mut _IO_FILE,
401    pub _mode: ::std::os::raw::c_int,
402    pub _unused3: ::std::os::raw::c_int,
403    pub _total_written: __uint64_t,
404    pub _unused2: [::std::os::raw::c_char; 8usize],
405}
406#[allow(clippy::unnecessary_operation, clippy::identity_op)]
407const _: () = {
408    ["Size of _IO_FILE"][::std::mem::size_of::<_IO_FILE>() - 216usize];
409    ["Alignment of _IO_FILE"][::std::mem::align_of::<_IO_FILE>() - 8usize];
410    ["Offset of field: _IO_FILE::_flags"][::std::mem::offset_of!(_IO_FILE, _flags) - 0usize];
411    ["Offset of field: _IO_FILE::_IO_read_ptr"]
412        [::std::mem::offset_of!(_IO_FILE, _IO_read_ptr) - 8usize];
413    ["Offset of field: _IO_FILE::_IO_read_end"]
414        [::std::mem::offset_of!(_IO_FILE, _IO_read_end) - 16usize];
415    ["Offset of field: _IO_FILE::_IO_read_base"]
416        [::std::mem::offset_of!(_IO_FILE, _IO_read_base) - 24usize];
417    ["Offset of field: _IO_FILE::_IO_write_base"]
418        [::std::mem::offset_of!(_IO_FILE, _IO_write_base) - 32usize];
419    ["Offset of field: _IO_FILE::_IO_write_ptr"]
420        [::std::mem::offset_of!(_IO_FILE, _IO_write_ptr) - 40usize];
421    ["Offset of field: _IO_FILE::_IO_write_end"]
422        [::std::mem::offset_of!(_IO_FILE, _IO_write_end) - 48usize];
423    ["Offset of field: _IO_FILE::_IO_buf_base"]
424        [::std::mem::offset_of!(_IO_FILE, _IO_buf_base) - 56usize];
425    ["Offset of field: _IO_FILE::_IO_buf_end"]
426        [::std::mem::offset_of!(_IO_FILE, _IO_buf_end) - 64usize];
427    ["Offset of field: _IO_FILE::_IO_save_base"]
428        [::std::mem::offset_of!(_IO_FILE, _IO_save_base) - 72usize];
429    ["Offset of field: _IO_FILE::_IO_backup_base"]
430        [::std::mem::offset_of!(_IO_FILE, _IO_backup_base) - 80usize];
431    ["Offset of field: _IO_FILE::_IO_save_end"]
432        [::std::mem::offset_of!(_IO_FILE, _IO_save_end) - 88usize];
433    ["Offset of field: _IO_FILE::_markers"][::std::mem::offset_of!(_IO_FILE, _markers) - 96usize];
434    ["Offset of field: _IO_FILE::_chain"][::std::mem::offset_of!(_IO_FILE, _chain) - 104usize];
435    ["Offset of field: _IO_FILE::_fileno"][::std::mem::offset_of!(_IO_FILE, _fileno) - 112usize];
436    ["Offset of field: _IO_FILE::_short_backupbuf"]
437        [::std::mem::offset_of!(_IO_FILE, _short_backupbuf) - 119usize];
438    ["Offset of field: _IO_FILE::_old_offset"]
439        [::std::mem::offset_of!(_IO_FILE, _old_offset) - 120usize];
440    ["Offset of field: _IO_FILE::_cur_column"]
441        [::std::mem::offset_of!(_IO_FILE, _cur_column) - 128usize];
442    ["Offset of field: _IO_FILE::_vtable_offset"]
443        [::std::mem::offset_of!(_IO_FILE, _vtable_offset) - 130usize];
444    ["Offset of field: _IO_FILE::_shortbuf"]
445        [::std::mem::offset_of!(_IO_FILE, _shortbuf) - 131usize];
446    ["Offset of field: _IO_FILE::_lock"][::std::mem::offset_of!(_IO_FILE, _lock) - 136usize];
447    ["Offset of field: _IO_FILE::_offset"][::std::mem::offset_of!(_IO_FILE, _offset) - 144usize];
448    ["Offset of field: _IO_FILE::_codecvt"][::std::mem::offset_of!(_IO_FILE, _codecvt) - 152usize];
449    ["Offset of field: _IO_FILE::_wide_data"]
450        [::std::mem::offset_of!(_IO_FILE, _wide_data) - 160usize];
451    ["Offset of field: _IO_FILE::_freeres_list"]
452        [::std::mem::offset_of!(_IO_FILE, _freeres_list) - 168usize];
453    ["Offset of field: _IO_FILE::_freeres_buf"]
454        [::std::mem::offset_of!(_IO_FILE, _freeres_buf) - 176usize];
455    ["Offset of field: _IO_FILE::_prevchain"]
456        [::std::mem::offset_of!(_IO_FILE, _prevchain) - 184usize];
457    ["Offset of field: _IO_FILE::_mode"][::std::mem::offset_of!(_IO_FILE, _mode) - 192usize];
458    ["Offset of field: _IO_FILE::_unused3"][::std::mem::offset_of!(_IO_FILE, _unused3) - 196usize];
459    ["Offset of field: _IO_FILE::_total_written"]
460        [::std::mem::offset_of!(_IO_FILE, _total_written) - 200usize];
461    ["Offset of field: _IO_FILE::_unused2"][::std::mem::offset_of!(_IO_FILE, _unused2) - 208usize];
462};
463impl _IO_FILE {
464    #[inline]
465    pub fn _flags2(&self) -> ::std::os::raw::c_int {
466        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) }
467    }
468    #[inline]
469    pub fn set__flags2(&mut self, val: ::std::os::raw::c_int) {
470        unsafe {
471            let val: u32 = ::std::mem::transmute(val);
472            self._bitfield_1.set(0usize, 24u8, val as u64)
473        }
474    }
475    #[inline]
476    pub unsafe fn _flags2_raw(this: *const Self) -> ::std::os::raw::c_int {
477        unsafe {
478            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
479                ::std::ptr::addr_of!((*this)._bitfield_1),
480                0usize,
481                24u8,
482            ) as u32)
483        }
484    }
485    #[inline]
486    pub unsafe fn set__flags2_raw(this: *mut Self, val: ::std::os::raw::c_int) {
487        unsafe {
488            let val: u32 = ::std::mem::transmute(val);
489            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
490                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
491                0usize,
492                24u8,
493                val as u64,
494            )
495        }
496    }
497    #[inline]
498    pub fn new_bitfield_1(_flags2: ::std::os::raw::c_int) -> __BindgenBitfieldUnit<[u8; 3usize]> {
499        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
500        __bindgen_bitfield_unit.set(0usize, 24u8, {
501            let _flags2: u32 = unsafe { ::std::mem::transmute(_flags2) };
502            _flags2 as u64
503        });
504        __bindgen_bitfield_unit
505    }
506}
507unsafe extern "C" {
508    pub static mut mylocale: *mut ::std::os::raw::c_char;
509}
510unsafe extern "C" {
511    pub static mut progname: *mut ::std::os::raw::c_char;
512}
513unsafe extern "C" {
514    pub static mut utf8mode: ::std::os::raw::c_int;
515}
516unsafe extern "C" {
517    pub fn completereduce(unit: *mut unittype) -> ::std::os::raw::c_int;
518}
519unsafe extern "C" {
520    pub fn newunit(
521        unitname: *mut ::std::os::raw::c_char,
522        unitdef: *mut ::std::os::raw::c_char,
523        count: *mut ::std::os::raw::c_int,
524        linenum: ::std::os::raw::c_int,
525        file: *mut ::std::os::raw::c_char,
526        errfile: *mut FILE,
527        redefine: ::std::os::raw::c_int,
528        userunit: ::std::os::raw::c_int,
529    ) -> ::std::os::raw::c_int;
530}
531unsafe extern "C" {
532    pub fn newprefix(
533        unitname: *mut ::std::os::raw::c_char,
534        unitdef: *mut ::std::os::raw::c_char,
535        count: *mut ::std::os::raw::c_int,
536        linenum: ::std::os::raw::c_int,
537        file: *mut ::std::os::raw::c_char,
538        errfile: *mut FILE,
539        redefine: ::std::os::raw::c_int,
540    ) -> ::std::os::raw::c_int;
541}
542unsafe extern "C" {
543    pub fn newtable(
544        unitname: *mut ::std::os::raw::c_char,
545        unitdef: *mut ::std::os::raw::c_char,
546        count: *mut ::std::os::raw::c_int,
547        linenum: ::std::os::raw::c_int,
548        file: *mut ::std::os::raw::c_char,
549        errfile: *mut FILE,
550        redefine: ::std::os::raw::c_int,
551    ) -> ::std::os::raw::c_int;
552}
553unsafe extern "C" {
554    pub fn newfunction(
555        unitname: *mut ::std::os::raw::c_char,
556        unitdef: *mut ::std::os::raw::c_char,
557        count: *mut ::std::os::raw::c_int,
558        linenum: ::std::os::raw::c_int,
559        file: *mut ::std::os::raw::c_char,
560        errfile: *mut FILE,
561        redefine: ::std::os::raw::c_int,
562    ) -> ::std::os::raw::c_int;
563}
564unsafe extern "C" {
565    pub fn newalias(
566        unitname: *mut ::std::os::raw::c_char,
567        unitdef: *mut ::std::os::raw::c_char,
568        linenum: ::std::os::raw::c_int,
569        file: *mut ::std::os::raw::c_char,
570        errfile: *mut FILE,
571    ) -> ::std::os::raw::c_int;
572}