inkview-sys 0.1.2

Crate that contains bindings for pocketbook inkview library
Documentation
/* automatically generated by rust-bindgen 0.55.1 */

#[repr(C)]
#[derive(Default)]
pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
impl<T> __IncompleteArrayField<T> {
    #[inline]
    pub const fn new() -> Self {
        __IncompleteArrayField(::core::marker::PhantomData, [])
    }
    #[inline]
    pub fn as_ptr(&self) -> *const T {
        self as *const _ as *const T
    }
    #[inline]
    pub fn as_mut_ptr(&mut self) -> *mut T {
        self as *mut _ as *mut T
    }
    #[inline]
    pub unsafe fn as_slice(&self, len: usize) -> &[T] {
        ::core::slice::from_raw_parts(self.as_ptr(), len)
    }
    #[inline]
    pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
        ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
    }
}
impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
    fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
        fmt.write_str("__IncompleteArrayField")
    }
}
pub const FLASHDIR: &'static [u8; 10usize] = b"/mnt/ext1\0";
pub const SDCARDDIR: &'static [u8; 10usize] = b"/mnt/ext2\0";
pub const USBDIR: &'static [u8; 10usize] = b"/mnt/ext3\0";
pub const SYSTEMDATA: &'static [u8; 9usize] = b"/ebrmain\0";
pub const USERDATA: &'static [u8; 17usize] = b"/mnt/ext1/system\0";
pub const USERDATA2: &'static [u8; 17usize] = b"/mnt/ext2/system\0";
pub const TEMPDIR: &'static [u8; 5usize] = b"/tmp\0";
pub const SECUREDIR: &'static [u8; 12usize] = b"/mnt/secure\0";
pub const VARRUNDIR: &'static [u8; 9usize] = b"/var/run\0";
pub const SYSTEMFONTDIR: &'static [u8; 15usize] = b"/ebrmain/fonts\0";
pub const USERFONTDIR: &'static [u8; 23usize] = b"/mnt/ext1/system/fonts\0";
pub const TEMPFONTPATH: &'static [u8; 11usize] = b"/tmp/fonts\0";
pub const PHOTOTEMPDIR: &'static [u8; 11usize] = b"/tmp/photo\0";
pub const USERPROFILES: &'static [u8; 26usize] = b"/mnt/ext1/system/profiles\0";
pub const USERPROFILES2: &'static [u8; 26usize] = b"/mnt/ext2/system/profiles\0";
pub const CURRENTPROFILE: &'static [u8; 35usize] = b"/mnt/ext1/system/profiles/.current\0";
pub const LASTPROFILE: &'static [u8; 32usize] = b"/mnt/ext1/system/profiles/.last\0";
pub const SALVAGEPROFILES: &'static [u8; 35usize] = b"/mnt/ext1/system/profiles/.salvage\0";
pub const CONFIGPATH: &'static [u8; 24usize] = b"/mnt/ext1/system/config\0";
pub const STATEPATH: &'static [u8; 23usize] = b"/mnt/ext1/system/state\0";
pub const SYSTEMTHEMESPATH: &'static [u8; 16usize] = b"/ebrmain/themes\0";
pub const USERTHEMESPATH: &'static [u8; 24usize] = b"/mnt/ext1/system/themes\0";
pub const CUSTOMRESOURCEPATH: &'static [u8; 27usize] = b"/mnt/ext1/system/resources\0";
pub const GLOBALCONFIGFILE: &'static [u8; 35usize] = b"/mnt/ext1/system/config/global.cfg\0";
pub const NETWORKCONFIGFILE: &'static [u8; 36usize] = b"/mnt/ext1/system/config/network.cfg\0";
pub const TSCALDATA: &'static [u8; 32usize] = b"/mnt/ext1/system/config/tsc.dat\0";
pub const TSCALDATA2: &'static [u8; 13usize] = b"/tmp/tsc.dat\0";
pub const SYSTEMLANGPATH: &'static [u8; 18usize] = b"/ebrmain/language\0";
pub const USERLANGPATH: &'static [u8; 26usize] = b"/mnt/ext1/system/language\0";
pub const SYSTEMKBDPATH: &'static [u8; 27usize] = b"/ebrmain/language/keyboard\0";
pub const USERKBDPATH: &'static [u8; 35usize] = b"/mnt/ext1/system/language/keyboard\0";
pub const SYSTEMDICTPATH: &'static [u8; 22usize] = b"/ebrmain/dictionaries\0";
pub const SECUREDICTPATH: &'static [u8; 25usize] = b"/mnt/secure/dictionaries\0";
pub const USERDICTPATH1: &'static [u8; 30usize] = b"/mnt/ext1/system/dictionaries\0";
pub const USERDICTPATH2: &'static [u8; 30usize] = b"/mnt/ext2/system/dictionaries\0";
pub const SYSTEMBOOTLOGOPATH: &'static [u8; 23usize] = b"/ebrmain/logo/bootlogo\0";
pub const SYSTEMOFFLOGOPATH: &'static [u8; 22usize] = b"/ebrmain/logo/offlogo\0";
pub const USERBOOTLOGOPATH: &'static [u8; 31usize] = b"/mnt/ext1/system/logo/bootlogo\0";
pub const USEROFFLOGOPATH: &'static [u8; 30usize] = b"/mnt/ext1/system/logo/offlogo\0";
pub const USERCOMPATLOGOPATH: &'static [u8; 22usize] = b"/mnt/ext1/system/logo\0";
pub const NOTESPATH: &'static [u8; 16usize] = b"/mnt/ext1/notes\0";
pub const NOTESPATH2: &'static [u8; 16usize] = b"/mnt/ext2/notes\0";
pub const GAMEPATH: &'static [u8; 23usize] = b"/mnt/ext1/applications\0";
pub const OLDGAMEPATH: &'static [u8; 16usize] = b"/mnt/ext1/games\0";
pub const USERAPPDIR: &'static [u8; 21usize] = b"/mnt/ext1/system/bin\0";
pub const CACHEPATH: &'static [u8; 23usize] = b"/mnt/ext1/system/cache\0";
pub const BACKUPDIR: &'static [u8; 17usize] = b"/mnt/ext2/backup\0";
pub const USERBOOKSHELF: &'static [u8; 35usize] = b"/mnt/ext1/system/bin/bookshelf.app\0";
pub const SYSTEMBOOKSHELF: &'static [u8; 27usize] = b"/ebrmain/bin/bookshelf.app\0";
pub const USERMPD: &'static [u8; 29usize] = b"/mnt/ext1/system/bin/mpd.app\0";
pub const SYSTEMMPD: &'static [u8; 21usize] = b"/ebrmain/bin/mpd.app\0";
pub const OBREEYSYNC_APP_PATH: &'static [u8; 28usize] = b"/ebrmain/bin/obreeysync.app\0";
pub const READER_CONTROLLER_APP_PATH: &'static [u8; 35usize] =
    b"/ebrmain/bin/reader_controller.app\0";
pub const DB_SERVER_APP_PATH: &'static [u8; 27usize] = b"/ebrmain/bin/db-server.app\0";
pub const READER_APP_PATH: &'static [u8; 29usize] = b"/ebrmain/bin/eink-reader.app\0";
pub const READER_CACHE_APP_PATH: &'static [u8; 35usize] = b"/ebrmain/bin/eink-cache-reader.app\0";
pub const OBREEYSYNC_V2_APP_PATH: &'static [u8; 32usize] = b"/ebrmain/bin/universal_sync.app\0";
pub const OBREEYSOCIAL_APP_PATH: &'static [u8; 30usize] = b"/ebrmain/bin/obreeysocial.app\0";
pub const USAGE_STAT_APP_PATH: &'static [u8; 28usize] = b"/ebrmain/bin/usage_stat.app\0";
pub const CONTROL_PANEL_APP_PATH: &'static [u8; 35usize] = b"/ebrmain/bin/control_panel_mgr.app\0";
pub const USEREXPLORER: &'static [u8; 34usize] = b"/mnt/ext1/system/bin/explorer.app\0";
pub const SYSTEMEXPLORER: &'static [u8; 26usize] = b"/ebrmain/bin/explorer.app\0";
pub const USERTASKMGR: &'static [u8; 33usize] = b"/mnt/ext1/system/bin/taskmgr.app\0";
pub const SYSTEMTASKMGR: &'static [u8; 25usize] = b"/ebrmain/bin/taskmgr.app\0";
pub const STATECLEANER: &'static [u8; 27usize] = b"/ebrmain/bin/cleanstate.sh\0";
pub const BACKUPSCRIPT: &'static [u8; 23usize] = b"/ebrmain/bin/backup.sh\0";
pub const RESTORESCRIPT: &'static [u8; 24usize] = b"/ebrmain/bin/restore.sh\0";
pub const NETAGENT: &'static [u8; 22usize] = b"/ebrmain/bin/netagent\0";
pub const BOOKLANDAPP: &'static [u8; 26usize] = b"/ebrmain/bin/bookland.app\0";
pub const USERMPLAYER: &'static [u8; 32usize] = b"/mnt/ext1/system/bin/mplayer.so\0";
pub const USERBOOKINFO: &'static [u8; 33usize] = b"/mnt/ext1/system/bin/bookinfo.so\0";
pub const POCKETBOOKSIG: &'static [u8; 29usize] = b"/mnt/ext1/system/.pocketbook\0";
pub const USERSCANNER: &'static [u8; 33usize] = b"/mnt/ext1/system/bin/scanner.app\0";
pub const SYSTEMSCANNER: &'static [u8; 25usize] = b"/ebrmain/bin/scanner.app\0";
pub const FRONTLIGHT_APP: &'static [u8; 16usize] = b"front-light.app\0";
pub const USERFRONTLIGHT: &'static [u8; 37usize] = b"/mnt/ext1/system/bin/front-light.app\0";
pub const SYSTEMSFRONTLIGHT: &'static [u8; 29usize] = b"/ebrmain/bin/front-light.app\0";
pub const LASTOPENBOOKS: &'static [u8; 36usize] = b"/mnt/ext1/system/state/lastopen.txt\0";
pub const CURRENTBOOK_SAVE: &'static [u8; 31usize] = b"/mnt/ext1/system/state/current\0";
pub const FAVORITES: &'static [u8; 26usize] = b"/mnt/ext1/system/favorite\0";
pub const CURRENTBOOK: &'static [u8; 14usize] = b"/tmp/.current\0";
pub const BOOKSHELFSTATE: &'static [u8; 14usize] = b"/tmp/.bsstate\0";
pub const BOOKSHELFSTATE_NV: &'static [u8; 32usize] = b"/mnt/ext1/system/state/.bsstate\0";
pub const HISTORYFILE: &'static [u8; 17usize] = b"/tmp/history.txt\0";
pub const DICKEYBOARD: &'static [u8; 20usize] = b"/tmp/dictionary.kbd\0";
pub const PLAYLISTFILE: &'static [u8; 18usize] = b"/tmp/playlist.pls\0";
pub const NETAGENTLOG: &'static [u8; 18usize] = b"/tmp/netagent.log\0";
pub const ADOBEPATH: &'static [u8; 34usize] = b"/mnt/ext1/.adobe-digital-editions\0";
pub const ADOBEPATH2: &'static [u8; 34usize] = b"/mnt/ext2/.adobe-digital-editions\0";
pub const HANDLERSPATH: &'static [u8; 37usize] = b"/mnt/ext1/system/config/handlers.cfg\0";
pub const URLHISTORY: &'static [u8; 38usize] = b"/mnt/ext1/system/cache/urlhistory.txt\0";
pub const WEBCACHE: &'static [u8; 14usize] = b"/tmp/webcache\0";
pub const WEBCACHEINDEX: &'static [u8; 20usize] = b"/tmp/webcache/index\0";
pub const WIDGETSCONFIG: &'static [u8; 32usize] = b"/mnt/ext1/system/config/widgets\0";
pub const WIDGETSOPEN: &'static [u8; 41usize] = b"/mnt/ext1/system/config/widgets/open.cfg\0";
pub const SWUPDATESTATUS: &'static [u8; 24usize] = b"/mnt/secure/swupdate.db\0";
pub const TASKINFOPATH: &'static [u8; 14usize] = b"/var/run/task\0";
pub const DOWNLOADFOLDER: &'static [u8; 20usize] = b"/mnt/ext1/Downloads\0";
pub const CERTIFICATESFOLDER: &'static [u8; 30usize] = b"/mnt/ext1/system/Certificates\0";
pub const PROXYCONFIGFILE: &'static [u8; 15usize] = b"/var/etc/proxy\0";
pub const AUTO_CONNECT_APP: &'static [u8; 30usize] = b"/ebrmain/bin/auto_connect.app\0";
pub const SILENT_CONNECT_CFG: &'static [u8; 46usize] =
    b"/mnt/ext1/system/config/silent_connection.cfg\0";
pub const SOCIAL_DIRECTORY: &'static [u8; 33usize] = b"/mnt/ext1/system/config/readrate\0";
pub const SOCIAL_PENDING_ACTIONS_FILE: &'static [u8; 52usize] =
    b"/mnt/ext1/system/config/readrate/pending_action.dat\0";
pub const SOCIALCONFIG: &'static [u8; 44usize] = b"/mnt/ext1/system/config/readrate/social.cfg\0";
pub const UNIVERSAL_SYNC_DIRECTORY: &'static [u8; 39usize] =
    b"/mnt/ext1/system/config/universal_sync\0";
