extern crate libc;
extern {
fn IPC_connect() -> libc::c_int;
fn IPC_bind(listen_port: libc::c_int) -> libc::c_int;
fn IPC_send(data: *mut libc::c_uchar,len: libc::c_int) -> libc::c_int;
fn IPC_receive(data: *mut libc::c_uchar,len: libc::c_int) -> libc::c_int;
fn IPC_close() -> libc::c_int;
}
pub fn connect() -> i32 {
unsafe {
IPC_connect()
}
}
pub fn bind(listen_port: i32) -> i32 {
unsafe {
IPC_bind(listen_port)
}
}
pub fn send(buf: &[u8], len: i32) -> i32 {
unsafe {
IPC_send(buf.as_ptr() as *mut u8,len)
}
}
pub fn receive(buf: &mut [u8], len: i32) -> i32 {
unsafe {
IPC_receive(buf.as_mut_ptr(),len)
}
}
pub fn close() -> i32 {
unsafe {
IPC_close()
}
}