use std::ffi::{c_char, c_int};
unsafe extern "C" {
pub fn init_library(argc: c_int, argv: *mut *mut c_char) -> c_int;
pub fn idakit_init_library() -> c_int;
pub fn idakit_set_batch(on: c_int);
pub fn get_library_version(major: *mut c_int, minor: *mut c_int, build: *mut c_int) -> bool;
pub fn open_database(path: *const c_char, run_auto: bool, args: *const c_char) -> c_int;
pub fn close_database(save: bool);
pub fn enable_console_messages(enable: bool);
}
unsafe extern "C" {
pub fn is_main_thread() -> bool;
}
unsafe extern "C" {
pub fn auto_wait() -> bool;
}
unsafe extern "C" {
pub fn get_qerrno() -> c_int;
pub fn qstrerror(code: c_int) -> *const c_char;
}
pub const IDAKIT_EXIT_TRAPPED: c_int = -0x7FFF_FFFF;
unsafe extern "C" {
pub fn idakit_guarded_open(path: *const c_char, run_auto: c_int) -> c_int;
pub fn idakit_guarded_auto_wait() -> c_int;
pub fn idakit_guarded_close(save: c_int) -> c_int;
pub fn idakit_last_exit_code() -> c_int;
pub fn idakit_was_trapped() -> c_int;
pub fn idakit_last_output(buf: *mut c_char, cap: usize) -> usize;
pub fn idakit_reg_read_int(name: *const c_char, defval: c_int) -> c_int;
pub fn idakit_accept_eula() -> c_int;
}
#[cfg(feature = "test-shims")]
pub const IDAKIT_FATAL_EXIT: c_int = 0;
#[cfg(feature = "test-shims")]
pub const IDAKIT_FATAL_ABORT: c_int = 1;
#[cfg(feature = "test-shims")]
pub const IDAKIT_FATAL_INTERR: c_int = 2;
#[cfg(feature = "test-shims")]
unsafe extern "C" {
pub fn idakit_test_fatal(kind: c_int) -> c_int;
pub fn idakit_get_batch() -> c_int;
pub fn idakit_test_fatal_through_cxx(kind: c_int) -> c_int;
}