pub const DROPBOX_DIRECTORY: &'static [u8; 32usize] = b"/mnt/ext1/system/config/dropbox\0";
pub const PBCLOUD_CONFIG_FILE: &'static [u8; 36usize] = b"/mnt/ext1/system/config/pbcloud.cfg\0";
pub const DEMO_APP_PATH: &'static [u8; 27usize] = b"/ebrmain/bin/picviewer.app\0";
pub const DEMO_IMAGES_PATH: &'static [u8; 22usize] = b"/mnt/ext1/system/demo\0";
pub const CHECKUPDATE_INFO_PATH: &'static [u8; 16usize] = b"/tmp/newsw.info\0";
pub const DEVICE_VARIABLE_CFG: &'static [u8; 23usize] = b"/mnt/secure/device.cfg\0";
pub const CONFIGURED_DEVICE_CFG: &'static [u8; 20usize] = b"/var/run/device.cfg\0";
pub const LOGO_APP_PATH: &'static [u8; 32usize] = b"/ebrmain/bin/power_off_logo.app\0";
pub const BROWSER_FOR_AUTH: &'static [u8; 25usize] = b"/ebrmain/bin/browser.app\0";
pub const READER_MANAGER_SOCKET_NAME: &'static [u8; 28usize] = b"\0reader_manager_socket_name\0";
pub const READER_CACHE_SOCKET_NAME: &'static [u8; 26usize] = b"\0reader_cache_socket_name\0";
pub const PROFILE_LOCAL: i32 = 1;
pub const PROFILE_SDCARD: i32 = 2;
pub const SYSTEMDEPTH: i32 = 8;
pub const MAXMSGSIZE: i32 = 65520;
pub const BLACK: i32 = 0;
pub const DGRAY: i32 = 5592405;
pub const LGRAY: i32 = 11184810;
pub const WHITE: i32 = 16777215;
pub const ITEM_HEADER: i32 = 1;
pub const ITEM_ACTIVE: i32 = 2;
pub const ITEM_INACTIVE: i32 = 3;
pub const ITEM_SUBMENU: i32 = 5;
pub const ITEM_SEPARATOR: i32 = 6;
pub const ITEM_BULLET: i32 = 7;
pub const ITEM_TYPEMASK: i32 = 31;
pub const ITEM_HIDDEN: i32 = 128;
pub const ITEM_OLDMENU: i32 = 32768;
pub const ITEM_ALTSTYLE: i32 = 64;
pub const KBD_NORMAL: i32 = 0;
pub const KBD_ENTEXT: i32 = 1;
pub const KBD_PHONE: i32 = 2;
pub const KBD_NUMERIC: i32 = 4;
pub const KBD_IPADDR: i32 = 5;
pub const KBD_FILENAME: i32 = 6;
pub const KBD_URL: i32 = 7;
pub const KBD_DATE: i32 = 8;
pub const KBD_TIME: i32 = 9;
pub const KBD_DATETIME: i32 = 10;
pub const KBD_HEX: i32 = 11;
pub const KBD_HOURS: i32 = 12;
pub const KBD_UPPER: i32 = 16;
pub const KBD_LOWER: i32 = 32;
pub const KBD_FIRSTUPPER: i32 = 48;
pub const KBD_PASSWORD: i32 = 256;
pub const KBD_NOSELECT: i32 = 512;
pub const KBD_SCREENTOP: i32 = 1024;
pub const KBD_NOHEADER: i32 = 2048;
pub const KBD_NOEVTSHOW: i32 = 4096;
pub const KBD_SENDKEYBOARDSTATEEVENTS: i32 = 8192;
pub const KBD_NOTOUCH: i32 = 16384;
pub const KBD_PASSEVENTS: i32 = 32768;
pub const KBD_NOUPDATE_AFTER_CLOSE: i32 = 65536;
pub const KBD_EN_DEFAULT: i32 = 131072;
pub const KBD_NOUPDATE_AFTER_OPEN: i32 = 262144;
pub const KBD_NO_SELFCLOSE_ON_OK: i32 = 524288;
pub const KBD_CUSTOM_ENTER_KEY: i32 = 1048576;
pub const KBD_MARKED_ENTER_KEY: i32 = 2097152;
pub const KBD_PASSWORD_WIFI: i32 = 4194304;
pub const KBD_NEXT: i32 = 8388608;
pub const NO_DISMISS: i32 = 32768;
pub const WITH_SIZE: i32 = 1;
pub const LIST_BEGINPAINT: i32 = 1;
pub const LIST_PAINT: i32 = 2;
pub const LIST_ENDPAINT: i32 = 3;
pub const LIST_OPEN: i32 = 4;
pub const LIST_MENU: i32 = 5;
pub const LIST_DELETE: i32 = 6;
pub const LIST_EXIT: i32 = 7;
pub const LIST_ORIENTATION: i32 = 8;
pub const LIST_POINTER: i32 = 9;
pub const LIST_INFO: i32 = 11;
pub const LIST_SCROLL: i32 = 12;
pub const LISTFLAG_SCROLL: i32 = 1073741824;
pub const BMK_CLOSED: i32 = -1;
pub const BMK_SELECTED: i32 = 1;
pub const BMK_ADDED: i32 = 2;
pub const BMK_REMOVED: i32 = 3;
pub const BMK_PAINT: i32 = 4;
pub const CFG_TEXT: i32 = 1;
pub const CFG_CHOICE: i32 = 2;
pub const CFG_INDEX: i32 = 3;
pub const CFG_TIME: i32 = 4;
pub const CFG_FONT: i32 = 5;
pub const CFG_FONTFACE: i32 = 6;
pub const CFG_INFO: i32 = 7;
pub const CFG_NUMBER: i32 = 8;
pub const CFG_ENTEXT: i32 = 9;
pub const CFG_PASSWORD: i32 = 10;
pub const CFG_IPADDR: i32 = 11;
pub const CFG_URL: i32 = 12;
pub const CFG_PHONE: i32 = 13;
pub const CFG_ACTIONS: i32 = 14;
pub const CFG_CHOICE_SPECIAL_FONT: i32 = 15;
pub const CFG_DIRECTORY: i32 = 16;
pub const CFG_HOURS: i32 = 17;
pub const CFG_CHECKBOX: i32 = 18;
pub const CFG_SUBMENU_ACTION: i32 = 29;
pub const CFG_CUSTOM: i32 = 30;
pub const CFG_SUBMENU: i32 = 31;
pub const CFG_MASK: i32 = 127;
pub const CFG_FLAG_MASK: i32 = -128;
pub const CFG_HIDDEN: i32 = 128;
pub const CFG_READONLY: i32 = 256;
pub const CFG_BSCSPEC: i32 = 512;
pub const ALLTASKS: i32 = -1;
pub const MAINTASK: i32 = -2;
pub const OTHERTASKS: i32 = -3;
pub const THISTASK: i32 = -4;
pub const ACTIVETASK: i32 = -5;
pub const MPLAYERTASK: i32 = -6;
pub const DICTIONARYTASK: i32 = -7;
pub const ALLSUBTASKS: i32 = -1;
pub const CURRENTSUBTASK: i32 = -6;
pub const TASK_HIDDEN: i32 = 1;
pub const TASK_COPYLASTFB: i32 = 2;
pub const TASK_NOUPDATEONFOCUS: i32 = 4;
pub const TASK_SINGLEINSTANCE: i32 = 8;
pub const TASK_SPYEVENTS: i32 = 16;
pub const TASK_OUTOFSTACK: i32 = 32;
pub const TASK_NOFORCEDKILL: i32 = 64;
pub const TASK_MAKEACTIVE: i32 = 128;
pub const TASK_GROUP1: i32 = 256;
pub const TASK_GROUP2: i32 = 512;
pub const TASK_OOMPROOF: i32 = 16384;
pub const TASK_AUTORESTART: i32 = 32768;
pub const TASK_DONTSENDTASKMSG: i32 = 65536;
pub const TASK_DONTCHANGE: u32 = 4294967295;
pub const TASK_BACKGROUND: i32 = 37;
pub const TASK_NOHANDLER: i32 = 65573;
pub const RQL_ADD: i32 = 1;
pub const RQL_REPLACE: i32 = 2;
pub const RQL_ADDIFNONE: i32 = 3;
pub const RQL_REMOVE: i32 = 4;
pub const ALIGN_LEFT: i32 = 1;
pub const ALIGN_CENTER: i32 = 2;
pub const ALIGN_RIGHT: i32 = 4;
pub const ALIGN_FIT: i32 = 8;
pub const VALIGN_TOP: i32 = 16;
pub const VALIGN_MIDDLE: i32 = 32;
pub const VALIGN_BOTTOM: i32 = 64;
pub const ROTATE: i32 = 128;
pub const HYPHENS: i32 = 256;
pub const DOTS: i32 = 512;
pub const RTLAUTO: i32 = 1024;
pub const UNDERLINE: i32 = 2048;
pub const STRETCH: i32 = 4096;
pub const TILE: i32 = 8192;
pub const TO_UPPER: i32 = 16384;
pub const FR_CLOSE: i32 = 1;
pub const FR_MOVEUP: i32 = 2;
pub const FR_MOVEDOWN: i32 = 4;
pub const FR_DICTIONARY: i32 = 67108864;
pub const FR_NOMARGIN: i32 = 134217728;
pub const FR_OVERLAP: i32 = 268435456;
pub const FR_HEADER: i32 = 536870912;
pub const FR_UPDATE: i32 = 1073741824;
pub const FR_INFO: i32 = 65536;
pub const FR_WARNING: i32 = 131072;
pub const FR_ERROR: i32 = 196608;
pub const FR_DIALOG: i32 = 262144;
pub const FR_APP: i32 = 327680;
pub const ARROW_LEFT: i32 = 1;
pub const ARROW_RIGHT: i32 = 2;
pub const ARROW_UP: i32 = 3;
pub const ARROW_DOWN: i32 = 4;
pub const SYMBOL_OK: i32 = 5;
pub const SYMBOL_PAUSE: i32 = 6;
pub const SYMBOL_BULLET: i32 = 7;
pub const ARROW_UPDOWN: i32 = 8;
pub const SYMBOL_MENU: i32 = 9;
pub const IMAGE_BW: i32 = 1;
pub const IMAGE_RGB: i32 = 24;
pub const ROTATE0: i32 = 0;
pub const ROTATE90: i32 = 1;
pub const ROTATE270: i32 = 2;
pub const ROTATE180: i32 = 3;
pub const XMIRROR: i32 = 4;
pub const YMIRROR: i32 = 8;
pub const A2DITHER: i32 = 16;
pub const DITHER_THRESHOLD: i32 = 0;
pub const DITHER_PATTERN: i32 = 1;
pub const DITHER_DIFFUSION: i32 = 2;
pub const QN_X: i32 = 4096;
pub const QN_Y: i32 = 8192;
pub const QN_XY: i32 = 12288;
pub const QN_SWAIT: i32 = 16384;
pub const QN_RWAIT: i32 = 32768;
pub const QN_CLEANUP: i32 = 65536;
pub const MP_ONCE: i32 = 0;
pub const MP_CONTINUOUS: i32 = 1;
pub const MP_RANDOM: i32 = 2;
pub const FTYPE_UNKNOWN: i32 = 0;
pub const FTYPE_BOOK: i32 = 1;
pub const FTYPE_PICTURE: i32 = 2;
pub const FTYPE_MUSIC: i32 = 3;
pub const FTYPE_APPLICATION: i32 = 4;
pub const FTYPE_WEBLINK: i32 = 5;
pub const FTYPE_FOLDER: i32 = 255;
pub const OB_ADDTOLAST: i32 = 1;
pub const OB_WITHRETURN: i32 = 2;
pub const OB_PARAMSFIRST: i32 = 4;
pub const OB_NONEWTASK: i32 = 8;
pub const OB_SOFTUPDATE: i32 = 16;
pub const OB_NOHOURGLASS: i32 = 32;
pub const NET_BLUETOOTH: i32 = 1;
pub const NET_WIFI: i32 = 2;
pub const NET_CDMA3G: i32 = 4;
pub const NET_BTREADY: i32 = 256;
pub const NET_WIFIREADY: i32 = 512;
pub const NET_CDMA3GREADY: i32 = 1024;
pub const NET_CONNECTED: i32 = 3840;
pub const CONN_GPRS: i32 = 1;
pub const CONN_WIFI: i32 = 2;
pub const CONN_CDMA3G: i32 = 3;
pub const BLUETOOTH_OFF: i32 = 0;
pub const BLUETOOTH_HIDDEN: i32 = 1;
pub const BLUETOOTH_VISIBLE: i32 = 2;
pub const NET_OK: i32 = 0;
pub const NET_CONNECT: i32 = 1;
pub const NET_TRANSFER: i32 = 2;
pub const NET_FAIL: i32 = -11;
pub const NET_ABORTED: i32 = -12;
pub const NET_EINIT: i32 = -13;
pub const NET_EWRONGID: i32 = -14;
pub const NET_ENETWORK: i32 = -15;
pub const NET_EFILE: i32 = -16;
pub const NET_EPIPE: i32 = -17;
pub const NET_ETHREAD: i32 = -18;
pub const NET_EPROTO: i32 = -19;
pub const NET_EURL: i32 = -20;
pub const NET_ERESOLVE: i32 = -21;
pub const NET_ECONNECT: i32 = -22;
pub const NET_EACCESS: i32 = -23;
pub const NET_ENOTFOUND: i32 = -24;
pub const NET_EPARTIAL: i32 = -25;
pub const NET_EBROKEN: i32 = -26;
pub const NET_ETIMEOUT: i32 = -27;
pub const NET_ESERVER: i32 = -28;
pub const NET_EHTTP: i32 = -29;
pub const NET_EHARDWARE: i32 = -30;
pub const NET_ENOTCONF: i32 = -31;
pub const NET_EBADCONF: i32 = -32;
pub const NET_ENODEVICE: i32 = -33;
pub const NET_EPPP: i32 = -34;
pub const NET_EDISABLED: i32 = -35;
pub const NET_EDHCP: i32 = -36;
pub const NET_EWRONGKEY: i32 = -37;
pub const NET_EAUTH: i32 = -38;
pub const VN_NOPATH: i32 = 1;
pub const VN_NOESCAPE: i32 = 2;
pub const VN_ABSOLUTE: i32 = 4;
pub const VN_RELATIVE: i32 = 8;
pub const A2DP_DISCONNECTED: i32 = 0;
pub const A2DP_CONNECTED_TO_SNK: i32 = 1;
pub const CF_CONFIG_RESUME: i32 = 1;
pub const FONT_ACTIVATE_CODE: u32 = 2410017735;
pub const GSENSOR_OFF: i32 = 0;
pub const GSENSOR_ON: i32 = 1;
pub const GSENSOR_INTR: i32 = 2;
pub type size_t = c_types::c_uint;
pub type __quad_t = c_types::c_longlong;
pub type __u_quad_t = c_types::c_ulonglong;
pub type __dev_t = __u_quad_t;
pub type __uid_t = c_types::c_uint;
pub type __gid_t = c_types::c_uint;
pub type __ino_t = c_types::c_ulong;
pub type __mode_t = c_types::c_uint;
pub type __nlink_t = c_types::c_uint;
pub type __off_t = c_types::c_long;
pub type __off64_t = __quad_t;
pub type __pid_t = c_types::c_int;
pub type __time_t = c_types::c_long;
pub type __useconds_t = c_types::c_uint;
pub type __blksize_t = c_types::c_long;
pub type __blkcnt_t = c_types::c_long;
pub type __syscall_slong_t = c_types::c_long;
pub type FILE = _IO_FILE;
pub type _IO_lock_t = c_types::c_void;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _IO_marker {
    pub _next: *mut _IO_marker,
    pub _sbuf: *mut _IO_FILE,
    pub _pos: c_types::c_int,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct _IO_FILE {
    pub _flags: c_types::c_int,
    pub _IO_read_ptr: *mut c_types::c_char,
    pub _IO_read_end: *mut c_types::c_char,
    pub _IO_read_base: *mut c_types::c_char,
    pub _IO_write_base: *mut c_types::c_char,
    pub _IO_write_ptr: *mut c_types::c_char,
    pub _IO_write_end: *mut c_types::c_char,
    pub _IO_buf_base: *mut c_types::c_char,
    pub _IO_buf_end: *mut c_types::c_char,
    pub _IO_save_base: *mut c_types::c_char,
    pub _IO_backup_base: *mut c_types::c_char,
    pub _IO_save_end: *mut c_types::c_char,
    pub _markers: *mut _IO_marker,
    pub _chain: *mut _IO_FILE,
    pub _fileno: c_types::c_int,
    pub _flags2: c_types::c_int,
    pub _old_offset: __off_t,
    pub _cur_column: c_types::c_ushort,
    pub _vtable_offset: c_types::c_schar,
    pub _shortbuf: [c_types::c_char; 1usize],
    pub _lock: *mut _IO_lock_t,
    pub _offset: __off64_t,
    pub __pad1: *mut c_types::c_void,
    pub __pad2: *mut c_types::c_void,
    pub __pad3: *mut c_types::c_void,
    pub __pad4: *mut c_types::c_void,
    pub __pad5: size_t,
    pub _mode: c_types::c_int,
    pub _unused2: [c_types::c_char; 40usize],
}
pub type mode_t = __mode_t;
pub type pid_t = __pid_t;
pub type time_t = __time_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct timespec {
    pub tv_sec: __time_t,
    pub tv_nsec: __syscall_slong_t,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct stat {
    pub st_dev: __dev_t,
    pub __pad1: c_types::c_ushort,
    pub st_ino: __ino_t,
    pub st_mode: __mode_t,
    pub st_nlink: __nlink_t,
    pub st_uid: __uid_t,
    pub st_gid: __gid_t,
    pub st_rdev: __dev_t,
    pub __pad2: c_types::c_ushort,
    pub st_size: __off_t,
    pub st_blksize: __blksize_t,
    pub st_blocks: __blkcnt_t,
    pub st_atim: timespec,
    pub st_mtim: timespec,
    pub st_ctim: timespec,
    pub __glibc_reserved4: c_types::c_ulong,
    pub __glibc_reserved5: c_types::c_ulong,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct dirent {
    pub d_ino: __ino_t,
    pub d_off: __off_t,
    pub d_reclen: c_types::c_ushort,
    pub d_type: c_types::c_uchar,
    pub d_name: [c_types::c_char; 256usize],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __dirstream {
    _unused: [u8; 0],
}
pub type DIR = __dirstream;
extern "C" {
    pub static mut OBREEY_BSCONFIG_PARAMETR: *const c_types::c_char;
}
extern "C" {
    pub static mut OBREEY_STORE_BSCONFIG_PARAM: *const c_types::c_char;
}
extern "C" {
    pub static mut OBREEY_SOCIAL_COOKIES_PATH: *const c_types::c_char;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum AvrcpCommands {
    AVRCP_NEXT = 0,
    AVRCP_PREVIOUS = 1,
    AVRCP_PAUSE = 2,
    AVRCP_PLAY_PAUSE = 3,
    AVRCP_STOP = 4,
    AVRCP_PLAY = 5,
    AVRCP_SET_VOLUME = 6,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum PB_STATE_e {
    MP_STOPPED = 0,
    MP_REQUEST_FOR_PLAY = 1,
    MP_PLAYING = 2,
    MP_PAUSED = 3,
    MP_PREVTRACK = 4,
    MP_NEXTTRACK = 5,
    MP_TRACK_FINISHED = 6,
    MP_LOAD_FILE_AND_PAUSE = 7,
}
pub use self::PB_STATE_e as PB_STATE;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum PB_TTS_STATE_e {
    TTS_STOPPED = 0,
    TTS_PLAYING = 1,
    TTS_PAUSED = 2,
}
pub use self::PB_TTS_STATE_e as PB_TTS_STATE;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum WIFI_SECURITY {
    NO = 0,
    WEP = 1,
    WPAEAP = 2,
    WPAPSK = 3,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum NET_STATE {
    NET_STATE_UNKNOWN = -1,
    DISCONNECTED = 0,
    CONNECTING = 1,
    CONNECTED = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FONT_TYPE {
    FONT_STD = 0,
    FONT_BOLD = 1,
    FONT_ITALIC = 2,
    FONT_BOLDITALIC = 3,
    FONT_MONO = 4,
    FONT_FAMILY = 5,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum SideFlags {
    SFLAGS_NONE = 0,
    SFLAGS_LEFT = 1,
    SFLAGS_RIGHT = 2,
    SFLAGS_RIGHT_LEFT = 3,
    SFLAGS_UP = 4,
    SFLAGS_UP_LEFT = 5,
    SFLAGS_UP_RIGHT = 6,
    SFLAGS_UP_RIGHT_LEFT = 7,
    SFLAGS_DOWN = 8,
    SFLAGS_DOWN_LEFT = 9,
    SFLAGS_DOWN_RIGHT = 10,
    SFLAGS_DOWN_RIGHT_LEFT = 11,
    SFLAGS_DOWN_UP = 12,
    SFLAGS_DOWN_UP_LEFT = 13,
    SFLAGS_DOWN_UP_RIGHT = 14,
    SFLAGS_ALL = 15,
}
impl PanelType {
    pub const DISABLED: PanelType = PanelType(0);
}
impl PanelType {
    pub const ENABLED: PanelType = PanelType(2);
}
impl PanelType {
    pub const EVENT_NO_HANDLING: PanelType = PanelType(4);
}
impl PanelType {
    pub const NO_FB_OFFSET: PanelType = PanelType(8);
}
impl ::core::ops::BitOr<PanelType> for PanelType {
    type Output = Self;
    #[inline]
    fn bitor(self, other: Self) -> Self {
        PanelType(self.0 | other.0)
    }
}
impl ::core::ops::BitOrAssign for PanelType {
    #[inline]
    fn bitor_assign(&mut self, rhs: PanelType) {
        self.0 |= rhs.0;
    }
}
impl ::core::ops::BitAnd<PanelType> for PanelType {
    type Output = Self;
    #[inline]
    fn bitand(self, other: Self) -> Self {
        PanelType(self.0 & other.0)
    }
}
impl ::core::ops::BitAndAssign for PanelType {
    #[inline]
    fn bitand_assign(&mut self, rhs: PanelType) {
        self.0 &= rhs.0;
    }
}
#[repr(transparent)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub struct PanelType(pub c_types::c_uint);
extern "C" {
    pub fn iv_get_default_font(fonttype: FONT_TYPE) -> *mut c_types::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct irect_s {
    pub x: c_types::c_int,
    pub y: c_types::c_int,
    pub w: c_types::c_int,
    pub h: c_types::c_int,
    pub flags: c_types::c_int,
}
pub type irect = irect_s;
#[repr(C)]
#[derive(Debug)]
pub struct ibitmap_s {
    pub width: c_types::c_ushort,
    pub height: c_types::c_ushort,
    pub depth: c_types::c_ushort,
    pub scanline: c_types::c_ushort,
    pub data: __IncompleteArrayField<c_types::c_uchar>,
}
pub type ibitmap = ibitmap_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct control_panel_s {
    pub flags: c_types::c_int,
}
pub type control_panel = control_panel_s;
pub type iv_handler = ::core::option::Option<
    unsafe extern "C" fn(
        type_: c_types::c_int,
        par1: c_types::c_int,
        par2: c_types::c_int,
    ) -> c_types::c_int,
>;
pub type iv_timerproc = ::core::option::Option<unsafe extern "C" fn()>;
pub type iv_timerprocEx =
    ::core::option::Option<unsafe extern "C" fn(context: *mut c_types::c_void)>;
pub type iv_menuhandler = ::core::option::Option<unsafe extern "C" fn(index: c_types::c_int)>;
pub type iv_keyboardhandler =
    ::core::option::Option<unsafe extern "C" fn(text: *mut c_types::c_char)>;
pub type iv_keyboardhandlerex = ::core::option::Option<
    unsafe extern "C" fn(text: *mut c_types::c_char, data: *mut c_types::c_void),
>;
pub type iv_dialoghandler = ::core::option::Option<unsafe extern "C" fn(button: c_types::c_int)>;
pub type iv_timeedithandler =
    ::core::option::Option<unsafe extern "C" fn(newtime: c_types::c_long)>;
pub type iv_fontselecthandler = ::core::option::Option<
    unsafe extern "C" fn(
        fontr: *mut c_types::c_char,
        fontb: *mut c_types::c_char,
        fonti: *mut c_types::c_char,
        fontbi: *mut c_types::c_char,
    ),
>;
pub type iv_dirselecthandler =
    ::core::option::Option<unsafe extern "C" fn(path: *mut c_types::c_char)>;
pub type iv_confighandler = ::core::option::Option<unsafe extern "C" fn()>;
pub type iv_itemchangehandler =
    ::core::option::Option<unsafe extern "C" fn(name: *mut c_types::c_char)>;
pub type iv_pageselecthandler = ::core::option::Option<unsafe extern "C" fn(page: c_types::c_int)>;
pub type iv_bmkhandler = ::core::option::Option<
    unsafe extern "C" fn(
        action: c_types::c_int,
        page: c_types::c_int,
        position: c_types::c_longlong,
    ),
>;
pub type iv_tochandler =
    ::core::option::Option<unsafe extern "C" fn(position: c_types::c_longlong)>;
pub type iv_itempaint = ::core::option::Option<
    unsafe extern "C" fn(
        x: c_types::c_int,
        y: c_types::c_int,
        index: c_types::c_int,
        selected: c_types::c_int,
    ),
>;
pub type iv_listhandler = ::core::option::Option<
    unsafe extern "C" fn(
        action: c_types::c_int,
        x: c_types::c_int,
        y: c_types::c_int,
        idx: c_types::c_int,
        state: c_types::c_int,
    ) -> c_types::c_int,
>;
pub type iv_rotatehandler = ::core::option::Option<unsafe extern "C" fn(direction: c_types::c_int)>;
pub type iv_turnproc =
    ::core::option::Option<unsafe extern "C" fn(direction: c_types::c_int) -> c_types::c_int>;
pub type iv_recurser = ::core::option::Option<
    unsafe extern "C" fn(
        path: *mut c_types::c_char,
        type_: c_types::c_int,
        data: *mut c_types::c_void,
    ) -> c_types::c_int,
>;
pub type iv_msghandler = ::core::option::Option<
    unsafe extern "C" fn(
        task: c_types::c_int,
        message: *mut c_types::c_void,
        len: c_types::c_int,
    ) -> c_types::c_int,
>;
pub type iv_requestlistener = ::core::option::Option<
    unsafe extern "C" fn(
        request: c_types::c_int,
        data: *mut c_types::c_void,
        inlen: c_types::c_int,
        outlen: c_types::c_int,
    ) -> c_types::c_int,
>;
pub type iv_hashenumproc = ::core::option::Option<
    unsafe extern "C" fn(
        name: *mut c_types::c_char,
        value: *mut c_types::c_void,
        userdata: *mut c_types::c_void,
    ) -> c_types::c_int,
>;
pub type iv_hashcmpproc = ::core::option::Option<
    unsafe extern "C" fn(
        name1: *mut c_types::c_char,
        value1: *mut c_types::c_void,
        name2: *mut c_types::c_char,
        value2: *mut c_types::c_void,
    ) -> c_types::c_int,
>;
pub type iv_hashaddproc = ::core::option::Option<
    unsafe extern "C" fn(data: *mut c_types::c_void) -> *mut c_types::c_void,
>;
pub type iv_hashdelproc = ::core::option::Option<unsafe extern "C" fn(data: *mut c_types::c_void)>;
pub type iv_panelupdateshandler = ::core::option::Option<
    unsafe extern "C" fn(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
    ),
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct TransparentDefinition {
    pub m_TRANSPARENT_MATRIX: [c_types::c_char; 256usize],
    pub m_isInitTransparentMatrix: c_types::c_int,
    pub m_PercentOfTransparent: c_types::c_int,
}
pub type TransparentHandle = TransparentDefinition;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ihash_item_s {
    pub name: *mut c_types::c_char,
    pub value: *mut c_types::c_void,
    pub next: *mut ihash_item_s,
}
pub type ihash_item = ihash_item_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ihash_s {
    pub prime: c_types::c_int,
    pub count: c_types::c_int,
    pub addproc: iv_hashaddproc,
    pub delproc: iv_hashdelproc,
    pub items: *mut *mut ihash_item_s,
}
pub type ihash = ihash_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifont_s {
    pub name: *mut c_types::c_char,
    pub family: *mut c_types::c_char,
    pub size: c_types::c_int,
    pub aa: c_types::c_uchar,
    pub isbold: c_types::c_uchar,
    pub isitalic: c_types::c_uchar,
    pub _r1: c_types::c_uchar,
    pub charset: c_types::c_ushort,
    pub _r2: c_types::c_ushort,
    pub color: c_types::c_int,
    pub height: c_types::c_int,
    pub linespacing: c_types::c_int,
    pub baseline: c_types::c_int,
    pub fdata: *mut c_types::c_void,
}
pub type ifont = ifont_s;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum FONT_MENU_FLAGS {
    FM_SHOW_SIZE = 1,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iuser_font_s {
    pub show_font_name: *mut c_types::c_char,
    pub real_font_name: *mut c_types::c_char,
    pub font: *mut ifont,
}
pub type iuser_font = iuser_font_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifont_list_s {
    pub list: *mut iuser_font,
    pub count: c_types::c_int,
}
pub type ifont_list = ifont_list_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifont_menu_s {
    pub menu_title: *mut c_types::c_char,
    pub current_font: *mut c_types::c_char,
    pub flags: FONT_MENU_FLAGS,
    pub hproc: iv_fontselecthandler,
    pub user_fonts: *mut ifont_list,
}
pub type ifont_menu = ifont_menu_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct imenu_s {
    pub type_: c_types::c_short,
    pub index: c_types::c_short,
    pub text: *mut c_types::c_char,
    pub submenu: *mut imenu_s,
}
pub type imenu = imenu_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct imenuex_s {
    pub type_: c_types::c_short,
    pub index: c_types::c_short,
    pub text: *mut c_types::c_char,
    pub submenu: *mut imenuex_s,
    pub icon: *mut ibitmap,
    pub reserved: *mut c_types::c_void,
    pub font: *const ifont,
}
pub type imenuex = imenuex_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct icanvas_s {
    pub width: c_types::c_int,
    pub height: c_types::c_int,
    pub scanline: c_types::c_int,
    pub depth: c_types::c_int,
    pub clipx1: c_types::c_int,
    pub clipx2: c_types::c_int,
    pub clipy1: c_types::c_int,
    pub clipy2: c_types::c_int,
    pub addr: *mut c_types::c_uchar,
}
pub type icanvas = icanvas_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct icontext_menu_properties_s {
    pub font_normal: *mut ifont,
    pub font_selected: *mut ifont,
    pub font_disabled: *mut ifont,
    pub background_color_normal: c_types::c_int,
    pub background_color_disabled: c_types::c_int,
    pub blackout: c_types::c_int,
    pub item_height: c_types::c_int,
    pub item_border_indent_horizontal: c_types::c_int,
    pub separator_indent_horizontal: c_types::c_int,
    pub separator_indent_vertical: c_types::c_int,
    pub separator_height: c_types::c_int,
    pub separator_style: c_types::c_int,
    pub separator_color: c_types::c_int,
    pub separator_frequency: c_types::c_int,
    pub marker_height: c_types::c_int,
    pub marker_indent_horizontal: c_types::c_int,
    pub marker_style: c_types::c_int,
    pub marker_color: c_types::c_int,
    pub border_size: c_types::c_int,
    pub border_radius: c_types::c_int,
    pub title_height: c_types::c_int,
    pub enable_pointer: c_types::c_int,
    pub font_normal_color: c_types::c_int,
    pub font_selected_color: c_types::c_int,
    pub font_disabled_color: c_types::c_int,
    pub bullet_show: c_types::c_int,
    pub bullet_style: c_types::c_int,
    pub item_border_indent_vertical: c_types::c_int,
    pub background_style: c_types::c_int,
}
pub type icontext_menu_properties = icontext_menu_properties_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ifont_selector_properties {
    pub custom_font_enable: c_types::c_ushort,
}
pub type font_selector_properties = ifont_selector_properties;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct icontext_menu_s {
    pub id: *const c_types::c_char,
    pub hproc: iv_menuhandler,
    pub menuex: *const imenuex,
    pub menu: *const imenu,
    pub pos_selected_item: irect,
    pub pos_menu: irect,
    pub properties: *mut icontext_menu_properties,
    pub active_element: c_types::c_int,
    pub enable_pointer: c_types::c_short,
    pub enable_aura: c_types::c_short,
    pub use_own_font: c_types::c_short,
    pub update_after_close: c_types::c_short,
    pub only_choise: c_types::c_short,
}
pub type icontext_menu = icontext_menu_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iapp_caption_s {
    pub rect_portrait: irect,
    pub rect_landscape: irect,
    pub font: *mut ifont,
    pub title_height: c_types::c_int,
    pub background_color: c_types::c_int,
    pub is_active: c_types::c_short,
    pub is_uppercase: c_types::c_short,
}
pub type iapp_caption = iapp_caption_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct itaskmgr_s {
    pub title_height: c_types::c_int,
    pub title_font: *mut ifont,
    pub task_font: *mut ifont,
    pub task_title_font: *mut ifont,
    pub style: c_types::c_int,
    pub profile_present: c_types::c_int,
    pub profile_height: c_types::c_int,
    pub profile_font: *mut ifont,
    pub shortcut_height: c_types::c_int,
    pub shortcut_width: c_types::c_int,
    pub shortcut_font: *mut ifont,
    pub task_height: c_types::c_int,
    pub full_height: c_types::c_int,
    pub full_width: c_types::c_int,
    pub width: c_types::c_int,
    pub height: c_types::c_int,
    pub x: c_types::c_int,
    pub y: c_types::c_int,
    pub border_size: c_types::c_int,
    pub indent_from_border: c_types::c_int,
    pub bitmap: *mut *mut ibitmap,
    pub bitmap_count: c_types::c_int,
    pub separator_size: c_types::c_int,
    pub exit_button_indent: c_types::c_int,
    pub background_style: c_types::c_int,
    pub separator_color: c_types::c_int,
    pub border_color: c_types::c_int,
}
pub type itaskmgr = itaskmgr_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ipager_s {
    pub page_font: *mut ifont,
    pub height: c_types::c_int,
    pub indent_horizontal: c_types::c_int,
    pub left_width: c_types::c_int,
    pub page_width: c_types::c_int,
    pub rigth_width: c_types::c_int,
    pub separator_size: c_types::c_int,
    pub icon_left: *const ibitmap,
    pub icon_right: *const ibitmap,
    pub current_page: c_types::c_int,
    pub total_pages: c_types::c_int,
    pub position: irect,
    pub orientation: c_types::c_int,
}
pub type ipager = ipager_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iselection_s {
    pub selection_style: c_types::c_int,
    pub background_color: c_types::c_int,
    pub background_style: c_types::c_int,
    pub border_size: c_types::c_int,
    pub border_radius: c_types::c_int,
    pub indent_horizontal: c_types::c_int,
    pub indent_left: c_types::c_int,
    pub indent_right: c_types::c_int,
}
pub type iselection = iselection_s;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum AppStyles {
    STYLE_UNKNOWN = 0,
    STYLE_KEYBOARD = 1,
    STYLE_TOUCHPANEL = 2,
    STYLE_TOUCHPANEL_KEYBORAD = 3,
    STYLE_MAX_NOT_USED = 4,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iappstyle_s {
    pub app_style: AppStyles,
}
pub type iappstyle = iappstyle_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ievent_s {
    pub hproc: iv_handler,
    pub type_: c_types::c_ushort,
    pub mod_: c_types::c_ushort,
    pub par1: c_types::c_ushort,
    pub par2: c_types::c_ushort,
    pub data: *mut c_types::c_void,
}
pub type ievent = ievent_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iconfig_s {
    pub filename: *mut c_types::c_char,
    pub hash: *mut ihash,
    pub vhash: *mut ihash,
    pub modified_hash: *mut ihash,
    pub deleted_keys: *mut *mut c_types::c_char,
    pub changed: c_types::c_int,
}
pub type iconfig = iconfig_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iconfigedit_s {
    pub type_: c_types::c_int,
    pub icon: *const ibitmap,
    pub text: *mut c_types::c_char,
    pub hint: *mut c_types::c_char,
    pub name: *mut c_types::c_char,
    pub deflt: *mut c_types::c_char,
    pub variants: *mut *mut c_types::c_char,
    pub submenu: *mut iconfigedit_s,
    pub icon_theme: *mut *mut ibitmap,
}
pub type iconfigedit = iconfigedit_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct oldconfigedit_s {
    pub text: *mut c_types::c_char,
    pub name: *mut c_types::c_char,
    pub type_: c_types::c_int,
    pub deflt: *mut c_types::c_char,
    pub variants: *mut *mut c_types::c_char,
}
pub type oldconfigedit = oldconfigedit_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct tocentry_s {
    pub level: c_types::c_int,
    pub page: c_types::c_int,
    pub position: c_types::c_longlong,
    pub text: *mut c_types::c_char,
}
pub type tocentry = tocentry_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct itimer_s {
    pub tp: iv_timerproc,
    pub weak: c_types::c_int,
    pub extime: c_types::c_longlong,
    pub name: [c_types::c_char; 32usize],
    pub context: *mut c_types::c_void,
    pub lastchecktime: c_types::c_longlong,
}
pub type itimer = itimer_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct bookinfo_s {
    pub type_: c_types::c_int,
    pub typedesc: *mut c_types::c_char,
    pub path: *mut c_types::c_char,
    pub filename: *mut c_types::c_char,
    pub title: *mut c_types::c_char,
    pub author: *mut c_types::c_char,
    pub series: *mut c_types::c_char,
    pub numinseries: c_types::c_int,
    pub genre: [*mut c_types::c_char; 10usize],
    pub icon: *mut ibitmap,
    pub year: c_types::c_int,
    pub size: c_types::c_long,
    pub ctime: time_t,
    pub isbn: *mut c_types::c_char,
    pub meta_id: *mut c_types::c_char,
    pub first_author: *mut c_types::c_char,
    pub drm: c_types::c_int,
    pub annotation: *mut c_types::c_char,
    pub lang: *mut c_types::c_char,
    pub publisher: *mut c_types::c_char,
    pub identifiers: *mut c_types::c_char,
}
pub type bookinfo = bookinfo_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iv_filetype_s {
    pub extension: *mut c_types::c_char,
    pub description: *mut c_types::c_char,
    pub type_: c_types::c_int,
    pub program: *mut c_types::c_char,
    pub icon: *mut ibitmap,
}
pub type iv_filetype = iv_filetype_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iv_template_s {
    pub width: c_types::c_int,
    pub height: c_types::c_int,
    pub background: *mut ibitmap,
    pub bg_folder: *mut ibitmap,
    pub bg_folder_a: *mut ibitmap,
    pub bg_file: *mut ibitmap,
    pub bg_file_a: *mut ibitmap,
    pub iconpos: irect,
    pub mediaiconpos: irect,
    pub line1pos: irect,
    pub line2pos: irect,
    pub line3pos: irect,
    pub line1font: *mut ifont,
    pub line2font: *mut ifont,
    pub line3font: *mut ifont,
}
pub type iv_template = iv_template_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iv_wlist_s {
    pub word: *mut c_types::c_char,
    pub x1: c_types::c_short,
    pub y1: c_types::c_short,
    pub x2: c_types::c_short,
    pub y2: c_types::c_short,
}
pub type iv_wlist = iv_wlist_s;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct iv_netinfo_s {
    pub connected: c_types::c_int,
    pub name: [c_types::c_char; 64usize],
    pub device: [c_types::c_char; 64usize],
    pub security: [c_types::c_char; 64usize],
    pub prefix: [c_types::c_char; 64usize],
    pub index: c_types::c_int,
    pub atime: c_types::c_int,
    pub speed: c_types::c_int,
    pub reserved_0e: c_types::c_int,
    pub bytes_in: c_types::c_ulong,
    pub bytes_out: c_types::c_ulong,
    pub packets_in: c_types::c_ulong,
    pub packets_out: c_types::c_ulong,
}
pub type iv_netinfo = iv_netinfo_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iv_sessioninfo_s {
    pub url: *mut c_types::c_char,
    pub ctype: *mut c_types::c_char,
    pub response: c_types::c_long,
    pub length: c_types::c_int,
    pub progress: c_types::c_int,
}
pub type iv_sessioninfo = iv_sessioninfo_s;
#[repr(C)]
#[derive(Debug)]
pub struct iv_fbinfo_s {
    pub version: c_types::c_int,
    pub flags: c_types::c_uint,
    pub shmkey: c_types::c_int,
    pub shmsize: c_types::c_int,
    pub refkey: c_types::c_int,
    pub refsize: c_types::c_int,
    pub width: c_types::c_int,
    pub height: c_types::c_int,
    pub vdepth: c_types::c_int,
    pub ndepth: c_types::c_int,
    pub orientation: c_types::c_int,
    pub _deprecated_cwidth: c_types::c_int,
    pub _deprecated_cheight: c_types::c_int,
    pub scanline: c_types::c_int,
    pub fb_offset: c_types::c_int,
    pub fb_size: c_types::c_int,
    pub ev_offset: c_types::c_int,
    pub ev_size: c_types::c_int,
    pub evhead: c_types::c_int,
    pub evtail: c_types::c_int,
    pub einkversion: c_types::c_int,
    pub reserved: [c_types::c_int; 15usize],
    pub data: __IncompleteArrayField<c_types::c_uchar>,
    pub fb_y_offset: c_types::c_int,
}
pub type iv_fbinfo = iv_fbinfo_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct subtaskinfo_s {
    pub id: c_types::c_int,
    pub name: *mut c_types::c_char,
    pub book: *mut c_types::c_char,
    pub fgindex: c_types::c_int,
    pub order: c_types::c_int,
    pub rsv_1s: c_types::c_int,
}
pub type subtaskinfo = subtaskinfo_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct taskinfo_s {
    pub task: c_types::c_int,
    pub nsubtasks: c_types::c_int,
    pub flags: c_types::c_uint,
    pub fbshmkey: c_types::c_int,
    pub fbshmsize: c_types::c_int,
    pub mainpid: pid_t,
    pub appname: *mut c_types::c_char,
    pub icon: *mut ibitmap,
    pub subtasks: *mut subtaskinfo,
    pub rsv_1: c_types::c_int,
    pub rsv_2: c_types::c_int,
    pub rsv_3: c_types::c_int,
    pub rsv_4: c_types::c_int,
}
pub type taskinfo = taskinfo_s;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum input_dev_e {
    UNKNOWN = 0,
    CAPTOUCH = 1,
    DIGITIZER = 2,
    MAX_INPUT_DEV = 3,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iv_mtinfo_s {
    pub active: c_types::c_int,
    pub x: c_types::c_int,
    pub y: c_types::c_int,
    pub pressure: c_types::c_int,
    pub devtype: input_dev_e,
    pub rsv_2: c_types::c_int,
    pub timems: c_types::c_longlong,
}
pub type iv_mtinfo = iv_mtinfo_s;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct apinfo_s {
    pub ssid: [c_types::c_char; 36usize],
    pub mode: c_types::c_int,
    pub channel: c_types::c_int,
    pub security: WIFI_SECURITY,
    pub quality: c_types::c_int,
    pub level: c_types::c_int,
    pub noise: c_types::c_int,
    pub mac: [c_types::c_uchar; 8usize],
    pub timestamp: time_t,
}
pub type wifiapinfo = apinfo_s;
#[repr(C)]
pub struct wifi_ap_list_s {
    pub ap_quantity: c_types::c_int,
    pub apinfo: __IncompleteArrayField<wifiapinfo>,
}
pub type iv_wifi_ap_list = wifi_ap_list_s;
pub type pointer_to_word_hand_t = ::core::option::Option<
    unsafe extern "C" fn(
        x: c_types::c_int,
        y: c_types::c_int,
        forward: c_types::c_int,
    ) -> *mut iv_wlist,
>;
#[repr(C)]
#[derive(Copy, Clone)]
pub union network_interface {
    pub intr: [c_types::c_char; 8usize],
    pub addr: [c_types::c_char; 16usize],
    pub hw_addr: [c_types::c_char; 18usize],
    _bindgen_union_align: [u8; 18usize],
}
#[repr(C)]
pub struct network_interface_array_s {
    pub count: c_types::c_uint,
    pub net_int: __IncompleteArrayField<network_interface>,
}
pub type network_interface_array = network_interface_array_s;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum bt_mode_e {
    BT_MODE_OFF = 0,
    BT_MODE_HIDDEN = 1,
    BT_MODE_VISIBLE = 2,
}
pub use self::bt_mode_e as bt_mode;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum bt_state_e {
    BT_STATE_OFF = 0,
    BT_STATE_SUSPENDED = 1,
    BT_STATE_READY = 2,
    BT_STATE_CONNECTED = 3,
    BT_STATE_TRANSFERRING = 4,
    BT_STATE_ERROR = 5,
    BT_STATE_MAX = 6,
}
pub use self::bt_state_e as bt_state;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum bt_flags_e {
    BT_FLAG_UPDATE_TIMEOUT = 1,
    BT_FLAG_LOW_POWER = 2,
}
pub use self::bt_flags_e as bt_flags;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum bt_service_e {
    BT_UNKNOWN = 0,
    BT_AUTH = 1,
    BT_OBEX = 2,
    BT_SECOND_SCREEN = 3,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum bt_service_state_e {
    BT_SERVICE_ACTIVE = 0,
    BT_SERVICE_CANCEL = 1,
    BT_SERVICE_ERROR = 2,
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum obex_status_e {
    OBEX_UNKNOWN = 0,
    OBEX_ERROR = 1,
    OBEX_REQUEST_AUTH = 2,
    OBEX_REQUEST_AUTH_DONE = 3,
    OBEX_TRANSFERRING = 4,
    OBEX_DONE = 5,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct obex_service_s {
    pub status: obex_status_e,
    pub auth: c_types::c_int,
    pub filesize: c_types::c_long,
    pub transferred: c_types::c_long,
    pub name: [c_types::c_char; 128usize],
    pub path: [c_types::c_char; 256usize],
    pub description: [c_types::c_char; 128usize],
    pub mimetype: [c_types::c_char; 64usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct bt_service_obj_s {
    pub id: c_types::c_int,
    pub service: bt_service_e,
    pub state: bt_service_state_e,
    pub lock: c_types::c_int,
    pub users: [pid_t; 16usize],
    pub __bindgen_anon_1: bt_service_obj_s__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union bt_service_obj_s__bindgen_ty_1 {
    pub obex: obex_service_s,
    pub service_data: [c_types::c_char; 1024usize],
    _bindgen_union_align: [u32; 256usize],
}
pub type bt_service_obj = bt_service_obj_s;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum audio_output_e {
    AUDIO_OUT_NONE = 0,
    AUDIO_OUT_HP = 1,
    AUDIO_OUT_BT = 2,
}
pub use self::audio_output_e as audio_output_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct audio_output_info {
    pub type_: audio_output_t,
    pub description: [c_types::c_char; 32usize],
}
#[repr(C)]
#[derive(Copy, Clone)]
pub struct network_interface_info {
    pub ip_addr: network_interface,
    pub mask: network_interface,
    pub br_addr: network_interface,
    pub hw_addr: network_interface,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct icolor_map_s {
    pub from_color: *mut c_types::c_int,
    pub to_color: *mut c_types::c_int,
    pub size: c_types::c_int,
}
pub type icolor_map = icolor_map_s;
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum APPLICATION_ATTRIBUTE {
    APPLICATION_READER = 0,
    APPLICATION_ATTRIBUTE_MAX = 31,
}
extern "C" {
    pub fn OpenScreen();
}
extern "C" {
    pub fn OpenScreenExt();
}
extern "C" {
    pub fn InkViewMain(h: iv_handler);
}
extern "C" {
    pub fn CloseApp();
}
extern "C" {
    pub fn InitInkview(reg_flags: c_types::c_int);
}
extern "C" {
    pub fn iRect(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        flags: c_types::c_int,
    ) -> irect;
}
extern "C" {
    pub fn ScreenWidth() -> c_types::c_int;
}
extern "C" {
    pub fn ScreenHeight() -> c_types::c_int;
}
extern "C" {
    pub fn SetOrientation(n: c_types::c_int);
}
extern "C" {
    pub fn GetOrientation() -> c_types::c_int;
}
extern "C" {
    pub fn SetGlobalOrientation(n: c_types::c_int);
}
extern "C" {
    pub fn GetGlobalOrientation() -> c_types::c_int;
}
extern "C" {
    pub fn QueryGSensor() -> c_types::c_int;
}
extern "C" {
    pub fn SetGSensor(mode: c_types::c_int);
}
extern "C" {
    pub fn ReadGSensor(
        x: *mut c_types::c_int,
        y: *mut c_types::c_int,
        z: *mut c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn CalibrateGSensor();
}
extern "C" {
    pub fn SetGSensorEnabled(onOff: bool) -> c_types::c_int;
}
extern "C" {
    pub fn IsGSensorEnabled() -> bool;
}
extern "C" {
    pub fn GetGSensorOrientation() -> c_types::c_int;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum estyle {
    ROUND_ALL = 1,
    ROUND_TOP = 2,
    ROUND_DOWN = 3,
    ROUND_LEFT = 4,
    ROUND_RIGHT = 5,
    ROUND_TOP_LEFT = 6,
    ROUND_TOP_RIGHT = 7,
    ROUND_BOTTOM_LEFT = 8,
    ROUND_BOTTOM_RIGHT = 9,
}
extern "C" {
    pub fn ClearScreen();
}
extern "C" {
    pub fn SetClip(x: c_types::c_int, y: c_types::c_int, w: c_types::c_int, h: c_types::c_int);
}
extern "C" {
    pub fn SetClipRect(rect: *const irect);
}
extern "C" {
    pub fn GetClip(
        x: *mut c_types::c_int,
        y: *mut c_types::c_int,
        w: *mut c_types::c_int,
        h: *mut c_types::c_int,
    );
}
extern "C" {
    pub fn GetClipRect() -> irect;
}
extern "C" {
    pub fn MergeClipRect(rect: *const irect) -> irect;
}
extern "C" {
    pub fn DrawPixel(x: c_types::c_int, y: c_types::c_int, color: c_types::c_int);
}
extern "C" {
    pub fn DrawLine(
        x1: c_types::c_int,
        y1: c_types::c_int,
        x2: c_types::c_int,
        y2: c_types::c_int,
        color: c_types::c_int,
    );
}
extern "C" {
    pub fn DrawLineEx(
        x1: c_types::c_int,
        y1: c_types::c_int,
        x2: c_types::c_int,
        y2: c_types::c_int,
        color: c_types::c_int,
        step: c_types::c_int,
    );
}
extern "C" {
    pub fn DrawDashLine(
        x1: c_types::c_int,
        y1: c_types::c_int,
        x2: c_types::c_int,
        y2: c_types::c_int,
        color: c_types::c_int,
        fill: c_types::c_uint,
        space: c_types::c_uint,
    );
}
extern "C" {
    pub fn DrawRect(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        color: c_types::c_int,
    );
}
extern "C" {
    pub fn DrawRectRound(
        arg1: c_types::c_int,
        arg2: c_types::c_int,
        arg3: c_types::c_int,
        arg4: c_types::c_int,
        arg5: c_types::c_int,
        arg6: c_types::c_int,
    );
}
extern "C" {
    pub fn FillArea(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        color: c_types::c_int,
    );
}
extern "C" {
    pub fn FillAreaRect(rect: *const irect, color: c_types::c_int);
}
extern "C" {
    pub fn InvertArea(x: c_types::c_int, y: c_types::c_int, w: c_types::c_int, h: c_types::c_int);
}
extern "C" {
    pub fn InvertAreaBW(x: c_types::c_int, y: c_types::c_int, w: c_types::c_int, h: c_types::c_int);
}
extern "C" {
    pub fn ColorMapCreate(size: c_types::c_int) -> *mut icolor_map;
}
extern "C" {
    pub fn ColorMapDestroy(map: *mut *mut icolor_map);
}
extern "C" {
    pub fn InvertAreaMap(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        map: *mut icolor_map,
    );
}
extern "C" {
    pub fn DimArea(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        color: c_types::c_int,
    );
}
extern "C" {
    pub fn DrawSelection(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        color: c_types::c_int,
    );
}
extern "C" {
    pub fn DrawCircle(
        x0: c_types::c_int,
        y0: c_types::c_int,
        radius: c_types::c_int,
        color: c_types::c_int,
    );
}
extern "C" {
    pub fn DrawPickOut(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        key: *const c_types::c_char,
    );
}
extern "C" {
    pub fn DrawPickOutEx(rect: *const irect, key: *const c_types::c_char);
}
extern "C" {
    pub fn DitherArea(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        levels: c_types::c_int,
        method: c_types::c_int,
    );
}
extern "C" {
    pub fn DitherAreaQuick2Level(
        dx: c_types::c_int,
        dy: c_types::c_int,
        dw: c_types::c_int,
        dh: c_types::c_int,
    );
}
extern "C" {
    pub fn DitherAreaPattern2Level(
        dx: c_types::c_int,
        dy: c_types::c_int,
        dw: c_types::c_int,
        dh: c_types::c_int,
    );
}
extern "C" {
    pub fn QuickFloyd16Dither(
        buffer: *mut c_types::c_uchar,
        row_size: c_types::c_int,
        left: c_types::c_int,
        top: c_types::c_int,
        width: c_types::c_int,
        height: c_types::c_int,
    );
}
extern "C" {
    pub fn StretchArea(
        src: *const c_types::c_uchar,
        format: c_types::c_int,
        sx: c_types::c_int,
        sy: c_types::c_int,
        sw: c_types::c_int,
        sh: c_types::c_int,
        scanline: c_types::c_int,
        dx: c_types::c_int,
        dy: c_types::c_int,
        dw: c_types::c_int,
        dh: c_types::c_int,
        rotate: c_types::c_int,
    );
}
extern "C" {
    pub fn StretchAreaBW(
        src: *const c_types::c_uchar,
        format: c_types::c_int,
        sx: c_types::c_int,
        sy: c_types::c_int,
        sw: c_types::c_int,
        sh: c_types::c_int,
        scanline: c_types::c_int,
        dx: c_types::c_int,
        dy: c_types::c_int,
        dw: c_types::c_int,
        dh: c_types::c_int,
    );
}
extern "C" {
    pub fn SetCanvas(c: *mut icanvas);
}
extern "C" {
    pub fn GetCanvas() -> *mut icanvas;
}
extern "C" {
    pub fn Repaint();
}
extern "C" {
    pub fn DrawFrame(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        icon: *mut ibitmap,
        title: *mut c_types::c_char,
        flags: c_types::c_int,
        clientarea: *mut irect,
    );
}
extern "C" {
    pub fn CheckFramePointer(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        flags: c_types::c_int,
        ptx: c_types::c_int,
        pty: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn DrawBorder(
        border_rect: *const irect,
        border_size: c_types::c_int,
        style: c_types::c_int,
        radius: c_types::c_int,
        color: c_types::c_int,
    );
}
extern "C" {
    pub fn DrawPager(pager: *mut ipager);
}
extern "C" {
    pub fn GetPagerRect(pager: *mut ipager) -> irect;
}
extern "C" {
    pub fn GetPagerHeight(pager: *mut ipager) -> c_types::c_int;
}
extern "C" {
    pub fn IsPagerEvent(
        pager: *mut ipager,
        type_: c_types::c_int,
        x: c_types::c_int,
        y: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn PagerHandler(
        pager: *mut ipager,
        type_: c_types::c_int,
        x: c_types::c_int,
        y: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn DrawDiagonalHatch(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        step: c_types::c_int,
        color: c_types::c_int,
    );
}
extern "C" {
    pub fn DrawDiagonalHatchLimits(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        step: c_types::c_int,
        color: c_types::c_int,
        limit: ::core::option::Option<
            unsafe extern "C" fn(arg1: c_types::c_int, arg2: c_types::c_int) -> c_types::c_int,
        >,
    );
}
extern "C" {
    pub fn Transparent(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        percent: c_types::c_int,
    );
}
extern "C" {
    pub fn TransparentRect(rect: irect, percent: c_types::c_int);
}
extern "C" {
    pub fn LoadBitmap(filename: *const c_types::c_char) -> *mut ibitmap;
}
extern "C" {
    pub fn zLoadBitmap(zf: *mut c_types::c_void, filename: *const c_types::c_char) -> *mut ibitmap;
}
extern "C" {
    pub fn SaveBitmap(filename: *const c_types::c_char, bm: *const ibitmap) -> c_types::c_int;
}
extern "C" {
    pub fn NewBitmap(w: c_types::c_int, h: c_types::c_int) -> *mut ibitmap;
}
extern "C" {
    pub fn SetLoadImageFlags(flags: c_types::c_int);
}
extern "C" {
    pub fn LoadJPEG(
        path: *const c_types::c_char,
        w: c_types::c_int,
        h: c_types::c_int,
        br: c_types::c_int,
        co: c_types::c_int,
        proportional: c_types::c_int,
    ) -> *mut ibitmap;
}
extern "C" {
    pub fn LoadTIFF(
        path: *const c_types::c_char,
        w: c_types::c_int,
        h: c_types::c_int,
        br: c_types::c_int,
        co: c_types::c_int,
        proportional: c_types::c_int,
    ) -> *mut ibitmap;
}
extern "C" {
    pub fn SaveJPEG(
        path: *const c_types::c_char,
        bmp: *mut ibitmap,
        quality: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn LoadPNG(path: *const c_types::c_char, dither: c_types::c_int) -> *mut ibitmap;
}
extern "C" {
    pub fn LoadPNGStretch(
        path: *const c_types::c_char,
        width: c_types::c_int,
        height: c_types::c_int,
        proportional: c_types::c_int,
        dither: c_types::c_int,
    ) -> *mut ibitmap;
}
extern "C" {
    pub fn SavePNG(path: *const c_types::c_char, bmp: *const ibitmap) -> c_types::c_int;
}
extern "C" {
    pub fn SetTransparentColor(bmp: *mut *mut ibitmap, color: c_types::c_int);
}
extern "C" {
    pub fn MoveBitmap(bmp: *mut ibitmap, offset: c_types::c_int);
}
extern "C" {
    pub fn MoveBitmapRight(bm: *mut ibitmap, offset: c_types::c_int);
}
extern "C" {
    pub fn BitmapStretchCopy(
        bmp: *const ibitmap,
        sx: c_types::c_int,
        sy: c_types::c_int,
        sw: c_types::c_int,
        sh: c_types::c_int,
        width: c_types::c_int,
        height: c_types::c_int,
    ) -> *mut ibitmap;
}
extern "C" {
    pub fn DrawBitmap(x: c_types::c_int, y: c_types::c_int, b: *const ibitmap);
}
extern "C" {
    pub fn DrawBitmapArea(
        x: c_types::c_int,
        y: c_types::c_int,
        b: *const ibitmap,
        bx: c_types::c_int,
        by: c_types::c_int,
        bw: c_types::c_int,
        bh: c_types::c_int,
    );
}
extern "C" {
    pub fn DrawBitmapRect(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        b: *const ibitmap,
        flags: c_types::c_int,
    );
}
extern "C" {
    pub fn StretchBitmap(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        src: *const ibitmap,
        flags: c_types::c_int,
    );
}
extern "C" {
    pub fn TileBitmap(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        src: *const ibitmap,
    );
}
extern "C" {
    pub fn CopyBitmap(bm: *const ibitmap) -> *mut ibitmap;
}
extern "C" {
    pub fn MirrorBitmap(bm: *mut ibitmap, m: c_types::c_int);
}
extern "C" {
    pub fn EnumFonts() -> *mut *mut c_types::c_char;
}
extern "C" {
    pub fn EnumFontsFromDirectory(
        directory1: *const c_types::c_char,
        directory2: *const c_types::c_char,
    ) -> *mut *mut c_types::c_char;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct FontForSort_s {
    pub name: *mut c_types::c_char,
    pub flags: c_types::c_int,
    pub font: *mut c_types::c_char,
}
pub type FontForSort = FontForSort_s;
extern "C" {
    pub fn EnumFontsEx() -> *mut FontForSort;
}
extern "C" {
    pub fn EnumFontsFromDirectoryEx(
        directory1: *const c_types::c_char,
        directory2: *const c_types::c_char,
    ) -> *mut FontForSort;
}
extern "C" {
    pub fn FreeFontsForSort(fonts: *mut FontForSort);
}
extern "C" {
    pub fn OpenFont(
        name: *const c_types::c_char,
        size: c_types::c_int,
        aa: c_types::c_int,
    ) -> *mut ifont;
}
extern "C" {
    pub fn CloseFont(f: *mut ifont);
}
extern "C" {
    pub fn SetFont(font: *const ifont, color: c_types::c_int);
}
extern "C" {
    pub fn GetFont() -> *const ifont;
}
extern "C" {
    pub fn DrawString(x: c_types::c_int, y: c_types::c_int, s: *const c_types::c_char);
}
extern "C" {
    pub fn DrawStringR(x: c_types::c_int, y: c_types::c_int, s: *const c_types::c_char);
}
extern "C" {
    pub fn TextRectHeight(
        width: c_types::c_int,
        s: *const c_types::c_char,
        flags: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn TextRectHeightEx(
        width: c_types::c_int,
        height: c_types::c_int,
        s: *const c_types::c_char,
        flags: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn MinimalTextRectWidth(w: c_types::c_int, s: *const c_types::c_char) -> c_types::c_int;
}
extern "C" {
    pub fn DrawTextRect(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        s: *const c_types::c_char,
        flags: c_types::c_int,
    ) -> *mut c_types::c_char;
}
extern "C" {
    pub fn CharWidth(c: c_types::c_ushort) -> c_types::c_int;
}
extern "C" {
    pub fn StringWidthExt(s: *const c_types::c_char, l: c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn StringWidth(s: *const c_types::c_char) -> c_types::c_int;
}
extern "C" {
    pub fn GetMultilineStringWidth(
        str_: *const c_types::c_char,
        area_width: c_types::c_int,
        font: *mut ifont,
        flags: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn DrawSymbol(
        x: c_types::c_int,
        y: c_types::c_int,
        symbol: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn RegisterFontList(fontlist: *mut *mut ifont, count: c_types::c_int);
}
extern "C" {
    pub fn SetTextStrength(n: c_types::c_int);
}
extern "C" {
    pub fn FullUpdate();
}
extern "C" {
    pub fn FullUpdateHQ();
}
extern "C" {
    pub fn SoftUpdate();
}
extern "C" {
    pub fn SoftUpdateHQ();
}
extern "C" {
    pub fn PartialUpdate(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
    );
}
extern "C" {
    pub fn PartialUpdateBlack(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
    );
}
extern "C" {
    pub fn PartialUpdateBW(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
    );
}
extern "C" {
    pub fn PartialUpdateHQ(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
    );
}
extern "C" {
    pub fn PartialUpdateDU4(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
    );
}
extern "C" {
    pub fn DynamicUpdate(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
    );
}
extern "C" {
    pub fn DynamicUpdateBW(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
    );
}
extern "C" {
    pub fn DynamicUpdateA2(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
    );
}
extern "C" {
    pub fn ExitUpdateA2();
}
extern "C" {
    pub fn IsInA2Update() -> c_types::c_int;
}
extern "C" {
    pub fn FineUpdate();
}
extern "C" {
    pub fn FineUpdateSupported() -> c_types::c_int;
}
extern "C" {
    pub fn HQUpdateSupported() -> c_types::c_int;
}
extern "C" {
    pub fn ScheduleUpdate(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        bw: c_types::c_int,
    );
}
extern "C" {
    pub fn WaitForUpdateComplete();
}
extern "C" {
    pub fn SetEventHandler(hproc: iv_handler) -> iv_handler;
}
extern "C" {
    pub fn SetEventHandlerEx(hproc: iv_handler) -> iv_handler;
}
extern "C" {
    pub fn GetEventHandler() -> iv_handler;
}
extern "C" {
    pub fn SendEvent(
        hproc: iv_handler,
        type_: c_types::c_int,
        par1: c_types::c_int,
        par2: c_types::c_int,
    );
}
extern "C" {
    pub fn SendEventEx(
        hproc: iv_handler,
        type_: c_types::c_int,
        par1: c_types::c_int,
        par2: c_types::c_int,
        data: *mut c_types::c_void,
    );
}
extern "C" {
    pub fn GetCurrentEventExData() -> *mut c_types::c_void;
}
extern "C" {
    pub fn ProcessEventLoop();
}
extern "C" {
    pub fn ProcessEventLoopQuick();
}
extern "C" {
    pub fn iv_evttype(type_: c_types::c_int) -> *mut c_types::c_char;
}
extern "C" {
    pub fn IsAnyEvents() -> c_types::c_char;
}
extern "C" {
    pub fn PrepareForLoop(hproc: iv_handler);
}
extern "C" {
    pub fn ClearOnExit();
}
extern "C" {
    pub fn SetHardTimer(name: *const c_types::c_char, tproc: iv_timerproc, ms: c_types::c_int);
}
extern "C" {
    pub fn SetHardTimerEx(
        name: *const c_types::c_char,
        tproc: iv_timerprocEx,
        context: *mut c_types::c_void,
        ms: c_types::c_int,
    );
}
extern "C" {
    pub fn SetWeakTimer(name: *const c_types::c_char, tproc: iv_timerproc, ms: c_types::c_int);
}
extern "C" {
    pub fn SetWeakTimerEx(
        name: *const c_types::c_char,
        tp: iv_timerprocEx,
        context: *mut c_types::c_void,
        ms: c_types::c_int,
    );
}
extern "C" {
    pub fn QueryTimer(tp: iv_timerproc) -> c_types::c_longlong;
}
extern "C" {
    pub fn QueryTimerEx(tp: iv_timerprocEx, context: *mut c_types::c_void) -> c_types::c_longlong;
}
extern "C" {
    pub fn ClearTimer(tproc: iv_timerproc);
}
extern "C" {
    pub fn ClearTimerEx(tproc: iv_timerprocEx, context: *mut c_types::c_void);
}
extern "C" {
    pub fn ClearTimerByName(name: *const c_types::c_char);
}
extern "C" {
    pub fn OpenMenu(
        menu: *mut imenu,
        pos: c_types::c_int,
        x: c_types::c_int,
        y: c_types::c_int,
        hproc: iv_menuhandler,
    );
}
extern "C" {
    pub fn OpenMenuEx(
        menu: *mut imenuex,
        pos: c_types::c_int,
        x: c_types::c_int,
        y: c_types::c_int,
        hproc: iv_menuhandler,
    );
}
extern "C" {
    pub fn UpdateMenuEx(menu: *mut imenuex);
}
extern "C" {
    pub fn OpenContextMenu(menu: *const icontext_menu);
}
extern "C" {
    pub fn SetContextMenu(menu: *const icontext_menu);
}
extern "C" {
    pub fn CreateContextMenu(id: *const c_types::c_char) -> *mut icontext_menu;
}
extern "C" {
    pub fn CloseContextMenu(menu: *mut icontext_menu);
}
extern "C" {
    pub fn OpenMenu3x3(
        mbitmap: *const ibitmap,
        strings: *mut *const c_types::c_char,
        hproc: iv_menuhandler,
    );
}
extern "C" {
    pub fn GetMenuRect(menu: *const imenu) -> irect;
}
extern "C" {
    pub fn GetMenuRectEx(menu: *const imenuex) -> irect;
}
extern "C" {
    pub fn OpenList(
        title: *const c_types::c_char,
        background: *const ibitmap,
        itemw: c_types::c_int,
        itemh: c_types::c_int,
        itemcount: c_types::c_int,
        cpos: c_types::c_int,
        hproc: iv_listhandler,
    );
}
extern "C" {
    pub fn SetListHeaderLevel(level: c_types::c_int);
}
extern "C" {
    pub fn GetListHeaderLevel() -> c_types::c_int;
}
extern "C" {
    pub fn OpenDummyList(
        title: *const c_types::c_char,
        background: *const ibitmap,
        text: *mut c_types::c_char,
        hproc: iv_listhandler,
    );
}
extern "C" {
    pub fn EnumKeyboards() -> *mut *mut c_types::c_char;
}
extern "C" {
    pub fn LoadKeyboard(kbdlang: *const c_types::c_char);
}
extern "C" {
    pub fn GetKeyboardFlags() -> c_types::c_int;
}
extern "C" {
    pub fn OpenKeyboard(
        title: *const c_types::c_char,
        buffer: *mut c_types::c_char,
        maxlen: c_types::c_int,
        flags: c_types::c_int,
        hproc: iv_keyboardhandler,
    );
}
extern "C" {
    pub fn OpenKeyboardEx(
        title: *const c_types::c_char,
        buffer: *mut c_types::c_char,
        maxlen: c_types::c_int,
        flags: c_types::c_int,
        hproc: iv_keyboardhandlerex,
        cb_data: *mut c_types::c_void,
    );
}
extern "C" {
    pub fn DrawKeyboard();
}
extern "C" {
    pub fn OpenCustomKeyboard(
        filename: *const c_types::c_char,
        title: *const c_types::c_char,
        buffer: *mut c_types::c_char,
        maxlen: c_types::c_int,
        flags: c_types::c_int,
        hproc: iv_keyboardhandler,
    );
}
extern "C" {
    pub fn CloseKeyboard();
}
extern "C" {
    pub fn GetKeyboardRect(rect: *mut irect);
}
extern "C" {
    pub fn GetKeyboardRectWithParams(
        title: *const c_types::c_char,
        buffer: *mut c_types::c_char,
        flags: c_types::c_int,
    ) -> irect;
}
extern "C" {
    pub fn OpenPageSelector(hproc: iv_pageselecthandler);
}
extern "C" {
    pub fn OpenTimeEdit(
        title: *const c_types::c_char,
        x: c_types::c_int,
        y: c_types::c_int,
        intime: c_types::c_long,
        hproc: iv_timeedithandler,
    );
}
extern "C" {
    pub fn OpenDirectorySelector(
        title: *const c_types::c_char,
        buf: *mut c_types::c_char,
        len: c_types::c_int,
        hproc: iv_dirselecthandler,
    );
}
extern "C" {
    pub fn OpenFontSelector(
        title: *const c_types::c_char,
        font: *const c_types::c_char,
        with_size: c_types::c_int,
        hproc: iv_fontselecthandler,
    );
}
extern "C" {
    pub fn OpenFontSelectorEx(menu: *const ifont_menu);
}
extern "C" {
    pub fn GetFontMenuStruct() -> ifont_menu;
}
extern "C" {
    pub fn ClearFontMenuStruct(menu: *mut ifont_menu);
}
extern "C" {
    pub fn ClearFontListStruct(list: *mut ifont_list);
}
extern "C" {
    pub fn SetFontMenuStruct(menu: *mut ifont_menu);
}
extern "C" {
    pub fn OpenBookmarks(
        page: c_types::c_int,
        position: c_types::c_longlong,
        bmklist: *mut c_types::c_int,
        poslist: *mut c_types::c_longlong,
        bmkcount: *mut c_types::c_int,
        maxbmks: c_types::c_int,
        hproc: iv_bmkhandler,
    );
}
extern "C" {
    pub fn OpenContents(
        toc: *mut tocentry,
        count: c_types::c_int,
        position: c_types::c_longlong,
        hproc: iv_tochandler,
    );
}
extern "C" {
    pub fn OpenRotateBox(hproc: iv_rotatehandler);
}
extern "C" {
    pub fn Message(
        icon: c_types::c_int,
        title: *const c_types::c_char,
        text: *const c_types::c_char,
        timeout: c_types::c_int,
    );
}
extern "C" {
    pub fn CloseDialog();
}
extern "C" {
    pub fn OpenProgressbar(
        icon: c_types::c_int,
        title: *const c_types::c_char,
        text: *const c_types::c_char,
        percent: c_types::c_int,
        hproc: iv_dialoghandler,
    );
}
extern "C" {
    pub fn CloseProgressbar();
}
extern "C" {
    pub fn SetManualPanelUpdates(enable: c_types::c_int, handler: iv_panelupdateshandler);
}
extern "C" {
    pub fn SetReadingMode(
        enable: c_types::c_int,
        after_time: c_types::c_int,
        update: c_types::c_int,
    );
}
extern "C" {
    pub fn SetPanelType(type_: c_types::c_int);
}
extern "C" {
    pub fn GetPanelType() -> c_types::c_int;
}
extern "C" {
    pub fn SetShowPanelReader(show: c_types::c_int);
}
extern "C" {
    pub fn SetPanelSeparatorEnabled(enable: c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn SetPanelKeyForFullScreenEnabled(key: *const c_types::c_char);
}
extern "C" {
    pub fn DrawPanel(
        icon: *const ibitmap,
        text: *const c_types::c_char,
        title: *const c_types::c_char,
        percent: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn DrawTabs(
        icon: *const ibitmap,
        current: c_types::c_int,
        total: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn OpenControlPanel(ctx: *mut control_panel);
}
extern "C" {
    pub fn PanelHeight() -> c_types::c_int;
}
extern "C" {
    pub fn SetKeyboardRate(t1: c_types::c_int, t2: c_types::c_int);
}
extern "C" {
    pub fn SetQuickNavigatorXY(x: c_types::c_int, y: c_types::c_int);
}
extern "C" {
    pub fn DrawApplicationCaption(caption: *const c_types::c_char, title_rect: *const irect);
}
extern "C" {
    pub fn GetCaptionHeight() -> c_types::c_int;
}
extern "C" {
    pub fn SetApplicationCaptionHeight(h: c_types::c_int);
}
extern "C" {
    pub fn LoadApplicationCaptionProperties() -> *mut iapp_caption;
}
extern "C" {
    pub fn LoadTaskManagerProperties() -> *mut itaskmgr;
}
extern "C" {
    pub fn LoadPagerProperties() -> *mut ipager;
}
extern "C" {
    pub fn LoadSelectionProperties(key: *const c_types::c_char) -> *mut iselection;
}
extern "C" {
    pub fn LoadContextMenuProperties() -> *mut icontext_menu_properties;
}
extern "C" {
    pub fn GetAppGlobalStyle() -> AppStyles;
}
extern "C" {
    pub fn GetAppStyle(key: *const c_types::c_char) -> AppStyles;
}
extern "C" {
    pub fn GetAppStyleEx(key: *const c_types::c_char) -> *mut iappstyle;
}
extern "C" {
    pub fn GetFontSelectorProperties() -> *mut font_selector_properties;
}
extern "C" {
    pub fn GetCustomFontString() -> *const c_types::c_char;
}
extern "C" {
    pub fn GetGlobalConfig() -> *mut iconfig;
}
extern "C" {
    pub fn OpenConfig(path: *const c_types::c_char, ce: *mut iconfigedit) -> *mut iconfig;
}
extern "C" {
    pub fn SaveConfig(cfg: *mut iconfig) -> c_types::c_int;
}
extern "C" {
    pub fn CloseConfig(cfg: *mut iconfig);
}
extern "C" {
    pub fn CloseConfigNoSave(cfg: *mut iconfig);
}
extern "C" {
    pub fn SetConfigEditorBackground(bmp: *mut ibitmap);
}
extern "C" {
    pub fn OpenConfigEditor(
        header: *const c_types::c_char,
        cfg: *mut iconfig,
        ce: *mut iconfigedit,
        hproc: iv_confighandler,
        cproc: iv_itemchangehandler,
    );
}
extern "C" {
    pub fn OpenConfigSubmenuExt(
        title: *const c_types::c_char,
        ice: *mut iconfigedit,
        pos: c_types::c_int,
    );
}
extern "C" {
    pub fn OpenConfigSubmenu(title: *const c_types::c_char, ice: *mut iconfigedit);
}
extern "C" {
    pub fn CloseConfigLevel();
}
extern "C" {
    pub fn ClearConfig(cfg: *mut iconfig);
}
extern "C" {
    pub fn GetKeyMapping(act0: *mut *const c_types::c_char, act1: *mut *const c_types::c_char);
}
extern "C" {
    pub fn GetKeyMappingEx(
        what: c_types::c_int,
        act0: *mut *const c_types::c_char,
        act1: *mut *const c_types::c_char,
        count: c_types::c_int,
    );
}
extern "C" {
    pub fn GetCurrentTask() -> c_types::c_int;
}
extern "C" {
    pub fn GetActiveTask(task: *mut c_types::c_int, subtask: *mut c_types::c_int);
}
extern "C" {
    pub fn GetPreviousTask(task: *mut c_types::c_int, subtask: *mut c_types::c_int);
}
extern "C" {
    pub fn GetPreviousTaskInStack(task: *mut c_types::c_int, subtask: *mut c_types::c_int);
}
extern "C" {
    pub fn GetTaskList(list: *mut c_types::c_int, size: c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn GetTaskInfo(task: c_types::c_int) -> *mut taskinfo;
}
extern "C" {
    pub fn SetTaskParameters(
        task: c_types::c_int,
        appname: *const c_types::c_char,
        name: *const c_types::c_char,
        icon: *mut ibitmap,
        flags: c_types::c_uint,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn SetSubtaskInfo(
        task: c_types::c_int,
        subtask: c_types::c_int,
        name: *const c_types::c_char,
        book: *const c_types::c_char,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn SetActiveTask(task: c_types::c_int, subtask: c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn CloseTask(
        task: c_types::c_int,
        subtask: c_types::c_int,
        force: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn SetRequestListener(
        request: c_types::c_int,
        flags: c_types::c_int,
        hproc: iv_requestlistener,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn SetMessageHandler(hproc: iv_msghandler);
}
extern "C" {
    pub fn OpenTaskList();
}
extern "C" {
    pub fn GetTaskFramebuffer(task: c_types::c_int) -> *mut icanvas;
}
extern "C" {
    pub fn GetTaskFramebufferInfo(task: c_types::c_int) -> *mut iv_fbinfo;
}
extern "C" {
    pub fn iv_wait_task_activation(timeout: c_types::c_int);
}
extern "C" {
    pub fn GetFrontlightVersion() -> c_types::c_int;
}
extern "C" {
    pub fn GetFrontlightState() -> c_types::c_int;
}
extern "C" {
    pub fn SetFrontlightState(flstate: c_types::c_int);
}
extern "C" {
    pub fn GetFrontlightEnabled() -> c_types::c_int;
}
extern "C" {
    pub fn SetFrontlightEnabled(enabled: c_types::c_int);
}
extern "C" {
    pub fn SetFrontlightStateEx(flstate: c_types::c_int, temporary: c_types::c_int);
}
extern "C" {
    pub fn OpenFrontLightConfig();
}
extern "C" {
    pub fn GetFrontlightColor() -> c_types::c_int;
}
extern "C" {
    pub fn SetFrontlightColor(color: c_types::c_int);
}
extern "C" {
    pub fn iv_stat(name: *const c_types::c_char, st: *mut stat) -> c_types::c_int;
}
extern "C" {
    pub fn iv_access(pathname: *const c_types::c_char, mode: c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn iv_fopen(name: *const c_types::c_char, mode: *const c_types::c_char) -> *mut FILE;
}
extern "C" {
    pub fn iv_fread(
        buffer: *mut c_types::c_void,
        size: c_types::c_int,
        count: c_types::c_int,
        f: *mut FILE,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn iv_fwrite(
        buffer: *const c_types::c_void,
        size: c_types::c_int,
        count: c_types::c_int,
        f: *mut FILE,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn iv_fseek(
        f: *mut FILE,
        offset: c_types::c_long,
        whence: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn iv_ftell(f: *mut FILE) -> c_types::c_long;
}
extern "C" {
    pub fn iv_fclose(f: *mut FILE) -> c_types::c_int;
}
extern "C" {
    pub fn iv_fclose_no_sync(f: *mut FILE) -> c_types::c_int;
}
extern "C" {
    pub fn iv_fgetc(f: *mut FILE) -> c_types::c_int;
}
extern "C" {
    pub fn iv_fgets(
        string: *mut c_types::c_char,
        n: c_types::c_int,
        f: *mut FILE,
    ) -> *mut c_types::c_char;
}
extern "C" {
    pub fn iv_mkdir(pathname: *const c_types::c_char, mode: mode_t) -> c_types::c_int;
}
extern "C" {
    pub fn iv_buildpath(filename: *const c_types::c_char);
}
extern "C" {
    pub fn iv_opendir(dirname: *const c_types::c_char) -> *mut DIR;
}
extern "C" {
    pub fn iv_readdir(dir: *mut DIR) -> *mut dirent;
}
extern "C" {
    pub fn iv_closedir(dir: *mut DIR) -> c_types::c_int;
}
extern "C" {
    pub fn iv_unlink(name: *const c_types::c_char) -> c_types::c_int;
}
extern "C" {
    pub fn iv_rmdir(name: *const c_types::c_char) -> c_types::c_int;
}
extern "C" {
    pub fn iv_truncate(name: *const c_types::c_char, length: c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn iv_rename(
        oldname: *const c_types::c_char,
        newname: *const c_types::c_char,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn iv_preload(name: *const c_types::c_char, count: c_types::c_int);
}
extern "C" {
    pub fn iv_sync();
}
extern "C" {
    pub fn iv_validate_name(s: *const c_types::c_char, flags: c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn iv_setbgresponse(t: c_types::c_int);
}
extern "C" {
    pub fn iv_ipc_request(
        type_: c_types::c_long,
        attr: c_types::c_long,
        data: *mut c_types::c_uchar,
        inlen: c_types::c_int,
        outlen: c_types::c_int,
    ) -> c_types::c_long;
}
extern "C" {
    pub fn iv_ipc_request_secure(
        type_: c_types::c_long,
        param: c_types::c_long,
        data: *mut c_types::c_uchar,
        inlen: c_types::c_int,
        outlen: c_types::c_int,
    ) -> c_types::c_long;
}
extern "C" {
    pub fn iv_ipc_cmd(type_: c_types::c_long, param: c_types::c_long) -> c_types::c_long;
}
extern "C" {
    pub fn iv_ipc_request_with_timeout(
        type_: c_types::c_long,
        param: c_types::c_long,
        data: *mut c_types::c_uchar,
        inlen: c_types::c_int,
        outlen: c_types::c_int,
        timeout_ms: c_types::c_int,
    ) -> c_types::c_long;
}
extern "C" {
    pub fn LoadLanguage(lang: *const c_types::c_char);
}
extern "C" {
    pub fn GetCurrentLangText(s: *const c_types::c_char) -> *const c_types::c_char;
}
extern "C" {
    pub fn GetLangText(s: *const c_types::c_char) -> *const c_types::c_char;
}
extern "C" {
    pub fn GetLangTextF(s: *const c_types::c_char, ...) -> *const c_types::c_char;
}
extern "C" {
    pub fn GetLangTextPlural(
        s: *const c_types::c_char,
        amount: c_types::c_int,
    ) -> *const c_types::c_char;
}
extern "C" {
    pub fn SetRTLBook(rtl: c_types::c_int);
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iprofile_s {
    pub name: *mut c_types::c_char,
    pub path: *mut c_types::c_char,
    pub type_: c_types::c_int,
    pub avatar: *mut ibitmap,
}
pub type iprofile = iprofile_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct iprofiles_s {
    pub profile: *mut iprofile,
    pub count: c_types::c_int,
}
pub type iprofiles = iprofiles_s;
extern "C" {
    pub fn GetProfileType(name: *const c_types::c_char) -> c_types::c_int;
}
extern "C" {
    pub fn GetProfileAvatar(name: *const c_types::c_char) -> *mut ibitmap;
}
extern "C" {
    pub fn SetProfileAvatar(name: *const c_types::c_char, ava: *mut ibitmap) -> c_types::c_int;
}
extern "C" {
    pub fn GetCurrentProfile() -> *mut c_types::c_char;
}
extern "C" {
    pub fn SetCurrentProfile(name: *const c_types::c_char, flags: c_types::c_int);
}
extern "C" {
    pub fn GetProfilesCountAfterEnum() -> c_types::c_int;
}
extern "C" {
    pub fn OpenProfileSelector();
}
extern "C" {
    pub fn GetLocalProfilesLimit() -> c_types::c_int;
}
extern "C" {
    pub fn GetSDProfilesLimit() -> c_types::c_int;
}
extern "C" {
    pub fn GetProfilesLimit() -> c_types::c_int;
}
extern "C" {
    pub fn ClearProfilesStruct(profiles: *mut iprofiles);
}
extern "C" {
    pub fn ClearProfileStruct(profile: *mut iprofile);
}
extern "C" {
    pub fn GetProfilesList(profiles: *mut iprofiles) -> c_types::c_int;
}
extern "C" {
    pub fn GetCurrentProfileEx(profile: *mut iprofile) -> c_types::c_int;
}
extern "C" {
    pub fn SetCurrentProfileEx(profile: *const iprofile) -> c_types::c_int;
}
extern "C" {
    pub fn GetProfilesCount() -> c_types::c_int;
}
extern "C" {
    pub fn OpenTheme(path: *const c_types::c_char);
}
extern "C" {
    pub fn GetResource(name: *const c_types::c_char, deflt: *const ibitmap) -> *mut ibitmap;
}
extern "C" {
    pub fn GetThemeInt(name: *const c_types::c_char, deflt: c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn GetThemeString(
        name: *const c_types::c_char,
        deflt: *const c_types::c_char,
    ) -> *const c_types::c_char;
}
extern "C" {
    pub fn GetThemeFont(name: *const c_types::c_char, deflt: *const c_types::c_char) -> *mut ifont;
}
extern "C" {
    pub fn GetThemeRect(
        name: *const c_types::c_char,
        rect: *mut irect,
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        flags: c_types::c_int,
    );
}
extern "C" {
    pub fn GetKeyResource(key: *const c_types::c_char, deflt: *const ibitmap) -> *mut ibitmap;
}
extern "C" {
    pub fn GetSupportedFileTypes() -> *mut iv_filetype;
}
extern "C" {
    pub fn GetSupportedFileTypesLength() -> c_types::c_int;
}
extern "C" {
    pub fn GetBookInfo(name: *const c_types::c_char) -> *mut bookinfo;
}
extern "C" {
    pub fn GetBookInfoExt(
        path: *const c_types::c_char,
        separator: *const c_types::c_char,
    ) -> *mut bookinfo;
}
extern "C" {
    pub fn GetBookISBN(path: *const c_types::c_char) -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetBookCover(
        name: *const c_types::c_char,
        width: c_types::c_int,
        height: c_types::c_int,
    ) -> *mut ibitmap;
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum MencaFileStatus_e {
    kMencaNoStatus = 0,
    kMencaInCloud = 1,
    kMencaSyncing = 2,
    kMencaDownloaded = 3,
}
pub use self::MencaFileStatus_e as MencaFileStatus;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct BookSyncStatus_s {
    pub menca_status_: MencaFileStatus,
}
pub type BookSyncStatus = BookSyncStatus_s;
extern "C" {
    pub fn GetBookSyncStatus(path: *const c_types::c_char) -> BookSyncStatus;
}
extern "C" {
    pub fn GetAssociatedFile(
        name: *const c_types::c_char,
        index: c_types::c_int,
    ) -> *mut c_types::c_char;
}
extern "C" {
    pub fn SetFileHandler(path: *const c_types::c_char, handler: *const c_types::c_char);
}
extern "C" {
    pub fn GetFileHandler(path: *const c_types::c_char) -> *const c_types::c_char;
}
extern "C" {
    pub fn OpenBook(
        path: *const c_types::c_char,
        parameters: *const c_types::c_char,
        flags: c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn GetLastOpen() -> *mut *mut c_types::c_char;
}
extern "C" {
    pub fn OpenLastBooks();
}
#[repr(u32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub enum AudioPlayerType_e {
    kAudioPlayer = 1,
    kAudioBooks = 2,
    kBrowser = 4,
}
pub use self::AudioPlayerType_e as AudioPlayerType;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct AudioPlayingInfo_s {
    pub type_: AudioPlayerType,
    pub pid: c_types::c_int,
    pub title: [c_types::c_char; 512usize],
    pub author: [c_types::c_char; 512usize],
    pub duration: [c_types::c_char; 32usize],
    pub percent: c_types::c_int,
    pub play_state: c_types::c_int,
}
pub type AudioPlayingInfo = AudioPlayingInfo_s;
extern "C" {
    pub fn OpenPlayer();
}
extern "C" {
    pub fn ClosePlayer();
}
extern "C" {
    pub fn LoadPlaylist(pl: *mut *mut c_types::c_char);
}
extern "C" {
    pub fn GetPlaylist() -> *mut *mut c_types::c_char;
}
extern "C" {
    pub fn GetCurrentTrack() -> c_types::c_int;
}
extern "C" {
    pub fn GetTrackSize() -> c_types::c_int;
}
extern "C" {
    pub fn SetTrackPosition(pos: c_types::c_int);
}
extern "C" {
    pub fn GetTrackPosition() -> c_types::c_int;
}
extern "C" {
    pub fn SetPlayerState(state: c_types::c_int);
}
extern "C" {
    pub fn GetPlayerState() -> c_types::c_int;
}
extern "C" {
    pub fn SetPlayerMode(mode: c_types::c_int);
}
extern "C" {
    pub fn GetPlayerMode() -> c_types::c_int;
}
extern "C" {
    pub fn SetVolume(n: c_types::c_int);
}
extern "C" {
    pub fn GetVolume() -> c_types::c_int;
}
extern "C" {
    pub fn SetEqualizer(eq: *mut c_types::c_int);
}
extern "C" {
    pub fn GetEqualizer(eq: *mut c_types::c_int);
}
extern "C" {
    pub fn SetAudioPlayingInfo(info: AudioPlayingInfo) -> c_types::c_int;
}
extern "C" {
    pub fn GetAudioPlayingInfo(info: *mut AudioPlayingInfo) -> c_types::c_int;
}
extern "C" {
    pub fn GetHighVolumeTimeout() -> c_types::c_int;
}
extern "C" {
    pub fn LoadHighVolumeTimeout();
}
extern "C" {
    pub fn SaveHighVolumeTimeout();
}
extern "C" {
    pub fn GetSafeVolumeLimit() -> c_types::c_int;
}
extern "C" {
    pub fn GetHighVolumeMaxInterval() -> c_types::c_int;
}
extern "C" {
    pub fn OpenNotepad(name: *const c_types::c_char);
}
extern "C" {
    pub fn OpenNotesMenu(
        filename: *const c_types::c_char,
        title: *const c_types::c_char,
        position: c_types::c_longlong,
    );
}
extern "C" {
    pub fn OpenDictionary(name: *const c_types::c_char) -> c_types::c_int;
}
extern "C" {
    pub fn CloseDictionary();
}
extern "C" {
    pub fn GetWordListWithPrefix(
        prefix_utf8: *const c_types::c_char,
        maxWords: c_types::c_int,
        wordList: *mut *mut *mut c_types::c_char,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn OpenDictionaryView(wordlist: *mut iv_wlist, dicname: *const c_types::c_char);
}
extern "C" {
    pub fn OpenControlledDictionaryView(
        pointer_handler: pointer_to_word_hand_t,
        wordlist: *mut iv_wlist,
        dicname: *const c_types::c_char,
    );
}
extern "C" {
    pub fn OpenFastTranslation(
        pointer_handler: pointer_to_word_hand_t,
        wordlist: *mut iv_wlist,
        pos: c_types::c_int,
        dicname: *const c_types::c_char,
    );
}
extern "C" {
    pub fn iv_reflow_start(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        scale: c_types::c_int,
    );
}
extern "C" {
    pub fn iv_reflow_bt();
}
extern "C" {
    pub fn iv_reflow_et();
}
extern "C" {
    pub fn iv_reflow_div();
}
extern "C" {
    pub fn iv_reflow_addchar(
        code: c_types::c_int,
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
    );
}
extern "C" {
    pub fn iv_reflow_addimage(
        x: c_types::c_int,
        y: c_types::c_int,
        w: c_types::c_int,
        h: c_types::c_int,
        flags: c_types::c_int,
    );
}
extern "C" {
    pub fn iv_reflow_subpages() -> c_types::c_int;
}
extern "C" {
    pub fn iv_reflow_render(spnum: c_types::c_int);
}
extern "C" {
    pub fn iv_reflow_getchar(x: *mut c_types::c_int, y: *mut c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn iv_reflow_getimage(
        x: *mut c_types::c_int,
        y: *mut c_types::c_int,
        scale: *mut c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn iv_reflow_words() -> c_types::c_int;
}
extern "C" {
    pub fn iv_reflow_getword(
        n: c_types::c_int,
        spnum: *mut c_types::c_int,
        x: *mut c_types::c_int,
        y: *mut c_types::c_int,
        w: *mut c_types::c_int,
        h: *mut c_types::c_int,
    ) -> *mut c_types::c_char;
}
extern "C" {
    pub fn iv_reflow_clear();
}
extern "C" {
    pub fn ClearAllScrolledAreas();
}
extern "C" {
    pub fn SetMinimalXScrollIndent(area: *mut irect, Xindent: c_types::c_int);
}
extern "C" {
    pub fn SetMinimalYScrollIndent(area: *mut irect, Yindent: c_types::c_int);
}
extern "C" {
    pub fn SetCurrentApplicationAttribute(attribute: APPLICATION_ATTRIBUTE, on: c_types::c_int);
}
extern "C" {
    pub fn iv_fullscreen();
}
extern "C" {
    pub fn iv_nofullscreen();
}
extern "C" {
    pub fn iv_sleepmode(on: c_types::c_int);
}
extern "C" {
    pub fn GetSleepmode() -> c_types::c_int;
}
extern "C" {
    pub fn GetBatteryPower() -> c_types::c_int;
}
extern "C" {
    pub fn GetTemperature() -> c_types::c_int;
}
extern "C" {
    pub fn GetDeviceModel() -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetHardwareType() -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetSoftwareVersion() -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetSerialSoftwareInfo(
        device_model: *mut *mut c_types::c_char,
        major_version: *mut c_types::c_int,
        minor_version: *mut c_types::c_int,
        build_version: *mut c_types::c_int,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn GetHardwareDepth() -> c_types::c_int;
}
extern "C" {
    pub fn GetSerialNumber() -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetExternalCardSerialNumber() -> *const c_types::c_char;
}
extern "C" {
    pub fn GetWaveformFilename() -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetDeviceKey() -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetDeviceFingerprint() -> *mut c_types::c_uchar;
}
extern "C" {
    pub fn SetAutoPowerOff(en: c_types::c_int);
}
extern "C" {
    pub fn OpenMainMenu();
}
extern "C" {
    pub fn CloseAllTasks();
}
extern "C" {
    pub fn OpenCalendar();
}
extern "C" {
    pub fn GetWiFiScanResults(aps: *mut iv_wifi_ap_list) -> *mut iv_wifi_ap_list;
}
extern "C" {
    pub fn GetHwAddress() -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetHwBTAddress() -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetBluetoothMode() -> c_types::c_int;
}
extern "C" {
    pub fn SetBluetoothMode(mode: c_types::c_int, flags: c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn GetBluetoothStatus() -> bt_state;
}
extern "C" {
    pub fn SetBluetoothOn() -> c_types::c_int;
}
extern "C" {
    pub fn SetBluetoothOff() -> c_types::c_int;
}
extern "C" {
    pub fn OpenBTdevicesMenu(
        title: *mut c_types::c_char,
        x: c_types::c_int,
        y: c_types::c_int,
        hproc: iv_itemchangehandler,
    );
}
extern "C" {
    pub fn GetBTservice(
        mac: *const c_types::c_char,
        service: *const c_types::c_char,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn OpenNetworkInfo();
}
extern "C" {
    pub fn GetUserAgent() -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetDefaultUserAgent() -> *mut c_types::c_char;
}
extern "C" {
    pub fn GetProxyUrl() -> *mut c_types::c_char;
}
extern "C" {
    pub fn CloseSession(id: c_types::c_int);
}
extern "C" {
    pub fn SetUserAgent(id: c_types::c_int, ua: *const c_types::c_char);
}
extern "C" {
    pub fn SetProxy(
        id: c_types::c_int,
        host: *const c_types::c_char,
        port: c_types::c_int,
        user: *const c_types::c_char,
        pass: *const c_types::c_char,
    );
}
extern "C" {
    pub fn SetSessionFlag(
        _id: c_types::c_int,
        _flag: c_types::c_int,
        _value: *mut c_types::c_void,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn GetSessionStatus(id: c_types::c_int) -> c_types::c_int;
}
extern "C" {
    pub fn GetHeader(id: c_types::c_int, name: *const c_types::c_char) -> *const c_types::c_char;
}
extern "C" {
    pub fn GetSessionInfo(id: c_types::c_int) -> *mut iv_sessioninfo;
}
extern "C" {
    pub fn SetPort(port: c_types::c_int);
}
extern "C" {
    pub fn GetTouchInfo() -> *mut iv_mtinfo;
}
extern "C" {
    pub fn GetTouchInfoI(index: c_types::c_uint) -> *mut iv_mtinfo;
}
extern "C" {
    pub fn iv_strcmp(s1: *const c_types::c_char, s2: *const c_types::c_char) -> c_types::c_int;
}
extern "C" {
    pub fn iv_strncmp(
        s1: *const c_types::c_char,
        s2: *const c_types::c_char,
        n: size_t,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn iv_strcasecmp(s1: *const c_types::c_char, s2: *const c_types::c_char) -> c_types::c_int;
}
extern "C" {
    pub fn iv_strncasecmp(
        s1: *const c_types::c_char,
        s2: *const c_types::c_char,
        n: size_t,
    ) -> c_types::c_int;
}
extern "C" {
    pub fn GetDialogShow() -> c_types::c_int;
}
extern "C" {
    pub fn SetMenuFont(font: *mut ifont);
}
extern "C" {
    pub fn iv_get_obreey_status() -> c_types::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct icustombubble_s {
    pub type_: c_types::c_int,
    pub bubble_pos: irect,
    pub arrow_pos: irect,
    pub arrow_bmp: *mut ibitmap,
    pub icon_bmp: *mut ibitmap,
    pub text_pos: irect,
    pub font: *mut ifont,
    pub text: *mut c_types::c_char,
}
pub type icustombubble = icustombubble_s;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct icustomhero_s {
    pub pos: irect,
    pub name: *mut c_types::c_char,
    pub hero_bmp: *mut ibitmap,
    pub max_bubbles: c_types::c_int,
    pub bubbles: *mut *mut irect,
}
pub type icustomhero = icustomhero_s;
pub type iv_custombubbledraw =
    ::core::option::Option<unsafe extern "C" fn(bubble: *mut icustombubble)>;
pub type iv_customherodraw = ::core::option::Option<unsafe extern "C" fn(hero: *mut icustomhero)>;
extern "C" {
    pub fn GetNetInfo(interface: *const network_interface) -> *mut network_interface_info;
}
extern "C" {
    pub fn GetNetGateway(interface: *const network_interface) -> *mut network_interface;
}
extern "C" {
    pub fn GetNetDNS() -> *mut network_interface_array;
}
extern "C" {
    pub fn GetNetSignalQuality() -> c_types::c_int;
}
extern "C" {
    pub fn GetNetState() -> NET_STATE;
}
extern "C" {
    pub fn GetLastNetConnectionError() -> c_types::c_int;
}
extern "C" {
    pub fn GetNetList(path: *const c_types::c_char) -> c_types::c_int;
}
extern "C" {
    pub fn CopyBitmapNoTrack(bm: *const ibitmap) -> *mut ibitmap;
}
extern "C" {
    pub fn iv_usleep(__useconds: __useconds_t) -> c_types::c_int;
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
pub enum Button {
    BUTTON1 = 0,
    BUTTON2 = 4096,
    BUTTON3 = 8192,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
pub enum Dither {
    THRESHOLD = 0,
    PATTERN = 1,
    DIFFUSION = 2,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
pub enum Event {
    INIT = 21,
    EXIT = 22,
    SHOW = 23,
    HIDE = 24,
    KEYPRESS = 25,
    KEYRELEASE = 26,
    KEYREPEAT = 28,
    POINTERUP = 29,
    POINTERDOWN = 30,
    POINTERMOVE = 31,
    ORIENTATION = 32,
    SCROLL = 33,
    POINTERLONG = 34,
    POINTERHOLD = 35,
    FOCUS = 36,
    UNFOCUS = 37,
    ACTIVATE = 38,
    MTSYNC = 39,
    TOUCHUP = 40,
    TOUCHDOWN = 41,
    TOUCHMOVE = 42,
    REPAINT = 43,
    POINTERDRAG = 44,
    POINTERCANCEL = 45,
    QN_MOVE = 51,
    QN_RELEASE = 52,
    QN_BORDER = 53,
    SNAPSHOT = 71,
    FSINCOMING = 72,
    FSCHANGED = 73,
    MP_STATECHANGED = 81,
    MP_TRACKCHANGED = 82,
    PREVPAGE = 91,
    NEXTPAGE = 92,
    OPENDIC = 93,
    CONTROL_PANEL_ABOUT_TO_OPEN = 94,
    UPDATE = 95,
    PANEL_BLUETOOTH_A2DP = 118,
    TAB = 119,
    PANEL = 120,
    PANEL_ICON = 121,
    PANEL_TEXT = 122,
    PANEL_PROGRESS = 123,
    PANEL_MPLAYER = 124,
    PANEL_USBDRIVE = 125,
    PANEL_NETWORK = 126,
    PANEL_CLOCK = 127,
    PANEL_BLUETOOTH = 128,
    PANEL_TASKLIST = 129,
    PANEL_OBREEY_SYNC = 130,
    PANEL_SETREADINGMODE = 131,
    PANEL_SETREADINGMODE_INVERT = 132,
    PANEL_FRONT_LIGHT = 133,
    GLOBALREQUEST = 149,
    GLOBALACTION = 150,
    FOREGROUND = 151,
    BACKGROUND = 152,
    SUBTASKCLOSE = 153,
    CONFIGCHANGED = 154,
    SAVESTATE = 155,
    OBREEY_CONFIG_CHANGED = 156,
    SDIN = 161,
    SDOUT = 162,
    BT_RXCOMPLETE = 171,
    BT_TXCOMPLETE = 172,
    SYNTH_ENDED = 200,
    DIC_CLOSED = 201,
    SHOW_KEYBOARD = 202,
    TEXTCLEAR = 209,
    EXT_KB = 210,
    LETTER = 211,
    CALLBACK = 212,
    SCANPROGRESS = 213,
    STOPSCAN = 214,
    STARTSCAN = 215,
    SCANSTOPPED = 216,
    POSTPONE_TIMED_POWEROFF = 217,
    FRAME_ACTIVATED = 218,
    FRAME_DEACTIVATED = 219,
    READ_PROGRESS_CHANGED = 220,
    DUMP_BITMAPS_DEBUG_INFO = 221,
    NET_CONNECTED = 256,
    NET_DISCONNECTED = 257,
    NET_FOUND_NEW_FW = 260,
    SYNTH_POSITION = 261,
    ASYNC_TASK_FINISHED = 262,
    STOP_PLAYING = 263,
    AVRCP_COMMAND = 264,
    AUDIO_CHANGED = 265,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
pub enum Icon {
    INFORMATION = 1,
    QUESTION = 2,
    WARNING = 3,
    ERROR = 4,
    WIFI = 5,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
pub enum Key {
    POWER = 1,
    COVEROPEN = 2,
    COVERCLOSE = 3,
    MENU_POWER = 4,
    ZOOMOUT = 6,
    ZOOMIN = 7,
    DELETE = 8,
    OK = 10,
    SHIFT = 14,
    LANGUAGECHANGE = 15,
    KEYBOARDCLOSE = 16,
    UP = 17,
    DOWN = 18,
    LEFT = 19,
    RIGHT = 20,
    MINUS = 21,
    PLUS = 22,
    MENU = 23,
    PREV = 24,
    NEXT = 25,
    HOME = 26,
    BACK = 27,
    PREV2 = 28,
    NEXT2 = 29,
    MUSIC = 30,
    KEY0 = 48,
    KEY1 = 49,
    KEY2 = 50,
    KEY3 = 51,
    KEY4 = 52,
    KEY5 = 53,
    KEY6 = 54,
    KEY7 = 55,
    KEY8 = 56,
    KEY9 = 57,
}
#[repr(i32)]
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
pub enum Request {
    KEYLOCK = 65,
    MAINMENU = 66,
    EXIT = 67,
    LASTOPEN = 68,
    PROFILES = 69,
    SCREENSHOT = 70,
    CALC = 71,
    PLAYER = 72,
    PLAYPAUSE = 73,
    VOLUMEUP = 74,
    VOLUMEDOWN = 75,
    NETWORK = 76,
    BTSWITCH = 77,
    DROPCONN = 78,
    TASKMGR = 79,
    SWITCHTASK = 80,
    FLIPTASK = 81,
    KILLTASK = 82,
    POWEROFF = 83,
    OPENBOOK = 84,
    BOOKSTATE = 85,
    BOOKOPENED = 86,
    HEADCHNG = 87,
    OPENBOOK2 = 88,
    FRONTLIGHT = 89,
    KEYUNLOCK = 90,
    HOURGLASS = 91,
    MESSAGEBOX = 92,
    KEYHARDLOCK = 93,
    PB_CLOUD_NEW_POSITION = 94,
    PREVTRACK = 95,
    NEXTTRACK = 96,
}