keystone 0.9.0

Rust bindings for the keystone-engine
Documentation
//! Keystone Assembler Engine (www.keystone-engine.org) */
//! By Nguyen Anh Quynh <aquynh@gmail.com>, 2016 */
//! Rust bindings by Remco Verhoef <remco@dutchcoders.io>, 2016 */
//!

use libc;
use std::os::raw::c_char;

use {ks_handle};

#[link(name = "keystone")]
extern "C" {
    pub fn ks_version(major: *const u32, minor: *const u32) -> u32;
    pub fn ks_arch_supported(arch: u32) -> bool;
    pub fn ks_open(arch: u32, mode: u32, engine: *mut ks_handle) -> u32;
    pub fn ks_asm(engine: ks_handle, string: *const c_char, address: u64, encoding:*mut *mut libc::c_uchar, encoding_size: *mut libc::size_t, stat_count: *mut libc::size_t ) -> u32;
    pub fn ks_errno(engine: ks_handle) -> u32;
    pub fn ks_strerror(error_code: u32) -> *const c_char;
    pub fn ks_option(engine: ks_handle, type_: u32, value: libc::size_t) -> u32;
    pub fn ks_close(engine: ks_handle);
    pub fn ks_free(encoding: *mut libc::c_uchar);
}