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
use
super::*;
pub type __uint8_t = ::cty::c_uchar;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _gpio_ctx_desc {
pub next: *mut _gpio_ctx_desc,
pub gpio_handler: ::core::option::Option<unsafe extern "C" fn(arg1: *mut ::cty::c_void)>,
pub arg: *mut ::cty::c_void,
pub gpioPin: u8,
pub intCtrlMod: u8,
pub intTrgMod: u8,
}
impl Default for _gpio_ctx_desc {
fn default() -> Self {
unsafe { ::core::mem::zeroed() }
}
}
pub type gpio_ctx_t = _gpio_ctx_desc;
#[safe_wrap(_)] extern "C" {
pub fn bl_gpio_enable_output(pin: u8, pullup: u8, pulldown: u8) -> ::cty::c_int;
}
#[safe_wrap(_)] extern "C" {
pub fn bl_gpio_enable_input(pin: u8, pullup: u8, pulldown: u8) -> ::cty::c_int;
}
#[safe_wrap(_)] extern "C" {
pub fn bl_gpio_output_set(pin: u8, value: u8) -> ::cty::c_int;
}
#[safe_wrap(_)] extern "C" {
pub fn bl_gpio_input_get(pin: u8, value: *mut u8) -> ::cty::c_int;
}
#[safe_wrap(_)] extern "C" {
pub fn bl_gpio_input_get_value(pin: u8) -> ::cty::c_int;
}
#[safe_wrap(_)] extern "C" {
pub fn bl_gpio_int_clear(gpioPin: u8, intClear: u8) -> ::cty::c_int;
}
#[safe_wrap(_)] extern "C" {
pub fn bl_gpio_intmask(gpiopin: u8, mask: u8);
}
#[safe_wrap(_)] extern "C" {
pub fn bl_gpio_register(pstnode: *mut gpio_ctx_t);
}