use bindings::types::*;
use bindings::common::*;
pub type Enum_Unnamed1 = ::libc::c_uint;
pub const MRAA_SPI_MODE0: ::libc::c_uint = 0;
pub const MRAA_SPI_MODE1: ::libc::c_uint = 1;
pub const MRAA_SPI_MODE2: ::libc::c_uint = 2;
pub const MRAA_SPI_MODE3: ::libc::c_uint = 3;
pub type mraa_spi_mode_t = Enum_Unnamed1;
pub enum Struct__spi { }
pub type mraa_spi_context = *mut Struct__spi;
#[link(name = "mraa")]
extern "C" {
pub fn mraa_spi_init(bus: ::libc::c_int) -> mraa_spi_context;
pub fn mraa_spi_init_raw(bus: ::libc::c_uint, cs: ::libc::c_uint)
-> mraa_spi_context;
pub fn mraa_spi_mode(dev: mraa_spi_context, mode: mraa_spi_mode_t)
-> mraa_result_t;
pub fn mraa_spi_frequency(dev: mraa_spi_context, hz: ::libc::c_int)
-> mraa_result_t;
pub fn mraa_spi_write(dev: mraa_spi_context, data: u8)
-> ::libc::c_int;
pub fn mraa_spi_write_word(dev: mraa_spi_context, data: u16)
-> u16;
pub fn mraa_spi_write_buf(dev: mraa_spi_context, data: *mut u8,
length: ::libc::c_int) -> *mut u8;
pub fn mraa_spi_write_buf_word(dev: mraa_spi_context, data: *mut u16,
length: ::libc::c_int) -> *mut u16;
pub fn mraa_spi_transfer_buf(dev: mraa_spi_context, data: *mut u8,
rxbuf: *mut u8, length: ::libc::c_int)
-> mraa_result_t;
pub fn mraa_spi_transfer_buf_word(dev: mraa_spi_context,
data: *mut u16,
rxbuf: *mut u16,
length: ::libc::c_int) -> mraa_result_t;
pub fn mraa_spi_lsbmode(dev: mraa_spi_context, lsb: mraa_boolean_t)
-> mraa_result_t;
pub fn mraa_spi_bit_per_word(dev: mraa_spi_context, bits: ::libc::c_uint)
-> mraa_result_t;
pub fn mraa_spi_stop(dev: mraa_spi_context) -> mraa_result_t;
}