libsensors_sys/
sensors.rs

1/* automatically generated by rust-bindgen */
2
3pub const SENSORS_API_VERSION: u32 = 1088;
4pub const SENSORS_CHIP_NAME_ADDR_ANY: i32 = -1;
5pub const SENSORS_BUS_TYPE_ANY: i32 = -1;
6pub const SENSORS_BUS_TYPE_I2C: u32 = 0;
7pub const SENSORS_BUS_TYPE_ISA: u32 = 1;
8pub const SENSORS_BUS_TYPE_PCI: u32 = 2;
9pub const SENSORS_BUS_TYPE_SPI: u32 = 3;
10pub const SENSORS_BUS_TYPE_VIRTUAL: u32 = 4;
11pub const SENSORS_BUS_TYPE_ACPI: u32 = 5;
12pub const SENSORS_BUS_TYPE_HID: u32 = 6;
13pub const SENSORS_BUS_NR_ANY: i32 = -1;
14pub const SENSORS_BUS_NR_IGNORE: i32 = -2;
15pub const SENSORS_MODE_R: u32 = 1;
16pub const SENSORS_MODE_W: u32 = 2;
17pub const SENSORS_COMPUTE_MAPPING: u32 = 4;
18pub type __off_t = ::std::os::raw::c_long;
19pub type __off64_t = ::std::os::raw::c_long;
20pub type FILE = _IO_FILE;
21pub type _IO_lock_t = ::std::os::raw::c_void;
22#[repr(C)]
23#[derive(Debug, Copy, Clone)]
24pub struct _IO_marker {
25    pub _next: *mut _IO_marker,
26    pub _sbuf: *mut _IO_FILE,
27    pub _pos: ::std::os::raw::c_int,
28}
29#[test]
30fn bindgen_test_layout__IO_marker() {
31    assert_eq!(
32        ::std::mem::size_of::<_IO_marker>(),
33        24usize,
34        concat!("Size of: ", stringify!(_IO_marker))
35    );
36    assert_eq!(
37        ::std::mem::align_of::<_IO_marker>(),
38        8usize,
39        concat!("Alignment of ", stringify!(_IO_marker))
40    );
41    assert_eq!(
42        unsafe { &(*(::std::ptr::null::<_IO_marker>()))._next as *const _ as usize },
43        0usize,
44        concat!(
45            "Offset of field: ",
46            stringify!(_IO_marker),
47            "::",
48            stringify!(_next)
49        )
50    );
51    assert_eq!(
52        unsafe { &(*(::std::ptr::null::<_IO_marker>()))._sbuf as *const _ as usize },
53        8usize,
54        concat!(
55            "Offset of field: ",
56            stringify!(_IO_marker),
57            "::",
58            stringify!(_sbuf)
59        )
60    );
61    assert_eq!(
62        unsafe { &(*(::std::ptr::null::<_IO_marker>()))._pos as *const _ as usize },
63        16usize,
64        concat!(
65            "Offset of field: ",
66            stringify!(_IO_marker),
67            "::",
68            stringify!(_pos)
69        )
70    );
71}
72#[repr(C)]
73#[derive(Debug, Copy, Clone)]
74pub struct _IO_FILE {
75    pub _flags: ::std::os::raw::c_int,
76    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
77    pub _IO_read_end: *mut ::std::os::raw::c_char,
78    pub _IO_read_base: *mut ::std::os::raw::c_char,
79    pub _IO_write_base: *mut ::std::os::raw::c_char,
80    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
81    pub _IO_write_end: *mut ::std::os::raw::c_char,
82    pub _IO_buf_base: *mut ::std::os::raw::c_char,
83    pub _IO_buf_end: *mut ::std::os::raw::c_char,
84    pub _IO_save_base: *mut ::std::os::raw::c_char,
85    pub _IO_backup_base: *mut ::std::os::raw::c_char,
86    pub _IO_save_end: *mut ::std::os::raw::c_char,
87    pub _markers: *mut _IO_marker,
88    pub _chain: *mut _IO_FILE,
89    pub _fileno: ::std::os::raw::c_int,
90    pub _flags2: ::std::os::raw::c_int,
91    pub _old_offset: __off_t,
92    pub _cur_column: ::std::os::raw::c_ushort,
93    pub _vtable_offset: ::std::os::raw::c_schar,
94    pub _shortbuf: [::std::os::raw::c_char; 1usize],
95    pub _lock: *mut _IO_lock_t,
96    pub _offset: __off64_t,
97    pub __pad1: *mut ::std::os::raw::c_void,
98    pub __pad2: *mut ::std::os::raw::c_void,
99    pub __pad3: *mut ::std::os::raw::c_void,
100    pub __pad4: *mut ::std::os::raw::c_void,
101    pub __pad5: usize,
102    pub _mode: ::std::os::raw::c_int,
103    pub _unused2: [::std::os::raw::c_char; 20usize],
104}
105#[test]
106fn bindgen_test_layout__IO_FILE() {
107    assert_eq!(
108        ::std::mem::size_of::<_IO_FILE>(),
109        216usize,
110        concat!("Size of: ", stringify!(_IO_FILE))
111    );
112    assert_eq!(
113        ::std::mem::align_of::<_IO_FILE>(),
114        8usize,
115        concat!("Alignment of ", stringify!(_IO_FILE))
116    );
117    assert_eq!(
118        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags as *const _ as usize },
119        0usize,
120        concat!(
121            "Offset of field: ",
122            stringify!(_IO_FILE),
123            "::",
124            stringify!(_flags)
125        )
126    );
127    assert_eq!(
128        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_ptr as *const _ as usize },
129        8usize,
130        concat!(
131            "Offset of field: ",
132            stringify!(_IO_FILE),
133            "::",
134            stringify!(_IO_read_ptr)
135        )
136    );
137    assert_eq!(
138        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_end as *const _ as usize },
139        16usize,
140        concat!(
141            "Offset of field: ",
142            stringify!(_IO_FILE),
143            "::",
144            stringify!(_IO_read_end)
145        )
146    );
147    assert_eq!(
148        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_read_base as *const _ as usize },
149        24usize,
150        concat!(
151            "Offset of field: ",
152            stringify!(_IO_FILE),
153            "::",
154            stringify!(_IO_read_base)
155        )
156    );
157    assert_eq!(
158        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_base as *const _ as usize },
159        32usize,
160        concat!(
161            "Offset of field: ",
162            stringify!(_IO_FILE),
163            "::",
164            stringify!(_IO_write_base)
165        )
166    );
167    assert_eq!(
168        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_ptr as *const _ as usize },
169        40usize,
170        concat!(
171            "Offset of field: ",
172            stringify!(_IO_FILE),
173            "::",
174            stringify!(_IO_write_ptr)
175        )
176    );
177    assert_eq!(
178        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_write_end as *const _ as usize },
179        48usize,
180        concat!(
181            "Offset of field: ",
182            stringify!(_IO_FILE),
183            "::",
184            stringify!(_IO_write_end)
185        )
186    );
187    assert_eq!(
188        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_base as *const _ as usize },
189        56usize,
190        concat!(
191            "Offset of field: ",
192            stringify!(_IO_FILE),
193            "::",
194            stringify!(_IO_buf_base)
195        )
196    );
197    assert_eq!(
198        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_buf_end as *const _ as usize },
199        64usize,
200        concat!(
201            "Offset of field: ",
202            stringify!(_IO_FILE),
203            "::",
204            stringify!(_IO_buf_end)
205        )
206    );
207    assert_eq!(
208        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_base as *const _ as usize },
209        72usize,
210        concat!(
211            "Offset of field: ",
212            stringify!(_IO_FILE),
213            "::",
214            stringify!(_IO_save_base)
215        )
216    );
217    assert_eq!(
218        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_backup_base as *const _ as usize },
219        80usize,
220        concat!(
221            "Offset of field: ",
222            stringify!(_IO_FILE),
223            "::",
224            stringify!(_IO_backup_base)
225        )
226    );
227    assert_eq!(
228        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._IO_save_end as *const _ as usize },
229        88usize,
230        concat!(
231            "Offset of field: ",
232            stringify!(_IO_FILE),
233            "::",
234            stringify!(_IO_save_end)
235        )
236    );
237    assert_eq!(
238        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._markers as *const _ as usize },
239        96usize,
240        concat!(
241            "Offset of field: ",
242            stringify!(_IO_FILE),
243            "::",
244            stringify!(_markers)
245        )
246    );
247    assert_eq!(
248        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._chain as *const _ as usize },
249        104usize,
250        concat!(
251            "Offset of field: ",
252            stringify!(_IO_FILE),
253            "::",
254            stringify!(_chain)
255        )
256    );
257    assert_eq!(
258        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._fileno as *const _ as usize },
259        112usize,
260        concat!(
261            "Offset of field: ",
262            stringify!(_IO_FILE),
263            "::",
264            stringify!(_fileno)
265        )
266    );
267    assert_eq!(
268        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._flags2 as *const _ as usize },
269        116usize,
270        concat!(
271            "Offset of field: ",
272            stringify!(_IO_FILE),
273            "::",
274            stringify!(_flags2)
275        )
276    );
277    assert_eq!(
278        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._old_offset as *const _ as usize },
279        120usize,
280        concat!(
281            "Offset of field: ",
282            stringify!(_IO_FILE),
283            "::",
284            stringify!(_old_offset)
285        )
286    );
287    assert_eq!(
288        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._cur_column as *const _ as usize },
289        128usize,
290        concat!(
291            "Offset of field: ",
292            stringify!(_IO_FILE),
293            "::",
294            stringify!(_cur_column)
295        )
296    );
297    assert_eq!(
298        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._vtable_offset as *const _ as usize },
299        130usize,
300        concat!(
301            "Offset of field: ",
302            stringify!(_IO_FILE),
303            "::",
304            stringify!(_vtable_offset)
305        )
306    );
307    assert_eq!(
308        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._shortbuf as *const _ as usize },
309        131usize,
310        concat!(
311            "Offset of field: ",
312            stringify!(_IO_FILE),
313            "::",
314            stringify!(_shortbuf)
315        )
316    );
317    assert_eq!(
318        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._lock as *const _ as usize },
319        136usize,
320        concat!(
321            "Offset of field: ",
322            stringify!(_IO_FILE),
323            "::",
324            stringify!(_lock)
325        )
326    );
327    assert_eq!(
328        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._offset as *const _ as usize },
329        144usize,
330        concat!(
331            "Offset of field: ",
332            stringify!(_IO_FILE),
333            "::",
334            stringify!(_offset)
335        )
336    );
337    assert_eq!(
338        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad1 as *const _ as usize },
339        152usize,
340        concat!(
341            "Offset of field: ",
342            stringify!(_IO_FILE),
343            "::",
344            stringify!(__pad1)
345        )
346    );
347    assert_eq!(
348        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad2 as *const _ as usize },
349        160usize,
350        concat!(
351            "Offset of field: ",
352            stringify!(_IO_FILE),
353            "::",
354            stringify!(__pad2)
355        )
356    );
357    assert_eq!(
358        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad3 as *const _ as usize },
359        168usize,
360        concat!(
361            "Offset of field: ",
362            stringify!(_IO_FILE),
363            "::",
364            stringify!(__pad3)
365        )
366    );
367    assert_eq!(
368        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad4 as *const _ as usize },
369        176usize,
370        concat!(
371            "Offset of field: ",
372            stringify!(_IO_FILE),
373            "::",
374            stringify!(__pad4)
375        )
376    );
377    assert_eq!(
378        unsafe { &(*(::std::ptr::null::<_IO_FILE>())).__pad5 as *const _ as usize },
379        184usize,
380        concat!(
381            "Offset of field: ",
382            stringify!(_IO_FILE),
383            "::",
384            stringify!(__pad5)
385        )
386    );
387    assert_eq!(
388        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._mode as *const _ as usize },
389        192usize,
390        concat!(
391            "Offset of field: ",
392            stringify!(_IO_FILE),
393            "::",
394            stringify!(_mode)
395        )
396    );
397    assert_eq!(
398        unsafe { &(*(::std::ptr::null::<_IO_FILE>()))._unused2 as *const _ as usize },
399        196usize,
400        concat!(
401            "Offset of field: ",
402            stringify!(_IO_FILE),
403            "::",
404            stringify!(_unused2)
405        )
406    );
407}
408extern "C" {
409    #[link_name = "\u{1}libsensors_version"]
410    pub static mut libsensors_version: *const ::std::os::raw::c_char;
411}
412#[repr(C)]
413#[derive(Debug, Copy, Clone)]
414pub struct sensors_bus_id {
415    pub type_: ::std::os::raw::c_short,
416    pub nr: ::std::os::raw::c_short,
417}
418#[test]
419fn bindgen_test_layout_sensors_bus_id() {
420    assert_eq!(
421        ::std::mem::size_of::<sensors_bus_id>(),
422        4usize,
423        concat!("Size of: ", stringify!(sensors_bus_id))
424    );
425    assert_eq!(
426        ::std::mem::align_of::<sensors_bus_id>(),
427        2usize,
428        concat!("Alignment of ", stringify!(sensors_bus_id))
429    );
430    assert_eq!(
431        unsafe { &(*(::std::ptr::null::<sensors_bus_id>())).type_ as *const _ as usize },
432        0usize,
433        concat!(
434            "Offset of field: ",
435            stringify!(sensors_bus_id),
436            "::",
437            stringify!(type_)
438        )
439    );
440    assert_eq!(
441        unsafe { &(*(::std::ptr::null::<sensors_bus_id>())).nr as *const _ as usize },
442        2usize,
443        concat!(
444            "Offset of field: ",
445            stringify!(sensors_bus_id),
446            "::",
447            stringify!(nr)
448        )
449    );
450}
451#[repr(C)]
452#[derive(Debug, Copy, Clone)]
453pub struct sensors_chip_name {
454    pub prefix: *mut ::std::os::raw::c_char,
455    pub bus: sensors_bus_id,
456    pub addr: ::std::os::raw::c_int,
457    pub path: *mut ::std::os::raw::c_char,
458}
459#[test]
460fn bindgen_test_layout_sensors_chip_name() {
461    assert_eq!(
462        ::std::mem::size_of::<sensors_chip_name>(),
463        24usize,
464        concat!("Size of: ", stringify!(sensors_chip_name))
465    );
466    assert_eq!(
467        ::std::mem::align_of::<sensors_chip_name>(),
468        8usize,
469        concat!("Alignment of ", stringify!(sensors_chip_name))
470    );
471    assert_eq!(
472        unsafe { &(*(::std::ptr::null::<sensors_chip_name>())).prefix as *const _ as usize },
473        0usize,
474        concat!(
475            "Offset of field: ",
476            stringify!(sensors_chip_name),
477            "::",
478            stringify!(prefix)
479        )
480    );
481    assert_eq!(
482        unsafe { &(*(::std::ptr::null::<sensors_chip_name>())).bus as *const _ as usize },
483        8usize,
484        concat!(
485            "Offset of field: ",
486            stringify!(sensors_chip_name),
487            "::",
488            stringify!(bus)
489        )
490    );
491    assert_eq!(
492        unsafe { &(*(::std::ptr::null::<sensors_chip_name>())).addr as *const _ as usize },
493        12usize,
494        concat!(
495            "Offset of field: ",
496            stringify!(sensors_chip_name),
497            "::",
498            stringify!(addr)
499        )
500    );
501    assert_eq!(
502        unsafe { &(*(::std::ptr::null::<sensors_chip_name>())).path as *const _ as usize },
503        16usize,
504        concat!(
505            "Offset of field: ",
506            stringify!(sensors_chip_name),
507            "::",
508            stringify!(path)
509        )
510    );
511}
512extern "C" {
513    pub fn sensors_init(input: *mut FILE) -> ::std::os::raw::c_int;
514}
515extern "C" {
516    pub fn sensors_cleanup();
517}
518extern "C" {
519    pub fn sensors_parse_chip_name(
520        orig_name: *const ::std::os::raw::c_char,
521        res: *mut sensors_chip_name,
522    ) -> ::std::os::raw::c_int;
523}
524extern "C" {
525    pub fn sensors_free_chip_name(chip: *mut sensors_chip_name);
526}
527extern "C" {
528    pub fn sensors_snprintf_chip_name(
529        str: *mut ::std::os::raw::c_char,
530        size: usize,
531        chip: *const sensors_chip_name,
532    ) -> ::std::os::raw::c_int;
533}
534extern "C" {
535    pub fn sensors_get_adapter_name(bus: *const sensors_bus_id) -> *const ::std::os::raw::c_char;
536}
537extern "C" {
538    pub fn sensors_get_label(
539        name: *const sensors_chip_name,
540        feature: *const sensors_feature,
541    ) -> *mut ::std::os::raw::c_char;
542}
543extern "C" {
544    pub fn sensors_get_value(
545        name: *const sensors_chip_name,
546        subfeat_nr: ::std::os::raw::c_int,
547        value: *mut f64,
548    ) -> ::std::os::raw::c_int;
549}
550extern "C" {
551    pub fn sensors_set_value(
552        name: *const sensors_chip_name,
553        subfeat_nr: ::std::os::raw::c_int,
554        value: f64,
555    ) -> ::std::os::raw::c_int;
556}
557extern "C" {
558    pub fn sensors_do_chip_sets(name: *const sensors_chip_name) -> ::std::os::raw::c_int;
559}
560extern "C" {
561    pub fn sensors_get_detected_chips(
562        match_: *const sensors_chip_name,
563        nr: *mut ::std::os::raw::c_int,
564    ) -> *const sensors_chip_name;
565}
566#[repr(u32)]
567#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
568pub enum sensors_feature_type {
569    SENSORS_FEATURE_IN = 0,
570    SENSORS_FEATURE_FAN = 1,
571    SENSORS_FEATURE_TEMP = 2,
572    SENSORS_FEATURE_POWER = 3,
573    SENSORS_FEATURE_ENERGY = 4,
574    SENSORS_FEATURE_CURR = 5,
575    SENSORS_FEATURE_HUMIDITY = 6,
576    SENSORS_FEATURE_MAX_MAIN = 7,
577    SENSORS_FEATURE_VID = 16,
578    SENSORS_FEATURE_INTRUSION = 17,
579    SENSORS_FEATURE_MAX_OTHER = 18,
580    SENSORS_FEATURE_BEEP_ENABLE = 24,
581    SENSORS_FEATURE_MAX = 25,
582    SENSORS_FEATURE_UNKNOWN = 2147483647,
583}
584#[repr(u32)]
585#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
586pub enum sensors_subfeature_type {
587    SENSORS_SUBFEATURE_IN_INPUT = 0,
588    SENSORS_SUBFEATURE_IN_MIN = 1,
589    SENSORS_SUBFEATURE_IN_MAX = 2,
590    SENSORS_SUBFEATURE_IN_LCRIT = 3,
591    SENSORS_SUBFEATURE_IN_CRIT = 4,
592    SENSORS_SUBFEATURE_IN_AVERAGE = 5,
593    SENSORS_SUBFEATURE_IN_LOWEST = 6,
594    SENSORS_SUBFEATURE_IN_HIGHEST = 7,
595    SENSORS_SUBFEATURE_IN_ALARM = 128,
596    SENSORS_SUBFEATURE_IN_MIN_ALARM = 129,
597    SENSORS_SUBFEATURE_IN_MAX_ALARM = 130,
598    SENSORS_SUBFEATURE_IN_BEEP = 131,
599    SENSORS_SUBFEATURE_IN_LCRIT_ALARM = 132,
600    SENSORS_SUBFEATURE_IN_CRIT_ALARM = 133,
601    SENSORS_SUBFEATURE_FAN_INPUT = 256,
602    SENSORS_SUBFEATURE_FAN_MIN = 257,
603    SENSORS_SUBFEATURE_FAN_MAX = 258,
604    SENSORS_SUBFEATURE_FAN_ALARM = 384,
605    SENSORS_SUBFEATURE_FAN_FAULT = 385,
606    SENSORS_SUBFEATURE_FAN_DIV = 386,
607    SENSORS_SUBFEATURE_FAN_BEEP = 387,
608    SENSORS_SUBFEATURE_FAN_PULSES = 388,
609    SENSORS_SUBFEATURE_FAN_MIN_ALARM = 389,
610    SENSORS_SUBFEATURE_FAN_MAX_ALARM = 390,
611    SENSORS_SUBFEATURE_TEMP_INPUT = 512,
612    SENSORS_SUBFEATURE_TEMP_MAX = 513,
613    SENSORS_SUBFEATURE_TEMP_MAX_HYST = 514,
614    SENSORS_SUBFEATURE_TEMP_MIN = 515,
615    SENSORS_SUBFEATURE_TEMP_CRIT = 516,
616    SENSORS_SUBFEATURE_TEMP_CRIT_HYST = 517,
617    SENSORS_SUBFEATURE_TEMP_LCRIT = 518,
618    SENSORS_SUBFEATURE_TEMP_EMERGENCY = 519,
619    SENSORS_SUBFEATURE_TEMP_EMERGENCY_HYST = 520,
620    SENSORS_SUBFEATURE_TEMP_LOWEST = 521,
621    SENSORS_SUBFEATURE_TEMP_HIGHEST = 522,
622    SENSORS_SUBFEATURE_TEMP_MIN_HYST = 523,
623    SENSORS_SUBFEATURE_TEMP_LCRIT_HYST = 524,
624    SENSORS_SUBFEATURE_TEMP_ALARM = 640,
625    SENSORS_SUBFEATURE_TEMP_MAX_ALARM = 641,
626    SENSORS_SUBFEATURE_TEMP_MIN_ALARM = 642,
627    SENSORS_SUBFEATURE_TEMP_CRIT_ALARM = 643,
628    SENSORS_SUBFEATURE_TEMP_FAULT = 644,
629    SENSORS_SUBFEATURE_TEMP_TYPE = 645,
630    SENSORS_SUBFEATURE_TEMP_OFFSET = 646,
631    SENSORS_SUBFEATURE_TEMP_BEEP = 647,
632    SENSORS_SUBFEATURE_TEMP_EMERGENCY_ALARM = 648,
633    SENSORS_SUBFEATURE_TEMP_LCRIT_ALARM = 649,
634    SENSORS_SUBFEATURE_POWER_AVERAGE = 768,
635    SENSORS_SUBFEATURE_POWER_AVERAGE_HIGHEST = 769,
636    SENSORS_SUBFEATURE_POWER_AVERAGE_LOWEST = 770,
637    SENSORS_SUBFEATURE_POWER_INPUT = 771,
638    SENSORS_SUBFEATURE_POWER_INPUT_HIGHEST = 772,
639    SENSORS_SUBFEATURE_POWER_INPUT_LOWEST = 773,
640    SENSORS_SUBFEATURE_POWER_CAP = 774,
641    SENSORS_SUBFEATURE_POWER_CAP_HYST = 775,
642    SENSORS_SUBFEATURE_POWER_MAX = 776,
643    SENSORS_SUBFEATURE_POWER_CRIT = 777,
644    SENSORS_SUBFEATURE_POWER_AVERAGE_INTERVAL = 896,
645    SENSORS_SUBFEATURE_POWER_ALARM = 897,
646    SENSORS_SUBFEATURE_POWER_CAP_ALARM = 898,
647    SENSORS_SUBFEATURE_POWER_MAX_ALARM = 899,
648    SENSORS_SUBFEATURE_POWER_CRIT_ALARM = 900,
649    SENSORS_SUBFEATURE_ENERGY_INPUT = 1024,
650    SENSORS_SUBFEATURE_CURR_INPUT = 1280,
651    SENSORS_SUBFEATURE_CURR_MIN = 1281,
652    SENSORS_SUBFEATURE_CURR_MAX = 1282,
653    SENSORS_SUBFEATURE_CURR_LCRIT = 1283,
654    SENSORS_SUBFEATURE_CURR_CRIT = 1284,
655    SENSORS_SUBFEATURE_CURR_AVERAGE = 1285,
656    SENSORS_SUBFEATURE_CURR_LOWEST = 1286,
657    SENSORS_SUBFEATURE_CURR_HIGHEST = 1287,
658    SENSORS_SUBFEATURE_CURR_ALARM = 1408,
659    SENSORS_SUBFEATURE_CURR_MIN_ALARM = 1409,
660    SENSORS_SUBFEATURE_CURR_MAX_ALARM = 1410,
661    SENSORS_SUBFEATURE_CURR_BEEP = 1411,
662    SENSORS_SUBFEATURE_CURR_LCRIT_ALARM = 1412,
663    SENSORS_SUBFEATURE_CURR_CRIT_ALARM = 1413,
664    SENSORS_SUBFEATURE_HUMIDITY_INPUT = 1536,
665    SENSORS_SUBFEATURE_VID = 4096,
666    SENSORS_SUBFEATURE_INTRUSION_ALARM = 4352,
667    SENSORS_SUBFEATURE_INTRUSION_BEEP = 4353,
668    SENSORS_SUBFEATURE_BEEP_ENABLE = 6144,
669    SENSORS_SUBFEATURE_UNKNOWN = 2147483647,
670}
671#[repr(C)]
672#[derive(Debug, Copy, Clone)]
673pub struct sensors_feature {
674    pub name: *mut ::std::os::raw::c_char,
675    pub number: ::std::os::raw::c_int,
676    pub type_: sensors_feature_type,
677    pub first_subfeature: ::std::os::raw::c_int,
678    pub padding1: ::std::os::raw::c_int,
679}
680#[test]
681fn bindgen_test_layout_sensors_feature() {
682    assert_eq!(
683        ::std::mem::size_of::<sensors_feature>(),
684        24usize,
685        concat!("Size of: ", stringify!(sensors_feature))
686    );
687    assert_eq!(
688        ::std::mem::align_of::<sensors_feature>(),
689        8usize,
690        concat!("Alignment of ", stringify!(sensors_feature))
691    );
692    assert_eq!(
693        unsafe { &(*(::std::ptr::null::<sensors_feature>())).name as *const _ as usize },
694        0usize,
695        concat!(
696            "Offset of field: ",
697            stringify!(sensors_feature),
698            "::",
699            stringify!(name)
700        )
701    );
702    assert_eq!(
703        unsafe { &(*(::std::ptr::null::<sensors_feature>())).number as *const _ as usize },
704        8usize,
705        concat!(
706            "Offset of field: ",
707            stringify!(sensors_feature),
708            "::",
709            stringify!(number)
710        )
711    );
712    assert_eq!(
713        unsafe { &(*(::std::ptr::null::<sensors_feature>())).type_ as *const _ as usize },
714        12usize,
715        concat!(
716            "Offset of field: ",
717            stringify!(sensors_feature),
718            "::",
719            stringify!(type_)
720        )
721    );
722    assert_eq!(
723        unsafe {
724            &(*(::std::ptr::null::<sensors_feature>())).first_subfeature as *const _ as usize
725        },
726        16usize,
727        concat!(
728            "Offset of field: ",
729            stringify!(sensors_feature),
730            "::",
731            stringify!(first_subfeature)
732        )
733    );
734    assert_eq!(
735        unsafe { &(*(::std::ptr::null::<sensors_feature>())).padding1 as *const _ as usize },
736        20usize,
737        concat!(
738            "Offset of field: ",
739            stringify!(sensors_feature),
740            "::",
741            stringify!(padding1)
742        )
743    );
744}
745#[repr(C)]
746#[derive(Debug, Copy, Clone)]
747pub struct sensors_subfeature {
748    pub name: *mut ::std::os::raw::c_char,
749    pub number: ::std::os::raw::c_int,
750    pub type_: sensors_subfeature_type,
751    pub mapping: ::std::os::raw::c_int,
752    pub flags: ::std::os::raw::c_uint,
753}
754#[test]
755fn bindgen_test_layout_sensors_subfeature() {
756    assert_eq!(
757        ::std::mem::size_of::<sensors_subfeature>(),
758        24usize,
759        concat!("Size of: ", stringify!(sensors_subfeature))
760    );
761    assert_eq!(
762        ::std::mem::align_of::<sensors_subfeature>(),
763        8usize,
764        concat!("Alignment of ", stringify!(sensors_subfeature))
765    );
766    assert_eq!(
767        unsafe { &(*(::std::ptr::null::<sensors_subfeature>())).name as *const _ as usize },
768        0usize,
769        concat!(
770            "Offset of field: ",
771            stringify!(sensors_subfeature),
772            "::",
773            stringify!(name)
774        )
775    );
776    assert_eq!(
777        unsafe { &(*(::std::ptr::null::<sensors_subfeature>())).number as *const _ as usize },
778        8usize,
779        concat!(
780            "Offset of field: ",
781            stringify!(sensors_subfeature),
782            "::",
783            stringify!(number)
784        )
785    );
786    assert_eq!(
787        unsafe { &(*(::std::ptr::null::<sensors_subfeature>())).type_ as *const _ as usize },
788        12usize,
789        concat!(
790            "Offset of field: ",
791            stringify!(sensors_subfeature),
792            "::",
793            stringify!(type_)
794        )
795    );
796    assert_eq!(
797        unsafe { &(*(::std::ptr::null::<sensors_subfeature>())).mapping as *const _ as usize },
798        16usize,
799        concat!(
800            "Offset of field: ",
801            stringify!(sensors_subfeature),
802            "::",
803            stringify!(mapping)
804        )
805    );
806    assert_eq!(
807        unsafe { &(*(::std::ptr::null::<sensors_subfeature>())).flags as *const _ as usize },
808        20usize,
809        concat!(
810            "Offset of field: ",
811            stringify!(sensors_subfeature),
812            "::",
813            stringify!(flags)
814        )
815    );
816}
817extern "C" {
818    pub fn sensors_get_features(
819        name: *const sensors_chip_name,
820        nr: *mut ::std::os::raw::c_int,
821    ) -> *const sensors_feature;
822}
823extern "C" {
824    pub fn sensors_get_all_subfeatures(
825        name: *const sensors_chip_name,
826        feature: *const sensors_feature,
827        nr: *mut ::std::os::raw::c_int,
828    ) -> *const sensors_subfeature;
829}
830extern "C" {
831    pub fn sensors_get_subfeature(
832        name: *const sensors_chip_name,
833        feature: *const sensors_feature,
834        type_: sensors_subfeature_type,
835    ) -> *const sensors_subfeature;
836}