1#[repr(C)]
4#[derive(Default)]
5pub struct __IncompleteArrayField<T>(::core::marker::PhantomData<T>, [T; 0]);
6impl<T> __IncompleteArrayField<T> {
7 #[inline]
8 pub const fn new() -> Self {
9 __IncompleteArrayField(::core::marker::PhantomData, [])
10 }
11 #[inline]
12 pub fn as_ptr(&self) -> *const T {
13 self as *const _ as *const T
14 }
15 #[inline]
16 pub fn as_mut_ptr(&mut self) -> *mut T {
17 self as *mut _ as *mut T
18 }
19 #[inline]
20 pub unsafe fn as_slice(&self, len: usize) -> &[T] {
21 ::core::slice::from_raw_parts(self.as_ptr(), len)
22 }
23 #[inline]
24 pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T] {
25 ::core::slice::from_raw_parts_mut(self.as_mut_ptr(), len)
26 }
27}
28impl<T> ::core::fmt::Debug for __IncompleteArrayField<T> {
29 fn fmt(&self, fmt: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
30 fmt.write_str("__IncompleteArrayField")
31 }
32}
33pub const FLASHDIR: &'static [u8; 10usize] = b"/mnt/ext1\0";
34pub const SDCARDDIR: &'static [u8; 10usize] = b"/mnt/ext2\0";
35pub const USBDIR: &'static [u8; 10usize] = b"/mnt/ext3\0";
36pub const SYSTEMDATA: &'static [u8; 9usize] = b"/ebrmain\0";
37pub const USERDATA: &'static [u8; 17usize] = b"/mnt/ext1/system\0";
38pub const USERDATA2: &'static [u8; 17usize] = b"/mnt/ext2/system\0";
39pub const TEMPDIR: &'static [u8; 5usize] = b"/tmp\0";
40pub const SECUREDIR: &'static [u8; 12usize] = b"/mnt/secure\0";
41pub const VARRUNDIR: &'static [u8; 9usize] = b"/var/run\0";
42pub const SYSTEMFONTDIR: &'static [u8; 15usize] = b"/ebrmain/fonts\0";
43pub const USERFONTDIR: &'static [u8; 23usize] = b"/mnt/ext1/system/fonts\0";
44pub const TEMPFONTPATH: &'static [u8; 11usize] = b"/tmp/fonts\0";
45pub const PHOTOTEMPDIR: &'static [u8; 11usize] = b"/tmp/photo\0";
46pub const USERPROFILES: &'static [u8; 26usize] = b"/mnt/ext1/system/profiles\0";
47pub const USERPROFILES2: &'static [u8; 26usize] = b"/mnt/ext2/system/profiles\0";
48pub const CURRENTPROFILE: &'static [u8; 35usize] = b"/mnt/ext1/system/profiles/.current\0";
49pub const LASTPROFILE: &'static [u8; 32usize] = b"/mnt/ext1/system/profiles/.last\0";
50pub const SALVAGEPROFILES: &'static [u8; 35usize] = b"/mnt/ext1/system/profiles/.salvage\0";
51pub const CONFIGPATH: &'static [u8; 24usize] = b"/mnt/ext1/system/config\0";
52pub const STATEPATH: &'static [u8; 23usize] = b"/mnt/ext1/system/state\0";
53pub const SYSTEMTHEMESPATH: &'static [u8; 16usize] = b"/ebrmain/themes\0";
54pub const USERTHEMESPATH: &'static [u8; 24usize] = b"/mnt/ext1/system/themes\0";
55pub const CUSTOMRESOURCEPATH: &'static [u8; 27usize] = b"/mnt/ext1/system/resources\0";
56pub const GLOBALCONFIGFILE: &'static [u8; 35usize] = b"/mnt/ext1/system/config/global.cfg\0";
57pub const NETWORKCONFIGFILE: &'static [u8; 36usize] = b"/mnt/ext1/system/config/network.cfg\0";
58pub const TSCALDATA: &'static [u8; 32usize] = b"/mnt/ext1/system/config/tsc.dat\0";
59pub const TSCALDATA2: &'static [u8; 13usize] = b"/tmp/tsc.dat\0";
60pub const SYSTEMLANGPATH: &'static [u8; 18usize] = b"/ebrmain/language\0";
61pub const USERLANGPATH: &'static [u8; 26usize] = b"/mnt/ext1/system/language\0";
62pub const SYSTEMKBDPATH: &'static [u8; 27usize] = b"/ebrmain/language/keyboard\0";
63pub const USERKBDPATH: &'static [u8; 35usize] = b"/mnt/ext1/system/language/keyboard\0";
64pub const SYSTEMDICTPATH: &'static [u8; 22usize] = b"/ebrmain/dictionaries\0";
65pub const SECUREDICTPATH: &'static [u8; 25usize] = b"/mnt/secure/dictionaries\0";
66pub const USERDICTPATH1: &'static [u8; 30usize] = b"/mnt/ext1/system/dictionaries\0";
67pub const USERDICTPATH2: &'static [u8; 30usize] = b"/mnt/ext2/system/dictionaries\0";
68pub const SYSTEMBOOTLOGOPATH: &'static [u8; 23usize] = b"/ebrmain/logo/bootlogo\0";
69pub const SYSTEMOFFLOGOPATH: &'static [u8; 22usize] = b"/ebrmain/logo/offlogo\0";
70pub const USERBOOTLOGOPATH: &'static [u8; 31usize] = b"/mnt/ext1/system/logo/bootlogo\0";
71pub const USEROFFLOGOPATH: &'static [u8; 30usize] = b"/mnt/ext1/system/logo/offlogo\0";
72pub const USERCOMPATLOGOPATH: &'static [u8; 22usize] = b"/mnt/ext1/system/logo\0";
73pub const NOTESPATH: &'static [u8; 16usize] = b"/mnt/ext1/notes\0";
74pub const NOTESPATH2: &'static [u8; 16usize] = b"/mnt/ext2/notes\0";
75pub const GAMEPATH: &'static [u8; 23usize] = b"/mnt/ext1/applications\0";
76pub const OLDGAMEPATH: &'static [u8; 16usize] = b"/mnt/ext1/games\0";
77pub const USERAPPDIR: &'static [u8; 21usize] = b"/mnt/ext1/system/bin\0";
78pub const CACHEPATH: &'static [u8; 23usize] = b"/mnt/ext1/system/cache\0";
79pub const BACKUPDIR: &'static [u8; 17usize] = b"/mnt/ext2/backup\0";
80pub const USERBOOKSHELF: &'static [u8; 35usize] = b"/mnt/ext1/system/bin/bookshelf.app\0";
81pub const SYSTEMBOOKSHELF: &'static [u8; 27usize] = b"/ebrmain/bin/bookshelf.app\0";
82pub const USERMPD: &'static [u8; 29usize] = b"/mnt/ext1/system/bin/mpd.app\0";
83pub const SYSTEMMPD: &'static [u8; 21usize] = b"/ebrmain/bin/mpd.app\0";
84pub const OBREEYSYNC_APP_PATH: &'static [u8; 28usize] = b"/ebrmain/bin/obreeysync.app\0";
85pub const READER_CONTROLLER_APP_PATH: &'static [u8; 35usize] =
86 b"/ebrmain/bin/reader_controller.app\0";
87pub const DB_SERVER_APP_PATH: &'static [u8; 27usize] = b"/ebrmain/bin/db-server.app\0";
88pub const READER_APP_PATH: &'static [u8; 29usize] = b"/ebrmain/bin/eink-reader.app\0";
89pub const READER_CACHE_APP_PATH: &'static [u8; 35usize] = b"/ebrmain/bin/eink-cache-reader.app\0";
90pub const OBREEYSYNC_V2_APP_PATH: &'static [u8; 32usize] = b"/ebrmain/bin/universal_sync.app\0";
91pub const OBREEYSOCIAL_APP_PATH: &'static [u8; 30usize] = b"/ebrmain/bin/obreeysocial.app\0";
92pub const USAGE_STAT_APP_PATH: &'static [u8; 28usize] = b"/ebrmain/bin/usage_stat.app\0";
93pub const CONTROL_PANEL_APP_PATH: &'static [u8; 35usize] = b"/ebrmain/bin/control_panel_mgr.app\0";
94pub const USEREXPLORER: &'static [u8; 34usize] = b"/mnt/ext1/system/bin/explorer.app\0";
95pub const SYSTEMEXPLORER: &'static [u8; 26usize] = b"/ebrmain/bin/explorer.app\0";
96pub const USERTASKMGR: &'static [u8; 33usize] = b"/mnt/ext1/system/bin/taskmgr.app\0";
97pub const SYSTEMTASKMGR: &'static [u8; 25usize] = b"/ebrmain/bin/taskmgr.app\0";
98pub const STATECLEANER: &'static [u8; 27usize] = b"/ebrmain/bin/cleanstate.sh\0";
99pub const BACKUPSCRIPT: &'static [u8; 23usize] = b"/ebrmain/bin/backup.sh\0";
100pub const RESTORESCRIPT: &'static [u8; 24usize] = b"/ebrmain/bin/restore.sh\0";
101pub const NETAGENT: &'static [u8; 22usize] = b"/ebrmain/bin/netagent\0";
102pub const BOOKLANDAPP: &'static [u8; 26usize] = b"/ebrmain/bin/bookland.app\0";
103pub const USERMPLAYER: &'static [u8; 32usize] = b"/mnt/ext1/system/bin/mplayer.so\0";
104pub const USERBOOKINFO: &'static [u8; 33usize] = b"/mnt/ext1/system/bin/bookinfo.so\0";
105pub const POCKETBOOKSIG: &'static [u8; 29usize] = b"/mnt/ext1/system/.pocketbook\0";
106pub const USERSCANNER: &'static [u8; 33usize] = b"/mnt/ext1/system/bin/scanner.app\0";
107pub const SYSTEMSCANNER: &'static [u8; 25usize] = b"/ebrmain/bin/scanner.app\0";
108pub const FRONTLIGHT_APP: &'static [u8; 16usize] = b"front-light.app\0";
109pub const USERFRONTLIGHT: &'static [u8; 37usize] = b"/mnt/ext1/system/bin/front-light.app\0";
110pub const SYSTEMSFRONTLIGHT: &'static [u8; 29usize] = b"/ebrmain/bin/front-light.app\0";
111pub const LASTOPENBOOKS: &'static [u8; 36usize] = b"/mnt/ext1/system/state/lastopen.txt\0";
112pub const CURRENTBOOK_SAVE: &'static [u8; 31usize] = b"/mnt/ext1/system/state/current\0";
113pub const FAVORITES: &'static [u8; 26usize] = b"/mnt/ext1/system/favorite\0";
114pub const CURRENTBOOK: &'static [u8; 14usize] = b"/tmp/.current\0";
115pub const BOOKSHELFSTATE: &'static [u8; 14usize] = b"/tmp/.bsstate\0";
116pub const BOOKSHELFSTATE_NV: &'static [u8; 32usize] = b"/mnt/ext1/system/state/.bsstate\0";
117pub const HISTORYFILE: &'static [u8; 17usize] = b"/tmp/history.txt\0";
118pub const DICKEYBOARD: &'static [u8; 20usize] = b"/tmp/dictionary.kbd\0";
119pub const PLAYLISTFILE: &'static [u8; 18usize] = b"/tmp/playlist.pls\0";
120pub const NETAGENTLOG: &'static [u8; 18usize] = b"/tmp/netagent.log\0";
121pub const ADOBEPATH: &'static [u8; 34usize] = b"/mnt/ext1/.adobe-digital-editions\0";
122pub const ADOBEPATH2: &'static [u8; 34usize] = b"/mnt/ext2/.adobe-digital-editions\0";
123pub const HANDLERSPATH: &'static [u8; 37usize] = b"/mnt/ext1/system/config/handlers.cfg\0";
124pub const URLHISTORY: &'static [u8; 38usize] = b"/mnt/ext1/system/cache/urlhistory.txt\0";
125pub const WEBCACHE: &'static [u8; 14usize] = b"/tmp/webcache\0";
126pub const WEBCACHEINDEX: &'static [u8; 20usize] = b"/tmp/webcache/index\0";
127pub const WIDGETSCONFIG: &'static [u8; 32usize] = b"/mnt/ext1/system/config/widgets\0";
128pub const WIDGETSOPEN: &'static [u8; 41usize] = b"/mnt/ext1/system/config/widgets/open.cfg\0";
129pub const SWUPDATESTATUS: &'static [u8; 24usize] = b"/mnt/secure/swupdate.db\0";
130pub const TASKINFOPATH: &'static [u8; 14usize] = b"/var/run/task\0";
131pub const DOWNLOADFOLDER: &'static [u8; 20usize] = b"/mnt/ext1/Downloads\0";
132pub const CERTIFICATESFOLDER: &'static [u8; 30usize] = b"/mnt/ext1/system/Certificates\0";
133pub const PROXYCONFIGFILE: &'static [u8; 15usize] = b"/var/etc/proxy\0";
134pub const AUTO_CONNECT_APP: &'static [u8; 30usize] = b"/ebrmain/bin/auto_connect.app\0";
135pub const SILENT_CONNECT_CFG: &'static [u8; 46usize] =
136 b"/mnt/ext1/system/config/silent_connection.cfg\0";
137pub const SOCIAL_DIRECTORY: &'static [u8; 33usize] = b"/mnt/ext1/system/config/readrate\0";
138pub const SOCIAL_PENDING_ACTIONS_FILE: &'static [u8; 52usize] =
139 b"/mnt/ext1/system/config/readrate/pending_action.dat\0";
140pub const SOCIALCONFIG: &'static [u8; 44usize] = b"/mnt/ext1/system/config/readrate/social.cfg\0";
141pub const UNIVERSAL_SYNC_DIRECTORY: &'static [u8; 39usize] =
142 b"/mnt/ext1/system/config/universal_sync\0";
143pub const DROPBOX_DIRECTORY: &'static [u8; 32usize] = b"/mnt/ext1/system/config/dropbox\0";
144pub const PBCLOUD_CONFIG_FILE: &'static [u8; 36usize] = b"/mnt/ext1/system/config/pbcloud.cfg\0";
145pub const DEMO_APP_PATH: &'static [u8; 27usize] = b"/ebrmain/bin/picviewer.app\0";
146pub const DEMO_IMAGES_PATH: &'static [u8; 22usize] = b"/mnt/ext1/system/demo\0";
147pub const CHECKUPDATE_INFO_PATH: &'static [u8; 16usize] = b"/tmp/newsw.info\0";
148pub const DEVICE_VARIABLE_CFG: &'static [u8; 23usize] = b"/mnt/secure/device.cfg\0";
149pub const CONFIGURED_DEVICE_CFG: &'static [u8; 20usize] = b"/var/run/device.cfg\0";
150pub const LOGO_APP_PATH: &'static [u8; 32usize] = b"/ebrmain/bin/power_off_logo.app\0";
151pub const BROWSER_FOR_AUTH: &'static [u8; 25usize] = b"/ebrmain/bin/browser.app\0";
152pub const READER_MANAGER_SOCKET_NAME: &'static [u8; 28usize] = b"\0reader_manager_socket_name\0";
153pub const READER_CACHE_SOCKET_NAME: &'static [u8; 26usize] = b"\0reader_cache_socket_name\0";
154pub const PROFILE_LOCAL: i32 = 1;
155pub const PROFILE_SDCARD: i32 = 2;
156pub const SYSTEMDEPTH: i32 = 8;
157pub const MAXMSGSIZE: i32 = 65520;
158pub const BLACK: i32 = 0;
159pub const DGRAY: i32 = 5592405;
160pub const LGRAY: i32 = 11184810;
161pub const WHITE: i32 = 16777215;
162pub const ITEM_HEADER: i32 = 1;
163pub const ITEM_ACTIVE: i32 = 2;
164pub const ITEM_INACTIVE: i32 = 3;
165pub const ITEM_SUBMENU: i32 = 5;
166pub const ITEM_SEPARATOR: i32 = 6;
167pub const ITEM_BULLET: i32 = 7;
168pub const ITEM_TYPEMASK: i32 = 31;
169pub const ITEM_HIDDEN: i32 = 128;
170pub const ITEM_OLDMENU: i32 = 32768;
171pub const ITEM_ALTSTYLE: i32 = 64;
172pub const KBD_NORMAL: i32 = 0;
173pub const KBD_ENTEXT: i32 = 1;
174pub const KBD_PHONE: i32 = 2;
175pub const KBD_NUMERIC: i32 = 4;
176pub const KBD_IPADDR: i32 = 5;
177pub const KBD_FILENAME: i32 = 6;
178pub const KBD_URL: i32 = 7;
179pub const KBD_DATE: i32 = 8;
180pub const KBD_TIME: i32 = 9;
181pub const KBD_DATETIME: i32 = 10;
182pub const KBD_HEX: i32 = 11;
183pub const KBD_HOURS: i32 = 12;
184pub const KBD_UPPER: i32 = 16;
185pub const KBD_LOWER: i32 = 32;
186pub const KBD_FIRSTUPPER: i32 = 48;
187pub const KBD_PASSWORD: i32 = 256;
188pub const KBD_NOSELECT: i32 = 512;
189pub const KBD_SCREENTOP: i32 = 1024;
190pub const KBD_NOHEADER: i32 = 2048;
191pub const KBD_NOEVTSHOW: i32 = 4096;
192pub const KBD_SENDKEYBOARDSTATEEVENTS: i32 = 8192;
193pub const KBD_NOTOUCH: i32 = 16384;
194pub const KBD_PASSEVENTS: i32 = 32768;
195pub const KBD_NOUPDATE_AFTER_CLOSE: i32 = 65536;
196pub const KBD_EN_DEFAULT: i32 = 131072;
197pub const KBD_NOUPDATE_AFTER_OPEN: i32 = 262144;
198pub const KBD_NO_SELFCLOSE_ON_OK: i32 = 524288;
199pub const KBD_CUSTOM_ENTER_KEY: i32 = 1048576;
200pub const KBD_MARKED_ENTER_KEY: i32 = 2097152;
201pub const KBD_PASSWORD_WIFI: i32 = 4194304;
202pub const KBD_NEXT: i32 = 8388608;
203pub const NO_DISMISS: i32 = 32768;
204pub const WITH_SIZE: i32 = 1;
205pub const LIST_BEGINPAINT: i32 = 1;
206pub const LIST_PAINT: i32 = 2;
207pub const LIST_ENDPAINT: i32 = 3;
208pub const LIST_OPEN: i32 = 4;
209pub const LIST_MENU: i32 = 5;
210pub const LIST_DELETE: i32 = 6;
211pub const LIST_EXIT: i32 = 7;
212pub const LIST_ORIENTATION: i32 = 8;
213pub const LIST_POINTER: i32 = 9;
214pub const LIST_INFO: i32 = 11;
215pub const LIST_SCROLL: i32 = 12;
216pub const LISTFLAG_SCROLL: i32 = 1073741824;
217pub const BMK_CLOSED: i32 = -1;
218pub const BMK_SELECTED: i32 = 1;
219pub const BMK_ADDED: i32 = 2;
220pub const BMK_REMOVED: i32 = 3;
221pub const BMK_PAINT: i32 = 4;
222pub const CFG_TEXT: i32 = 1;
223pub const CFG_CHOICE: i32 = 2;
224pub const CFG_INDEX: i32 = 3;
225pub const CFG_TIME: i32 = 4;
226pub const CFG_FONT: i32 = 5;
227pub const CFG_FONTFACE: i32 = 6;
228pub const CFG_INFO: i32 = 7;
229pub const CFG_NUMBER: i32 = 8;
230pub const CFG_ENTEXT: i32 = 9;
231pub const CFG_PASSWORD: i32 = 10;
232pub const CFG_IPADDR: i32 = 11;
233pub const CFG_URL: i32 = 12;
234pub const CFG_PHONE: i32 = 13;
235pub const CFG_ACTIONS: i32 = 14;
236pub const CFG_CHOICE_SPECIAL_FONT: i32 = 15;
237pub const CFG_DIRECTORY: i32 = 16;
238pub const CFG_HOURS: i32 = 17;
239pub const CFG_CHECKBOX: i32 = 18;
240pub const CFG_SUBMENU_ACTION: i32 = 29;
241pub const CFG_CUSTOM: i32 = 30;
242pub const CFG_SUBMENU: i32 = 31;
243pub const CFG_MASK: i32 = 127;
244pub const CFG_FLAG_MASK: i32 = -128;
245pub const CFG_HIDDEN: i32 = 128;
246pub const CFG_READONLY: i32 = 256;
247pub const CFG_BSCSPEC: i32 = 512;
248pub const ALLTASKS: i32 = -1;
249pub const MAINTASK: i32 = -2;
250pub const OTHERTASKS: i32 = -3;
251pub const THISTASK: i32 = -4;
252pub const ACTIVETASK: i32 = -5;
253pub const MPLAYERTASK: i32 = -6;
254pub const DICTIONARYTASK: i32 = -7;
255pub const ALLSUBTASKS: i32 = -1;
256pub const CURRENTSUBTASK: i32 = -6;
257pub const TASK_HIDDEN: i32 = 1;
258pub const TASK_COPYLASTFB: i32 = 2;
259pub const TASK_NOUPDATEONFOCUS: i32 = 4;
260pub const TASK_SINGLEINSTANCE: i32 = 8;
261pub const TASK_SPYEVENTS: i32 = 16;
262pub const TASK_OUTOFSTACK: i32 = 32;
263pub const TASK_NOFORCEDKILL: i32 = 64;
264pub const TASK_MAKEACTIVE: i32 = 128;
265pub const TASK_GROUP1: i32 = 256;
266pub const TASK_GROUP2: i32 = 512;
267pub const TASK_OOMPROOF: i32 = 16384;
268pub const TASK_AUTORESTART: i32 = 32768;
269pub const TASK_DONTSENDTASKMSG: i32 = 65536;
270pub const TASK_DONTCHANGE: u32 = 4294967295;
271pub const TASK_BACKGROUND: i32 = 37;
272pub const TASK_NOHANDLER: i32 = 65573;
273pub const RQL_ADD: i32 = 1;
274pub const RQL_REPLACE: i32 = 2;
275pub const RQL_ADDIFNONE: i32 = 3;
276pub const RQL_REMOVE: i32 = 4;
277pub const ALIGN_LEFT: i32 = 1;
278pub const ALIGN_CENTER: i32 = 2;
279pub const ALIGN_RIGHT: i32 = 4;
280pub const ALIGN_FIT: i32 = 8;
281pub const VALIGN_TOP: i32 = 16;
282pub const VALIGN_MIDDLE: i32 = 32;
283pub const VALIGN_BOTTOM: i32 = 64;
284pub const ROTATE: i32 = 128;
285pub const HYPHENS: i32 = 256;
286pub const DOTS: i32 = 512;
287pub const RTLAUTO: i32 = 1024;
288pub const UNDERLINE: i32 = 2048;
289pub const STRETCH: i32 = 4096;
290pub const TILE: i32 = 8192;
291pub const TO_UPPER: i32 = 16384;
292pub const FR_CLOSE: i32 = 1;
293pub const FR_MOVEUP: i32 = 2;
294pub const FR_MOVEDOWN: i32 = 4;
295pub const FR_DICTIONARY: i32 = 67108864;
296pub const FR_NOMARGIN: i32 = 134217728;
297pub const FR_OVERLAP: i32 = 268435456;
298pub const FR_HEADER: i32 = 536870912;
299pub const FR_UPDATE: i32 = 1073741824;
300pub const FR_INFO: i32 = 65536;
301pub const FR_WARNING: i32 = 131072;
302pub const FR_ERROR: i32 = 196608;
303pub const FR_DIALOG: i32 = 262144;
304pub const FR_APP: i32 = 327680;
305pub const ARROW_LEFT: i32 = 1;
306pub const ARROW_RIGHT: i32 = 2;
307pub const ARROW_UP: i32 = 3;
308pub const ARROW_DOWN: i32 = 4;
309pub const SYMBOL_OK: i32 = 5;
310pub const SYMBOL_PAUSE: i32 = 6;
311pub const SYMBOL_BULLET: i32 = 7;
312pub const ARROW_UPDOWN: i32 = 8;
313pub const SYMBOL_MENU: i32 = 9;
314pub const IMAGE_BW: i32 = 1;
315pub const IMAGE_RGB: i32 = 24;
316pub const ROTATE0: i32 = 0;
317pub const ROTATE90: i32 = 1;
318pub const ROTATE270: i32 = 2;
319pub const ROTATE180: i32 = 3;
320pub const XMIRROR: i32 = 4;
321pub const YMIRROR: i32 = 8;
322pub const A2DITHER: i32 = 16;
323pub const DITHER_THRESHOLD: i32 = 0;
324pub const DITHER_PATTERN: i32 = 1;
325pub const DITHER_DIFFUSION: i32 = 2;
326pub const QN_X: i32 = 4096;
327pub const QN_Y: i32 = 8192;
328pub const QN_XY: i32 = 12288;
329pub const QN_SWAIT: i32 = 16384;
330pub const QN_RWAIT: i32 = 32768;
331pub const QN_CLEANUP: i32 = 65536;
332pub const MP_ONCE: i32 = 0;
333pub const MP_CONTINUOUS: i32 = 1;
334pub const MP_RANDOM: i32 = 2;
335pub const FTYPE_UNKNOWN: i32 = 0;
336pub const FTYPE_BOOK: i32 = 1;
337pub const FTYPE_PICTURE: i32 = 2;
338pub const FTYPE_MUSIC: i32 = 3;
339pub const FTYPE_APPLICATION: i32 = 4;
340pub const FTYPE_WEBLINK: i32 = 5;
341pub const FTYPE_FOLDER: i32 = 255;
342pub const OB_ADDTOLAST: i32 = 1;
343pub const OB_WITHRETURN: i32 = 2;
344pub const OB_PARAMSFIRST: i32 = 4;
345pub const OB_NONEWTASK: i32 = 8;
346pub const OB_SOFTUPDATE: i32 = 16;
347pub const OB_NOHOURGLASS: i32 = 32;
348pub const NET_BLUETOOTH: i32 = 1;
349pub const NET_WIFI: i32 = 2;
350pub const NET_CDMA3G: i32 = 4;
351pub const NET_BTREADY: i32 = 256;
352pub const NET_WIFIREADY: i32 = 512;
353pub const NET_CDMA3GREADY: i32 = 1024;
354pub const NET_CONNECTED: i32 = 3840;
355pub const CONN_GPRS: i32 = 1;
356pub const CONN_WIFI: i32 = 2;
357pub const CONN_CDMA3G: i32 = 3;
358pub const BLUETOOTH_OFF: i32 = 0;
359pub const BLUETOOTH_HIDDEN: i32 = 1;
360pub const BLUETOOTH_VISIBLE: i32 = 2;
361pub const NET_OK: i32 = 0;
362pub const NET_CONNECT: i32 = 1;
363pub const NET_TRANSFER: i32 = 2;
364pub const NET_FAIL: i32 = -11;
365pub const NET_ABORTED: i32 = -12;
366pub const NET_EINIT: i32 = -13;
367pub const NET_EWRONGID: i32 = -14;
368pub const NET_ENETWORK: i32 = -15;
369pub const NET_EFILE: i32 = -16;
370pub const NET_EPIPE: i32 = -17;
371pub const NET_ETHREAD: i32 = -18;
372pub const NET_EPROTO: i32 = -19;
373pub const NET_EURL: i32 = -20;
374pub const NET_ERESOLVE: i32 = -21;
375pub const NET_ECONNECT: i32 = -22;
376pub const NET_EACCESS: i32 = -23;
377pub const NET_ENOTFOUND: i32 = -24;
378pub const NET_EPARTIAL: i32 = -25;
379pub const NET_EBROKEN: i32 = -26;
380pub const NET_ETIMEOUT: i32 = -27;
381pub const NET_ESERVER: i32 = -28;
382pub const NET_EHTTP: i32 = -29;
383pub const NET_EHARDWARE: i32 = -30;
384pub const NET_ENOTCONF: i32 = -31;
385pub const NET_EBADCONF: i32 = -32;
386pub const NET_ENODEVICE: i32 = -33;
387pub const NET_EPPP: i32 = -34;
388pub const NET_EDISABLED: i32 = -35;
389pub const NET_EDHCP: i32 = -36;
390pub const NET_EWRONGKEY: i32 = -37;
391pub const NET_EAUTH: i32 = -38;
392pub const VN_NOPATH: i32 = 1;
393pub const VN_NOESCAPE: i32 = 2;
394pub const VN_ABSOLUTE: i32 = 4;
395pub const VN_RELATIVE: i32 = 8;
396pub const A2DP_DISCONNECTED: i32 = 0;
397pub const A2DP_CONNECTED_TO_SNK: i32 = 1;
398pub const CF_CONFIG_RESUME: i32 = 1;
399pub const FONT_ACTIVATE_CODE: u32 = 2410017735;
400pub const GSENSOR_OFF: i32 = 0;
401pub const GSENSOR_ON: i32 = 1;
402pub const GSENSOR_INTR: i32 = 2;
403pub type size_t = c_types::c_uint;
404pub type __quad_t = c_types::c_longlong;
405pub type __u_quad_t = c_types::c_ulonglong;
406pub type __dev_t = __u_quad_t;
407pub type __uid_t = c_types::c_uint;
408pub type __gid_t = c_types::c_uint;
409pub type __ino_t = c_types::c_ulong;
410pub type __mode_t = c_types::c_uint;
411pub type __nlink_t = c_types::c_uint;
412pub type __off_t = c_types::c_long;
413pub type __off64_t = __quad_t;
414pub type __pid_t = c_types::c_int;
415pub type __time_t = c_types::c_long;
416pub type __useconds_t = c_types::c_uint;
417pub type __blksize_t = c_types::c_long;
418pub type __blkcnt_t = c_types::c_long;
419pub type __syscall_slong_t = c_types::c_long;
420pub type FILE = _IO_FILE;
421pub type _IO_lock_t = c_types::c_void;
422#[repr(C)]
423#[derive(Debug, Copy, Clone)]
424pub struct _IO_marker {
425 pub _next: *mut _IO_marker,
426 pub _sbuf: *mut _IO_FILE,
427 pub _pos: c_types::c_int,
428}
429#[repr(C)]
430#[derive(Copy, Clone)]
431pub struct _IO_FILE {
432 pub _flags: c_types::c_int,
433 pub _IO_read_ptr: *mut c_types::c_char,
434 pub _IO_read_end: *mut c_types::c_char,
435 pub _IO_read_base: *mut c_types::c_char,
436 pub _IO_write_base: *mut c_types::c_char,
437 pub _IO_write_ptr: *mut c_types::c_char,
438 pub _IO_write_end: *mut c_types::c_char,
439 pub _IO_buf_base: *mut c_types::c_char,
440 pub _IO_buf_end: *mut c_types::c_char,
441 pub _IO_save_base: *mut c_types::c_char,
442 pub _IO_backup_base: *mut c_types::c_char,
443 pub _IO_save_end: *mut c_types::c_char,
444 pub _markers: *mut _IO_marker,
445 pub _chain: *mut _IO_FILE,
446 pub _fileno: c_types::c_int,
447 pub _flags2: c_types::c_int,
448 pub _old_offset: __off_t,
449 pub _cur_column: c_types::c_ushort,
450 pub _vtable_offset: c_types::c_schar,
451 pub _shortbuf: [c_types::c_char; 1usize],
452 pub _lock: *mut _IO_lock_t,
453 pub _offset: __off64_t,
454 pub __pad1: *mut c_types::c_void,
455 pub __pad2: *mut c_types::c_void,
456 pub __pad3: *mut c_types::c_void,
457 pub __pad4: *mut c_types::c_void,
458 pub __pad5: size_t,
459 pub _mode: c_types::c_int,
460 pub _unused2: [c_types::c_char; 40usize],
461}
462pub type mode_t = __mode_t;
463pub type pid_t = __pid_t;
464pub type time_t = __time_t;
465#[repr(C)]
466#[derive(Debug, Copy, Clone)]
467pub struct timespec {
468 pub tv_sec: __time_t,
469 pub tv_nsec: __syscall_slong_t,
470}
471#[repr(C)]
472#[derive(Debug, Copy, Clone)]
473pub struct stat {
474 pub st_dev: __dev_t,
475 pub __pad1: c_types::c_ushort,
476 pub st_ino: __ino_t,
477 pub st_mode: __mode_t,
478 pub st_nlink: __nlink_t,
479 pub st_uid: __uid_t,
480 pub st_gid: __gid_t,
481 pub st_rdev: __dev_t,
482 pub __pad2: c_types::c_ushort,
483 pub st_size: __off_t,
484 pub st_blksize: __blksize_t,
485 pub st_blocks: __blkcnt_t,
486 pub st_atim: timespec,
487 pub st_mtim: timespec,
488 pub st_ctim: timespec,
489 pub __glibc_reserved4: c_types::c_ulong,
490 pub __glibc_reserved5: c_types::c_ulong,
491}
492#[repr(C)]
493#[derive(Copy, Clone)]
494pub struct dirent {
495 pub d_ino: __ino_t,
496 pub d_off: __off_t,
497 pub d_reclen: c_types::c_ushort,
498 pub d_type: c_types::c_uchar,
499 pub d_name: [c_types::c_char; 256usize],
500}
501#[repr(C)]
502#[derive(Debug, Copy, Clone)]
503pub struct __dirstream {
504 _unused: [u8; 0],
505}
506pub type DIR = __dirstream;
507extern "C" {
508 pub static mut OBREEY_BSCONFIG_PARAMETR: *const c_types::c_char;
509}
510extern "C" {
511 pub static mut OBREEY_STORE_BSCONFIG_PARAM: *const c_types::c_char;
512}
513extern "C" {
514 pub static mut OBREEY_SOCIAL_COOKIES_PATH: *const c_types::c_char;
515}
516#[repr(u32)]
517#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
518pub enum AvrcpCommands {
519 AVRCP_NEXT = 0,
520 AVRCP_PREVIOUS = 1,
521 AVRCP_PAUSE = 2,
522 AVRCP_PLAY_PAUSE = 3,
523 AVRCP_STOP = 4,
524 AVRCP_PLAY = 5,
525 AVRCP_SET_VOLUME = 6,
526}
527#[repr(u32)]
528#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
529pub enum PB_STATE_e {
530 MP_STOPPED = 0,
531 MP_REQUEST_FOR_PLAY = 1,
532 MP_PLAYING = 2,
533 MP_PAUSED = 3,
534 MP_PREVTRACK = 4,
535 MP_NEXTTRACK = 5,
536 MP_TRACK_FINISHED = 6,
537 MP_LOAD_FILE_AND_PAUSE = 7,
538}
539pub use self::PB_STATE_e as PB_STATE;
540#[repr(u32)]
541#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
542pub enum PB_TTS_STATE_e {
543 TTS_STOPPED = 0,
544 TTS_PLAYING = 1,
545 TTS_PAUSED = 2,
546}
547pub use self::PB_TTS_STATE_e as PB_TTS_STATE;
548#[repr(u32)]
549#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
550pub enum WIFI_SECURITY {
551 NO = 0,
552 WEP = 1,
553 WPAEAP = 2,
554 WPAPSK = 3,
555}
556#[repr(i32)]
557#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
558pub enum NET_STATE {
559 NET_STATE_UNKNOWN = -1,
560 DISCONNECTED = 0,
561 CONNECTING = 1,
562 CONNECTED = 2,
563}
564#[repr(u32)]
565#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
566pub enum FONT_TYPE {
567 FONT_STD = 0,
568 FONT_BOLD = 1,
569 FONT_ITALIC = 2,
570 FONT_BOLDITALIC = 3,
571 FONT_MONO = 4,
572 FONT_FAMILY = 5,
573}
574#[repr(u32)]
575#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
576pub enum SideFlags {
577 SFLAGS_NONE = 0,
578 SFLAGS_LEFT = 1,
579 SFLAGS_RIGHT = 2,
580 SFLAGS_RIGHT_LEFT = 3,
581 SFLAGS_UP = 4,
582 SFLAGS_UP_LEFT = 5,
583 SFLAGS_UP_RIGHT = 6,
584 SFLAGS_UP_RIGHT_LEFT = 7,
585 SFLAGS_DOWN = 8,
586 SFLAGS_DOWN_LEFT = 9,
587 SFLAGS_DOWN_RIGHT = 10,
588 SFLAGS_DOWN_RIGHT_LEFT = 11,
589 SFLAGS_DOWN_UP = 12,
590 SFLAGS_DOWN_UP_LEFT = 13,
591 SFLAGS_DOWN_UP_RIGHT = 14,
592 SFLAGS_ALL = 15,
593}
594impl PanelType {
595 pub const DISABLED: PanelType = PanelType(0);
596}
597impl PanelType {
598 pub const ENABLED: PanelType = PanelType(2);
599}
600impl PanelType {
601 pub const EVENT_NO_HANDLING: PanelType = PanelType(4);
602}
603impl PanelType {
604 pub const NO_FB_OFFSET: PanelType = PanelType(8);
605}
606impl ::core::ops::BitOr<PanelType> for PanelType {
607 type Output = Self;
608 #[inline]
609 fn bitor(self, other: Self) -> Self {
610 PanelType(self.0 | other.0)
611 }
612}
613impl ::core::ops::BitOrAssign for PanelType {
614 #[inline]
615 fn bitor_assign(&mut self, rhs: PanelType) {
616 self.0 |= rhs.0;
617 }
618}
619impl ::core::ops::BitAnd<PanelType> for PanelType {
620 type Output = Self;
621 #[inline]
622 fn bitand(self, other: Self) -> Self {
623 PanelType(self.0 & other.0)
624 }
625}
626impl ::core::ops::BitAndAssign for PanelType {
627 #[inline]
628 fn bitand_assign(&mut self, rhs: PanelType) {
629 self.0 &= rhs.0;
630 }
631}
632#[repr(transparent)]
633#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
634pub struct PanelType(pub c_types::c_uint);
635extern "C" {
636 pub fn iv_get_default_font(fonttype: FONT_TYPE) -> *mut c_types::c_char;
637}
638#[repr(C)]
639#[derive(Debug, Copy, Clone)]
640pub struct irect_s {
641 pub x: c_types::c_int,
642 pub y: c_types::c_int,
643 pub w: c_types::c_int,
644 pub h: c_types::c_int,
645 pub flags: c_types::c_int,
646}
647pub type irect = irect_s;
648#[repr(C)]
649#[derive(Debug)]
650pub struct ibitmap_s {
651 pub width: c_types::c_ushort,
652 pub height: c_types::c_ushort,
653 pub depth: c_types::c_ushort,
654 pub scanline: c_types::c_ushort,
655 pub data: __IncompleteArrayField<c_types::c_uchar>,
656}
657pub type ibitmap = ibitmap_s;
658#[repr(C)]
659#[derive(Debug, Copy, Clone)]
660pub struct control_panel_s {
661 pub flags: c_types::c_int,
662}
663pub type control_panel = control_panel_s;
664pub type iv_handler = ::core::option::Option<
665 unsafe extern "C" fn(
666 type_: c_types::c_int,
667 par1: c_types::c_int,
668 par2: c_types::c_int,
669 ) -> c_types::c_int,
670>;
671pub type iv_timerproc = ::core::option::Option<unsafe extern "C" fn()>;
672pub type iv_timerprocEx =
673 ::core::option::Option<unsafe extern "C" fn(context: *mut c_types::c_void)>;
674pub type iv_menuhandler = ::core::option::Option<unsafe extern "C" fn(index: c_types::c_int)>;
675pub type iv_keyboardhandler =
676 ::core::option::Option<unsafe extern "C" fn(text: *mut c_types::c_char)>;
677pub type iv_keyboardhandlerex = ::core::option::Option<
678 unsafe extern "C" fn(text: *mut c_types::c_char, data: *mut c_types::c_void),
679>;
680pub type iv_dialoghandler = ::core::option::Option<unsafe extern "C" fn(button: c_types::c_int)>;
681pub type iv_timeedithandler =
682 ::core::option::Option<unsafe extern "C" fn(newtime: c_types::c_long)>;
683pub type iv_fontselecthandler = ::core::option::Option<
684 unsafe extern "C" fn(
685 fontr: *mut c_types::c_char,
686 fontb: *mut c_types::c_char,
687 fonti: *mut c_types::c_char,
688 fontbi: *mut c_types::c_char,
689 ),
690>;
691pub type iv_dirselecthandler =
692 ::core::option::Option<unsafe extern "C" fn(path: *mut c_types::c_char)>;
693pub type iv_confighandler = ::core::option::Option<unsafe extern "C" fn()>;
694pub type iv_itemchangehandler =
695 ::core::option::Option<unsafe extern "C" fn(name: *mut c_types::c_char)>;
696pub type iv_pageselecthandler = ::core::option::Option<unsafe extern "C" fn(page: c_types::c_int)>;
697pub type iv_bmkhandler = ::core::option::Option<
698 unsafe extern "C" fn(
699 action: c_types::c_int,
700 page: c_types::c_int,
701 position: c_types::c_longlong,
702 ),
703>;
704pub type iv_tochandler =
705 ::core::option::Option<unsafe extern "C" fn(position: c_types::c_longlong)>;
706pub type iv_itempaint = ::core::option::Option<
707 unsafe extern "C" fn(
708 x: c_types::c_int,
709 y: c_types::c_int,
710 index: c_types::c_int,
711 selected: c_types::c_int,
712 ),
713>;
714pub type iv_listhandler = ::core::option::Option<
715 unsafe extern "C" fn(
716 action: c_types::c_int,
717 x: c_types::c_int,
718 y: c_types::c_int,
719 idx: c_types::c_int,
720 state: c_types::c_int,
721 ) -> c_types::c_int,
722>;
723pub type iv_rotatehandler = ::core::option::Option<unsafe extern "C" fn(direction: c_types::c_int)>;
724pub type iv_turnproc =
725 ::core::option::Option<unsafe extern "C" fn(direction: c_types::c_int) -> c_types::c_int>;
726pub type iv_recurser = ::core::option::Option<
727 unsafe extern "C" fn(
728 path: *mut c_types::c_char,
729 type_: c_types::c_int,
730 data: *mut c_types::c_void,
731 ) -> c_types::c_int,
732>;
733pub type iv_msghandler = ::core::option::Option<
734 unsafe extern "C" fn(
735 task: c_types::c_int,
736 message: *mut c_types::c_void,
737 len: c_types::c_int,
738 ) -> c_types::c_int,
739>;
740pub type iv_requestlistener = ::core::option::Option<
741 unsafe extern "C" fn(
742 request: c_types::c_int,
743 data: *mut c_types::c_void,
744 inlen: c_types::c_int,
745 outlen: c_types::c_int,
746 ) -> c_types::c_int,
747>;
748pub type iv_hashenumproc = ::core::option::Option<
749 unsafe extern "C" fn(
750 name: *mut c_types::c_char,
751 value: *mut c_types::c_void,
752 userdata: *mut c_types::c_void,
753 ) -> c_types::c_int,
754>;
755pub type iv_hashcmpproc = ::core::option::Option<
756 unsafe extern "C" fn(
757 name1: *mut c_types::c_char,
758 value1: *mut c_types::c_void,
759 name2: *mut c_types::c_char,
760 value2: *mut c_types::c_void,
761 ) -> c_types::c_int,
762>;
763pub type iv_hashaddproc = ::core::option::Option<
764 unsafe extern "C" fn(data: *mut c_types::c_void) -> *mut c_types::c_void,
765>;
766pub type iv_hashdelproc = ::core::option::Option<unsafe extern "C" fn(data: *mut c_types::c_void)>;
767pub type iv_panelupdateshandler = ::core::option::Option<
768 unsafe extern "C" fn(
769 x: c_types::c_int,
770 y: c_types::c_int,
771 w: c_types::c_int,
772 h: c_types::c_int,
773 ),
774>;
775#[repr(C)]
776#[derive(Copy, Clone)]
777pub struct TransparentDefinition {
778 pub m_TRANSPARENT_MATRIX: [c_types::c_char; 256usize],
779 pub m_isInitTransparentMatrix: c_types::c_int,
780 pub m_PercentOfTransparent: c_types::c_int,
781}
782pub type TransparentHandle = TransparentDefinition;
783#[repr(C)]
784#[derive(Debug, Copy, Clone)]
785pub struct ihash_item_s {
786 pub name: *mut c_types::c_char,
787 pub value: *mut c_types::c_void,
788 pub next: *mut ihash_item_s,
789}
790pub type ihash_item = ihash_item_s;
791#[repr(C)]
792#[derive(Debug, Copy, Clone)]
793pub struct ihash_s {
794 pub prime: c_types::c_int,
795 pub count: c_types::c_int,
796 pub addproc: iv_hashaddproc,
797 pub delproc: iv_hashdelproc,
798 pub items: *mut *mut ihash_item_s,
799}
800pub type ihash = ihash_s;
801#[repr(C)]
802#[derive(Debug, Copy, Clone)]
803pub struct ifont_s {
804 pub name: *mut c_types::c_char,
805 pub family: *mut c_types::c_char,
806 pub size: c_types::c_int,
807 pub aa: c_types::c_uchar,
808 pub isbold: c_types::c_uchar,
809 pub isitalic: c_types::c_uchar,
810 pub _r1: c_types::c_uchar,
811 pub charset: c_types::c_ushort,
812 pub _r2: c_types::c_ushort,
813 pub color: c_types::c_int,
814 pub height: c_types::c_int,
815 pub linespacing: c_types::c_int,
816 pub baseline: c_types::c_int,
817 pub fdata: *mut c_types::c_void,
818}
819pub type ifont = ifont_s;
820#[repr(u32)]
821#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
822pub enum FONT_MENU_FLAGS {
823 FM_SHOW_SIZE = 1,
824}
825#[repr(C)]
826#[derive(Debug, Copy, Clone)]
827pub struct iuser_font_s {
828 pub show_font_name: *mut c_types::c_char,
829 pub real_font_name: *mut c_types::c_char,
830 pub font: *mut ifont,
831}
832pub type iuser_font = iuser_font_s;
833#[repr(C)]
834#[derive(Debug, Copy, Clone)]
835pub struct ifont_list_s {
836 pub list: *mut iuser_font,
837 pub count: c_types::c_int,
838}
839pub type ifont_list = ifont_list_s;
840#[repr(C)]
841#[derive(Debug, Copy, Clone)]
842pub struct ifont_menu_s {
843 pub menu_title: *mut c_types::c_char,
844 pub current_font: *mut c_types::c_char,
845 pub flags: FONT_MENU_FLAGS,
846 pub hproc: iv_fontselecthandler,
847 pub user_fonts: *mut ifont_list,
848}
849pub type ifont_menu = ifont_menu_s;
850#[repr(C)]
851#[derive(Debug, Copy, Clone)]
852pub struct imenu_s {
853 pub type_: c_types::c_short,
854 pub index: c_types::c_short,
855 pub text: *mut c_types::c_char,
856 pub submenu: *mut imenu_s,
857}
858pub type imenu = imenu_s;
859#[repr(C)]
860#[derive(Debug, Copy, Clone)]
861pub struct imenuex_s {
862 pub type_: c_types::c_short,
863 pub index: c_types::c_short,
864 pub text: *mut c_types::c_char,
865 pub submenu: *mut imenuex_s,
866 pub icon: *mut ibitmap,
867 pub reserved: *mut c_types::c_void,
868 pub font: *const ifont,
869}
870pub type imenuex = imenuex_s;
871#[repr(C)]
872#[derive(Debug, Copy, Clone)]
873pub struct icanvas_s {
874 pub width: c_types::c_int,
875 pub height: c_types::c_int,
876 pub scanline: c_types::c_int,
877 pub depth: c_types::c_int,
878 pub clipx1: c_types::c_int,
879 pub clipx2: c_types::c_int,
880 pub clipy1: c_types::c_int,
881 pub clipy2: c_types::c_int,
882 pub addr: *mut c_types::c_uchar,
883}
884pub type icanvas = icanvas_s;
885#[repr(C)]
886#[derive(Debug, Copy, Clone)]
887pub struct icontext_menu_properties_s {
888 pub font_normal: *mut ifont,
889 pub font_selected: *mut ifont,
890 pub font_disabled: *mut ifont,
891 pub background_color_normal: c_types::c_int,
892 pub background_color_disabled: c_types::c_int,
893 pub blackout: c_types::c_int,
894 pub item_height: c_types::c_int,
895 pub item_border_indent_horizontal: c_types::c_int,
896 pub separator_indent_horizontal: c_types::c_int,
897 pub separator_indent_vertical: c_types::c_int,
898 pub separator_height: c_types::c_int,
899 pub separator_style: c_types::c_int,
900 pub separator_color: c_types::c_int,
901 pub separator_frequency: c_types::c_int,
902 pub marker_height: c_types::c_int,
903 pub marker_indent_horizontal: c_types::c_int,
904 pub marker_style: c_types::c_int,
905 pub marker_color: c_types::c_int,
906 pub border_size: c_types::c_int,
907 pub border_radius: c_types::c_int,
908 pub title_height: c_types::c_int,
909 pub enable_pointer: c_types::c_int,
910 pub font_normal_color: c_types::c_int,
911 pub font_selected_color: c_types::c_int,
912 pub font_disabled_color: c_types::c_int,
913 pub bullet_show: c_types::c_int,
914 pub bullet_style: c_types::c_int,
915 pub item_border_indent_vertical: c_types::c_int,
916 pub background_style: c_types::c_int,
917}
918pub type icontext_menu_properties = icontext_menu_properties_s;
919#[repr(C)]
920#[derive(Debug, Copy, Clone)]
921pub struct ifont_selector_properties {
922 pub custom_font_enable: c_types::c_ushort,
923}
924pub type font_selector_properties = ifont_selector_properties;
925#[repr(C)]
926#[derive(Debug, Copy, Clone)]
927pub struct icontext_menu_s {
928 pub id: *const c_types::c_char,
929 pub hproc: iv_menuhandler,
930 pub menuex: *const imenuex,
931 pub menu: *const imenu,
932 pub pos_selected_item: irect,
933 pub pos_menu: irect,
934 pub properties: *mut icontext_menu_properties,
935 pub active_element: c_types::c_int,
936 pub enable_pointer: c_types::c_short,
937 pub enable_aura: c_types::c_short,
938 pub use_own_font: c_types::c_short,
939 pub update_after_close: c_types::c_short,
940 pub only_choise: c_types::c_short,
941}
942pub type icontext_menu = icontext_menu_s;
943#[repr(C)]
944#[derive(Debug, Copy, Clone)]
945pub struct iapp_caption_s {
946 pub rect_portrait: irect,
947 pub rect_landscape: irect,
948 pub font: *mut ifont,
949 pub title_height: c_types::c_int,
950 pub background_color: c_types::c_int,
951 pub is_active: c_types::c_short,
952 pub is_uppercase: c_types::c_short,
953}
954pub type iapp_caption = iapp_caption_s;
955#[repr(C)]
956#[derive(Debug, Copy, Clone)]
957pub struct itaskmgr_s {
958 pub title_height: c_types::c_int,
959 pub title_font: *mut ifont,
960 pub task_font: *mut ifont,
961 pub task_title_font: *mut ifont,
962 pub style: c_types::c_int,
963 pub profile_present: c_types::c_int,
964 pub profile_height: c_types::c_int,
965 pub profile_font: *mut ifont,
966 pub shortcut_height: c_types::c_int,
967 pub shortcut_width: c_types::c_int,
968 pub shortcut_font: *mut ifont,
969 pub task_height: c_types::c_int,
970 pub full_height: c_types::c_int,
971 pub full_width: c_types::c_int,
972 pub width: c_types::c_int,
973 pub height: c_types::c_int,
974 pub x: c_types::c_int,
975 pub y: c_types::c_int,
976 pub border_size: c_types::c_int,
977 pub indent_from_border: c_types::c_int,
978 pub bitmap: *mut *mut ibitmap,
979 pub bitmap_count: c_types::c_int,
980 pub separator_size: c_types::c_int,
981 pub exit_button_indent: c_types::c_int,
982 pub background_style: c_types::c_int,
983 pub separator_color: c_types::c_int,
984 pub border_color: c_types::c_int,
985}
986pub type itaskmgr = itaskmgr_s;
987#[repr(C)]
988#[derive(Debug, Copy, Clone)]
989pub struct ipager_s {
990 pub page_font: *mut ifont,
991 pub height: c_types::c_int,
992 pub indent_horizontal: c_types::c_int,
993 pub left_width: c_types::c_int,
994 pub page_width: c_types::c_int,
995 pub rigth_width: c_types::c_int,
996 pub separator_size: c_types::c_int,
997 pub icon_left: *const ibitmap,
998 pub icon_right: *const ibitmap,
999 pub current_page: c_types::c_int,
1000 pub total_pages: c_types::c_int,
1001 pub position: irect,
1002 pub orientation: c_types::c_int,
1003}
1004pub type ipager = ipager_s;
1005#[repr(C)]
1006#[derive(Debug, Copy, Clone)]
1007pub struct iselection_s {
1008 pub selection_style: c_types::c_int,
1009 pub background_color: c_types::c_int,
1010 pub background_style: c_types::c_int,
1011 pub border_size: c_types::c_int,
1012 pub border_radius: c_types::c_int,
1013 pub indent_horizontal: c_types::c_int,
1014 pub indent_left: c_types::c_int,
1015 pub indent_right: c_types::c_int,
1016}
1017pub type iselection = iselection_s;
1018#[repr(u32)]
1019#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1020pub enum AppStyles {
1021 STYLE_UNKNOWN = 0,
1022 STYLE_KEYBOARD = 1,
1023 STYLE_TOUCHPANEL = 2,
1024 STYLE_TOUCHPANEL_KEYBORAD = 3,
1025 STYLE_MAX_NOT_USED = 4,
1026}
1027#[repr(C)]
1028#[derive(Debug, Copy, Clone)]
1029pub struct iappstyle_s {
1030 pub app_style: AppStyles,
1031}
1032pub type iappstyle = iappstyle_s;
1033#[repr(C)]
1034#[derive(Debug, Copy, Clone)]
1035pub struct ievent_s {
1036 pub hproc: iv_handler,
1037 pub type_: c_types::c_ushort,
1038 pub mod_: c_types::c_ushort,
1039 pub par1: c_types::c_ushort,
1040 pub par2: c_types::c_ushort,
1041 pub data: *mut c_types::c_void,
1042}
1043pub type ievent = ievent_s;
1044#[repr(C)]
1045#[derive(Debug, Copy, Clone)]
1046pub struct iconfig_s {
1047 pub filename: *mut c_types::c_char,
1048 pub hash: *mut ihash,
1049 pub vhash: *mut ihash,
1050 pub modified_hash: *mut ihash,
1051 pub deleted_keys: *mut *mut c_types::c_char,
1052 pub changed: c_types::c_int,
1053}
1054pub type iconfig = iconfig_s;
1055#[repr(C)]
1056#[derive(Debug, Copy, Clone)]
1057pub struct iconfigedit_s {
1058 pub type_: c_types::c_int,
1059 pub icon: *const ibitmap,
1060 pub text: *mut c_types::c_char,
1061 pub hint: *mut c_types::c_char,
1062 pub name: *mut c_types::c_char,
1063 pub deflt: *mut c_types::c_char,
1064 pub variants: *mut *mut c_types::c_char,
1065 pub submenu: *mut iconfigedit_s,
1066 pub icon_theme: *mut *mut ibitmap,
1067}
1068pub type iconfigedit = iconfigedit_s;
1069#[repr(C)]
1070#[derive(Debug, Copy, Clone)]
1071pub struct oldconfigedit_s {
1072 pub text: *mut c_types::c_char,
1073 pub name: *mut c_types::c_char,
1074 pub type_: c_types::c_int,
1075 pub deflt: *mut c_types::c_char,
1076 pub variants: *mut *mut c_types::c_char,
1077}
1078pub type oldconfigedit = oldconfigedit_s;
1079#[repr(C)]
1080#[derive(Debug, Copy, Clone)]
1081pub struct tocentry_s {
1082 pub level: c_types::c_int,
1083 pub page: c_types::c_int,
1084 pub position: c_types::c_longlong,
1085 pub text: *mut c_types::c_char,
1086}
1087pub type tocentry = tocentry_s;
1088#[repr(C)]
1089#[derive(Debug, Copy, Clone)]
1090pub struct itimer_s {
1091 pub tp: iv_timerproc,
1092 pub weak: c_types::c_int,
1093 pub extime: c_types::c_longlong,
1094 pub name: [c_types::c_char; 32usize],
1095 pub context: *mut c_types::c_void,
1096 pub lastchecktime: c_types::c_longlong,
1097}
1098pub type itimer = itimer_s;
1099#[repr(C)]
1100#[derive(Debug, Copy, Clone)]
1101pub struct bookinfo_s {
1102 pub type_: c_types::c_int,
1103 pub typedesc: *mut c_types::c_char,
1104 pub path: *mut c_types::c_char,
1105 pub filename: *mut c_types::c_char,
1106 pub title: *mut c_types::c_char,
1107 pub author: *mut c_types::c_char,
1108 pub series: *mut c_types::c_char,
1109 pub numinseries: c_types::c_int,
1110 pub genre: [*mut c_types::c_char; 10usize],
1111 pub icon: *mut ibitmap,
1112 pub year: c_types::c_int,
1113 pub size: c_types::c_long,
1114 pub ctime: time_t,
1115 pub isbn: *mut c_types::c_char,
1116 pub meta_id: *mut c_types::c_char,
1117 pub first_author: *mut c_types::c_char,
1118 pub drm: c_types::c_int,
1119 pub annotation: *mut c_types::c_char,
1120 pub lang: *mut c_types::c_char,
1121 pub publisher: *mut c_types::c_char,
1122 pub identifiers: *mut c_types::c_char,
1123}
1124pub type bookinfo = bookinfo_s;
1125#[repr(C)]
1126#[derive(Debug, Copy, Clone)]
1127pub struct iv_filetype_s {
1128 pub extension: *mut c_types::c_char,
1129 pub description: *mut c_types::c_char,
1130 pub type_: c_types::c_int,
1131 pub program: *mut c_types::c_char,
1132 pub icon: *mut ibitmap,
1133}
1134pub type iv_filetype = iv_filetype_s;
1135#[repr(C)]
1136#[derive(Debug, Copy, Clone)]
1137pub struct iv_template_s {
1138 pub width: c_types::c_int,
1139 pub height: c_types::c_int,
1140 pub background: *mut ibitmap,
1141 pub bg_folder: *mut ibitmap,
1142 pub bg_folder_a: *mut ibitmap,
1143 pub bg_file: *mut ibitmap,
1144 pub bg_file_a: *mut ibitmap,
1145 pub iconpos: irect,
1146 pub mediaiconpos: irect,
1147 pub line1pos: irect,
1148 pub line2pos: irect,
1149 pub line3pos: irect,
1150 pub line1font: *mut ifont,
1151 pub line2font: *mut ifont,
1152 pub line3font: *mut ifont,
1153}
1154pub type iv_template = iv_template_s;
1155#[repr(C)]
1156#[derive(Debug, Copy, Clone)]
1157pub struct iv_wlist_s {
1158 pub word: *mut c_types::c_char,
1159 pub x1: c_types::c_short,
1160 pub y1: c_types::c_short,
1161 pub x2: c_types::c_short,
1162 pub y2: c_types::c_short,
1163}
1164pub type iv_wlist = iv_wlist_s;
1165#[repr(C)]
1166#[derive(Copy, Clone)]
1167pub struct iv_netinfo_s {
1168 pub connected: c_types::c_int,
1169 pub name: [c_types::c_char; 64usize],
1170 pub device: [c_types::c_char; 64usize],
1171 pub security: [c_types::c_char; 64usize],
1172 pub prefix: [c_types::c_char; 64usize],
1173 pub index: c_types::c_int,
1174 pub atime: c_types::c_int,
1175 pub speed: c_types::c_int,
1176 pub reserved_0e: c_types::c_int,
1177 pub bytes_in: c_types::c_ulong,
1178 pub bytes_out: c_types::c_ulong,
1179 pub packets_in: c_types::c_ulong,
1180 pub packets_out: c_types::c_ulong,
1181}
1182pub type iv_netinfo = iv_netinfo_s;
1183#[repr(C)]
1184#[derive(Debug, Copy, Clone)]
1185pub struct iv_sessioninfo_s {
1186 pub url: *mut c_types::c_char,
1187 pub ctype: *mut c_types::c_char,
1188 pub response: c_types::c_long,
1189 pub length: c_types::c_int,
1190 pub progress: c_types::c_int,
1191}
1192pub type iv_sessioninfo = iv_sessioninfo_s;
1193#[repr(C)]
1194#[derive(Debug)]
1195pub struct iv_fbinfo_s {
1196 pub version: c_types::c_int,
1197 pub flags: c_types::c_uint,
1198 pub shmkey: c_types::c_int,
1199 pub shmsize: c_types::c_int,
1200 pub refkey: c_types::c_int,
1201 pub refsize: c_types::c_int,
1202 pub width: c_types::c_int,
1203 pub height: c_types::c_int,
1204 pub vdepth: c_types::c_int,
1205 pub ndepth: c_types::c_int,
1206 pub orientation: c_types::c_int,
1207 pub _deprecated_cwidth: c_types::c_int,
1208 pub _deprecated_cheight: c_types::c_int,
1209 pub scanline: c_types::c_int,
1210 pub fb_offset: c_types::c_int,
1211 pub fb_size: c_types::c_int,
1212 pub ev_offset: c_types::c_int,
1213 pub ev_size: c_types::c_int,
1214 pub evhead: c_types::c_int,
1215 pub evtail: c_types::c_int,
1216 pub einkversion: c_types::c_int,
1217 pub reserved: [c_types::c_int; 15usize],
1218 pub data: __IncompleteArrayField<c_types::c_uchar>,
1219 pub fb_y_offset: c_types::c_int,
1220}
1221pub type iv_fbinfo = iv_fbinfo_s;
1222#[repr(C)]
1223#[derive(Debug, Copy, Clone)]
1224pub struct subtaskinfo_s {
1225 pub id: c_types::c_int,
1226 pub name: *mut c_types::c_char,
1227 pub book: *mut c_types::c_char,
1228 pub fgindex: c_types::c_int,
1229 pub order: c_types::c_int,
1230 pub rsv_1s: c_types::c_int,
1231}
1232pub type subtaskinfo = subtaskinfo_s;
1233#[repr(C)]
1234#[derive(Debug, Copy, Clone)]
1235pub struct taskinfo_s {
1236 pub task: c_types::c_int,
1237 pub nsubtasks: c_types::c_int,
1238 pub flags: c_types::c_uint,
1239 pub fbshmkey: c_types::c_int,
1240 pub fbshmsize: c_types::c_int,
1241 pub mainpid: pid_t,
1242 pub appname: *mut c_types::c_char,
1243 pub icon: *mut ibitmap,
1244 pub subtasks: *mut subtaskinfo,
1245 pub rsv_1: c_types::c_int,
1246 pub rsv_2: c_types::c_int,
1247 pub rsv_3: c_types::c_int,
1248 pub rsv_4: c_types::c_int,
1249}
1250pub type taskinfo = taskinfo_s;
1251#[repr(u32)]
1252#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1253pub enum input_dev_e {
1254 UNKNOWN = 0,
1255 CAPTOUCH = 1,
1256 DIGITIZER = 2,
1257 MAX_INPUT_DEV = 3,
1258}
1259#[repr(C)]
1260#[derive(Debug, Copy, Clone)]
1261pub struct iv_mtinfo_s {
1262 pub active: c_types::c_int,
1263 pub x: c_types::c_int,
1264 pub y: c_types::c_int,
1265 pub pressure: c_types::c_int,
1266 pub devtype: input_dev_e,
1267 pub rsv_2: c_types::c_int,
1268 pub timems: c_types::c_longlong,
1269}
1270pub type iv_mtinfo = iv_mtinfo_s;
1271#[repr(C)]
1272#[derive(Copy, Clone)]
1273pub struct apinfo_s {
1274 pub ssid: [c_types::c_char; 36usize],
1275 pub mode: c_types::c_int,
1276 pub channel: c_types::c_int,
1277 pub security: WIFI_SECURITY,
1278 pub quality: c_types::c_int,
1279 pub level: c_types::c_int,
1280 pub noise: c_types::c_int,
1281 pub mac: [c_types::c_uchar; 8usize],
1282 pub timestamp: time_t,
1283}
1284pub type wifiapinfo = apinfo_s;
1285#[repr(C)]
1286pub struct wifi_ap_list_s {
1287 pub ap_quantity: c_types::c_int,
1288 pub apinfo: __IncompleteArrayField<wifiapinfo>,
1289}
1290pub type iv_wifi_ap_list = wifi_ap_list_s;
1291pub type pointer_to_word_hand_t = ::core::option::Option<
1292 unsafe extern "C" fn(
1293 x: c_types::c_int,
1294 y: c_types::c_int,
1295 forward: c_types::c_int,
1296 ) -> *mut iv_wlist,
1297>;
1298#[repr(C)]
1299#[derive(Copy, Clone)]
1300pub union network_interface {
1301 pub intr: [c_types::c_char; 8usize],
1302 pub addr: [c_types::c_char; 16usize],
1303 pub hw_addr: [c_types::c_char; 18usize],
1304 _bindgen_union_align: [u8; 18usize],
1305}
1306#[repr(C)]
1307pub struct network_interface_array_s {
1308 pub count: c_types::c_uint,
1309 pub net_int: __IncompleteArrayField<network_interface>,
1310}
1311pub type network_interface_array = network_interface_array_s;
1312#[repr(u32)]
1313#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1314pub enum bt_mode_e {
1315 BT_MODE_OFF = 0,
1316 BT_MODE_HIDDEN = 1,
1317 BT_MODE_VISIBLE = 2,
1318}
1319pub use self::bt_mode_e as bt_mode;
1320#[repr(u32)]
1321#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1322pub enum bt_state_e {
1323 BT_STATE_OFF = 0,
1324 BT_STATE_SUSPENDED = 1,
1325 BT_STATE_READY = 2,
1326 BT_STATE_CONNECTED = 3,
1327 BT_STATE_TRANSFERRING = 4,
1328 BT_STATE_ERROR = 5,
1329 BT_STATE_MAX = 6,
1330}
1331pub use self::bt_state_e as bt_state;
1332#[repr(u32)]
1333#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1334pub enum bt_flags_e {
1335 BT_FLAG_UPDATE_TIMEOUT = 1,
1336 BT_FLAG_LOW_POWER = 2,
1337}
1338pub use self::bt_flags_e as bt_flags;
1339#[repr(u32)]
1340#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1341pub enum bt_service_e {
1342 BT_UNKNOWN = 0,
1343 BT_AUTH = 1,
1344 BT_OBEX = 2,
1345 BT_SECOND_SCREEN = 3,
1346}
1347#[repr(u32)]
1348#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1349pub enum bt_service_state_e {
1350 BT_SERVICE_ACTIVE = 0,
1351 BT_SERVICE_CANCEL = 1,
1352 BT_SERVICE_ERROR = 2,
1353}
1354#[repr(u32)]
1355#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1356pub enum obex_status_e {
1357 OBEX_UNKNOWN = 0,
1358 OBEX_ERROR = 1,
1359 OBEX_REQUEST_AUTH = 2,
1360 OBEX_REQUEST_AUTH_DONE = 3,
1361 OBEX_TRANSFERRING = 4,
1362 OBEX_DONE = 5,
1363}
1364#[repr(C)]
1365#[derive(Copy, Clone)]
1366pub struct obex_service_s {
1367 pub status: obex_status_e,
1368 pub auth: c_types::c_int,
1369 pub filesize: c_types::c_long,
1370 pub transferred: c_types::c_long,
1371 pub name: [c_types::c_char; 128usize],
1372 pub path: [c_types::c_char; 256usize],
1373 pub description: [c_types::c_char; 128usize],
1374 pub mimetype: [c_types::c_char; 64usize],
1375}
1376#[repr(C)]
1377#[derive(Copy, Clone)]
1378pub struct bt_service_obj_s {
1379 pub id: c_types::c_int,
1380 pub service: bt_service_e,
1381 pub state: bt_service_state_e,
1382 pub lock: c_types::c_int,
1383 pub users: [pid_t; 16usize],
1384 pub __bindgen_anon_1: bt_service_obj_s__bindgen_ty_1,
1385}
1386#[repr(C)]
1387#[derive(Copy, Clone)]
1388pub union bt_service_obj_s__bindgen_ty_1 {
1389 pub obex: obex_service_s,
1390 pub service_data: [c_types::c_char; 1024usize],
1391 _bindgen_union_align: [u32; 256usize],
1392}
1393pub type bt_service_obj = bt_service_obj_s;
1394#[repr(u32)]
1395#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1396pub enum audio_output_e {
1397 AUDIO_OUT_NONE = 0,
1398 AUDIO_OUT_HP = 1,
1399 AUDIO_OUT_BT = 2,
1400}
1401pub use self::audio_output_e as audio_output_t;
1402#[repr(C)]
1403#[derive(Debug, Copy, Clone)]
1404pub struct audio_output_info {
1405 pub type_: audio_output_t,
1406 pub description: [c_types::c_char; 32usize],
1407}
1408#[repr(C)]
1409#[derive(Copy, Clone)]
1410pub struct network_interface_info {
1411 pub ip_addr: network_interface,
1412 pub mask: network_interface,
1413 pub br_addr: network_interface,
1414 pub hw_addr: network_interface,
1415}
1416#[repr(C)]
1417#[derive(Debug, Copy, Clone)]
1418pub struct icolor_map_s {
1419 pub from_color: *mut c_types::c_int,
1420 pub to_color: *mut c_types::c_int,
1421 pub size: c_types::c_int,
1422}
1423pub type icolor_map = icolor_map_s;
1424#[repr(u32)]
1425#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1426pub enum APPLICATION_ATTRIBUTE {
1427 APPLICATION_READER = 0,
1428 APPLICATION_ATTRIBUTE_MAX = 31,
1429}
1430extern "C" {
1431 pub fn OpenScreen();
1432}
1433extern "C" {
1434 pub fn OpenScreenExt();
1435}
1436extern "C" {
1437 pub fn InkViewMain(h: iv_handler);
1438}
1439extern "C" {
1440 pub fn CloseApp();
1441}
1442extern "C" {
1443 pub fn InitInkview(reg_flags: c_types::c_int);
1444}
1445extern "C" {
1446 pub fn iRect(
1447 x: c_types::c_int,
1448 y: c_types::c_int,
1449 w: c_types::c_int,
1450 h: c_types::c_int,
1451 flags: c_types::c_int,
1452 ) -> irect;
1453}
1454extern "C" {
1455 pub fn ScreenWidth() -> c_types::c_int;
1456}
1457extern "C" {
1458 pub fn ScreenHeight() -> c_types::c_int;
1459}
1460extern "C" {
1461 pub fn SetOrientation(n: c_types::c_int);
1462}
1463extern "C" {
1464 pub fn GetOrientation() -> c_types::c_int;
1465}
1466extern "C" {
1467 pub fn SetGlobalOrientation(n: c_types::c_int);
1468}
1469extern "C" {
1470 pub fn GetGlobalOrientation() -> c_types::c_int;
1471}
1472extern "C" {
1473 pub fn QueryGSensor() -> c_types::c_int;
1474}
1475extern "C" {
1476 pub fn SetGSensor(mode: c_types::c_int);
1477}
1478extern "C" {
1479 pub fn ReadGSensor(
1480 x: *mut c_types::c_int,
1481 y: *mut c_types::c_int,
1482 z: *mut c_types::c_int,
1483 ) -> c_types::c_int;
1484}
1485extern "C" {
1486 pub fn CalibrateGSensor();
1487}
1488extern "C" {
1489 pub fn SetGSensorEnabled(onOff: bool) -> c_types::c_int;
1490}
1491extern "C" {
1492 pub fn IsGSensorEnabled() -> bool;
1493}
1494extern "C" {
1495 pub fn GetGSensorOrientation() -> c_types::c_int;
1496}
1497#[repr(u32)]
1498#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
1499pub enum estyle {
1500 ROUND_ALL = 1,
1501 ROUND_TOP = 2,
1502 ROUND_DOWN = 3,
1503 ROUND_LEFT = 4,
1504 ROUND_RIGHT = 5,
1505 ROUND_TOP_LEFT = 6,
1506 ROUND_TOP_RIGHT = 7,
1507 ROUND_BOTTOM_LEFT = 8,
1508 ROUND_BOTTOM_RIGHT = 9,
1509}
1510extern "C" {
1511 pub fn ClearScreen();
1512}
1513extern "C" {
1514 pub fn SetClip(x: c_types::c_int, y: c_types::c_int, w: c_types::c_int, h: c_types::c_int);
1515}
1516extern "C" {
1517 pub fn SetClipRect(rect: *const irect);
1518}
1519extern "C" {
1520 pub fn GetClip(
1521 x: *mut c_types::c_int,
1522 y: *mut c_types::c_int,
1523 w: *mut c_types::c_int,
1524 h: *mut c_types::c_int,
1525 );
1526}
1527extern "C" {
1528 pub fn GetClipRect() -> irect;
1529}
1530extern "C" {
1531 pub fn MergeClipRect(rect: *const irect) -> irect;
1532}
1533extern "C" {
1534 pub fn DrawPixel(x: c_types::c_int, y: c_types::c_int, color: c_types::c_int);
1535}
1536extern "C" {
1537 pub fn DrawLine(
1538 x1: c_types::c_int,
1539 y1: c_types::c_int,
1540 x2: c_types::c_int,
1541 y2: c_types::c_int,
1542 color: c_types::c_int,
1543 );
1544}
1545extern "C" {
1546 pub fn DrawLineEx(
1547 x1: c_types::c_int,
1548 y1: c_types::c_int,
1549 x2: c_types::c_int,
1550 y2: c_types::c_int,
1551 color: c_types::c_int,
1552 step: c_types::c_int,
1553 );
1554}
1555extern "C" {
1556 pub fn DrawDashLine(
1557 x1: c_types::c_int,
1558 y1: c_types::c_int,
1559 x2: c_types::c_int,
1560 y2: c_types::c_int,
1561 color: c_types::c_int,
1562 fill: c_types::c_uint,
1563 space: c_types::c_uint,
1564 );
1565}
1566extern "C" {
1567 pub fn DrawRect(
1568 x: c_types::c_int,
1569 y: c_types::c_int,
1570 w: c_types::c_int,
1571 h: c_types::c_int,
1572 color: c_types::c_int,
1573 );
1574}
1575extern "C" {
1576 pub fn DrawRectRound(
1577 arg1: c_types::c_int,
1578 arg2: c_types::c_int,
1579 arg3: c_types::c_int,
1580 arg4: c_types::c_int,
1581 arg5: c_types::c_int,
1582 arg6: c_types::c_int,
1583 );
1584}
1585extern "C" {
1586 pub fn FillArea(
1587 x: c_types::c_int,
1588 y: c_types::c_int,
1589 w: c_types::c_int,
1590 h: c_types::c_int,
1591 color: c_types::c_int,
1592 );
1593}
1594extern "C" {
1595 pub fn FillAreaRect(rect: *const irect, color: c_types::c_int);
1596}
1597extern "C" {
1598 pub fn InvertArea(x: c_types::c_int, y: c_types::c_int, w: c_types::c_int, h: c_types::c_int);
1599}
1600extern "C" {
1601 pub fn InvertAreaBW(x: c_types::c_int, y: c_types::c_int, w: c_types::c_int, h: c_types::c_int);
1602}
1603extern "C" {
1604 pub fn ColorMapCreate(size: c_types::c_int) -> *mut icolor_map;
1605}
1606extern "C" {
1607 pub fn ColorMapDestroy(map: *mut *mut icolor_map);
1608}
1609extern "C" {
1610 pub fn InvertAreaMap(
1611 x: c_types::c_int,
1612 y: c_types::c_int,
1613 w: c_types::c_int,
1614 h: c_types::c_int,
1615 map: *mut icolor_map,
1616 );
1617}
1618extern "C" {
1619 pub fn DimArea(
1620 x: c_types::c_int,
1621 y: c_types::c_int,
1622 w: c_types::c_int,
1623 h: c_types::c_int,
1624 color: c_types::c_int,
1625 );
1626}
1627extern "C" {
1628 pub fn DrawSelection(
1629 x: c_types::c_int,
1630 y: c_types::c_int,
1631 w: c_types::c_int,
1632 h: c_types::c_int,
1633 color: c_types::c_int,
1634 );
1635}
1636extern "C" {
1637 pub fn DrawCircle(
1638 x0: c_types::c_int,
1639 y0: c_types::c_int,
1640 radius: c_types::c_int,
1641 color: c_types::c_int,
1642 );
1643}
1644extern "C" {
1645 pub fn DrawPickOut(
1646 x: c_types::c_int,
1647 y: c_types::c_int,
1648 w: c_types::c_int,
1649 h: c_types::c_int,
1650 key: *const c_types::c_char,
1651 );
1652}
1653extern "C" {
1654 pub fn DrawPickOutEx(rect: *const irect, key: *const c_types::c_char);
1655}
1656extern "C" {
1657 pub fn DitherArea(
1658 x: c_types::c_int,
1659 y: c_types::c_int,
1660 w: c_types::c_int,
1661 h: c_types::c_int,
1662 levels: c_types::c_int,
1663 method: c_types::c_int,
1664 );
1665}
1666extern "C" {
1667 pub fn DitherAreaQuick2Level(
1668 dx: c_types::c_int,
1669 dy: c_types::c_int,
1670 dw: c_types::c_int,
1671 dh: c_types::c_int,
1672 );
1673}
1674extern "C" {
1675 pub fn DitherAreaPattern2Level(
1676 dx: c_types::c_int,
1677 dy: c_types::c_int,
1678 dw: c_types::c_int,
1679 dh: c_types::c_int,
1680 );
1681}
1682extern "C" {
1683 pub fn QuickFloyd16Dither(
1684 buffer: *mut c_types::c_uchar,
1685 row_size: c_types::c_int,
1686 left: c_types::c_int,
1687 top: c_types::c_int,
1688 width: c_types::c_int,
1689 height: c_types::c_int,
1690 );
1691}
1692extern "C" {
1693 pub fn StretchArea(
1694 src: *const c_types::c_uchar,
1695 format: c_types::c_int,
1696 sx: c_types::c_int,
1697 sy: c_types::c_int,
1698 sw: c_types::c_int,
1699 sh: c_types::c_int,
1700 scanline: c_types::c_int,
1701 dx: c_types::c_int,
1702 dy: c_types::c_int,
1703 dw: c_types::c_int,
1704 dh: c_types::c_int,
1705 rotate: c_types::c_int,
1706 );
1707}
1708extern "C" {
1709 pub fn StretchAreaBW(
1710 src: *const c_types::c_uchar,
1711 format: c_types::c_int,
1712 sx: c_types::c_int,
1713 sy: c_types::c_int,
1714 sw: c_types::c_int,
1715 sh: c_types::c_int,
1716 scanline: c_types::c_int,
1717 dx: c_types::c_int,
1718 dy: c_types::c_int,
1719 dw: c_types::c_int,
1720 dh: c_types::c_int,
1721 );
1722}
1723extern "C" {
1724 pub fn SetCanvas(c: *mut icanvas);
1725}
1726extern "C" {
1727 pub fn GetCanvas() -> *mut icanvas;
1728}
1729extern "C" {
1730 pub fn Repaint();
1731}
1732extern "C" {
1733 pub fn DrawFrame(
1734 x: c_types::c_int,
1735 y: c_types::c_int,
1736 w: c_types::c_int,
1737 h: c_types::c_int,
1738 icon: *mut ibitmap,
1739 title: *mut c_types::c_char,
1740 flags: c_types::c_int,
1741 clientarea: *mut irect,
1742 );
1743}
1744extern "C" {
1745 pub fn CheckFramePointer(
1746 x: c_types::c_int,
1747 y: c_types::c_int,
1748 w: c_types::c_int,
1749 h: c_types::c_int,
1750 flags: c_types::c_int,
1751 ptx: c_types::c_int,
1752 pty: c_types::c_int,
1753 ) -> c_types::c_int;
1754}
1755extern "C" {
1756 pub fn DrawBorder(
1757 border_rect: *const irect,
1758 border_size: c_types::c_int,
1759 style: c_types::c_int,
1760 radius: c_types::c_int,
1761 color: c_types::c_int,
1762 );
1763}
1764extern "C" {
1765 pub fn DrawPager(pager: *mut ipager);
1766}
1767extern "C" {
1768 pub fn GetPagerRect(pager: *mut ipager) -> irect;
1769}
1770extern "C" {
1771 pub fn GetPagerHeight(pager: *mut ipager) -> c_types::c_int;
1772}
1773extern "C" {
1774 pub fn IsPagerEvent(
1775 pager: *mut ipager,
1776 type_: c_types::c_int,
1777 x: c_types::c_int,
1778 y: c_types::c_int,
1779 ) -> c_types::c_int;
1780}
1781extern "C" {
1782 pub fn PagerHandler(
1783 pager: *mut ipager,
1784 type_: c_types::c_int,
1785 x: c_types::c_int,
1786 y: c_types::c_int,
1787 ) -> c_types::c_int;
1788}
1789extern "C" {
1790 pub fn DrawDiagonalHatch(
1791 x: c_types::c_int,
1792 y: c_types::c_int,
1793 w: c_types::c_int,
1794 h: c_types::c_int,
1795 step: c_types::c_int,
1796 color: c_types::c_int,
1797 );
1798}
1799extern "C" {
1800 pub fn DrawDiagonalHatchLimits(
1801 x: c_types::c_int,
1802 y: c_types::c_int,
1803 w: c_types::c_int,
1804 h: c_types::c_int,
1805 step: c_types::c_int,
1806 color: c_types::c_int,
1807 limit: ::core::option::Option<
1808 unsafe extern "C" fn(arg1: c_types::c_int, arg2: c_types::c_int) -> c_types::c_int,
1809 >,
1810 );
1811}
1812extern "C" {
1813 pub fn Transparent(
1814 x: c_types::c_int,
1815 y: c_types::c_int,
1816 w: c_types::c_int,
1817 h: c_types::c_int,
1818 percent: c_types::c_int,
1819 );
1820}
1821extern "C" {
1822 pub fn TransparentRect(rect: irect, percent: c_types::c_int);
1823}
1824extern "C" {
1825 pub fn LoadBitmap(filename: *const c_types::c_char) -> *mut ibitmap;
1826}
1827extern "C" {
1828 pub fn zLoadBitmap(zf: *mut c_types::c_void, filename: *const c_types::c_char) -> *mut ibitmap;
1829}
1830extern "C" {
1831 pub fn SaveBitmap(filename: *const c_types::c_char, bm: *const ibitmap) -> c_types::c_int;
1832}
1833extern "C" {
1834 pub fn NewBitmap(w: c_types::c_int, h: c_types::c_int) -> *mut ibitmap;
1835}
1836extern "C" {
1837 pub fn SetLoadImageFlags(flags: c_types::c_int);
1838}
1839extern "C" {
1840 pub fn LoadJPEG(
1841 path: *const c_types::c_char,
1842 w: c_types::c_int,
1843 h: c_types::c_int,
1844 br: c_types::c_int,
1845 co: c_types::c_int,
1846 proportional: c_types::c_int,
1847 ) -> *mut ibitmap;
1848}
1849extern "C" {
1850 pub fn LoadTIFF(
1851 path: *const c_types::c_char,
1852 w: c_types::c_int,
1853 h: c_types::c_int,
1854 br: c_types::c_int,
1855 co: c_types::c_int,
1856 proportional: c_types::c_int,
1857 ) -> *mut ibitmap;
1858}
1859extern "C" {
1860 pub fn SaveJPEG(
1861 path: *const c_types::c_char,
1862 bmp: *mut ibitmap,
1863 quality: c_types::c_int,
1864 ) -> c_types::c_int;
1865}
1866extern "C" {
1867 pub fn LoadPNG(path: *const c_types::c_char, dither: c_types::c_int) -> *mut ibitmap;
1868}
1869extern "C" {
1870 pub fn LoadPNGStretch(
1871 path: *const c_types::c_char,
1872 width: c_types::c_int,
1873 height: c_types::c_int,
1874 proportional: c_types::c_int,
1875 dither: c_types::c_int,
1876 ) -> *mut ibitmap;
1877}
1878extern "C" {
1879 pub fn SavePNG(path: *const c_types::c_char, bmp: *const ibitmap) -> c_types::c_int;
1880}
1881extern "C" {
1882 pub fn SetTransparentColor(bmp: *mut *mut ibitmap, color: c_types::c_int);
1883}
1884extern "C" {
1885 pub fn MoveBitmap(bmp: *mut ibitmap, offset: c_types::c_int);
1886}
1887extern "C" {
1888 pub fn MoveBitmapRight(bm: *mut ibitmap, offset: c_types::c_int);
1889}
1890extern "C" {
1891 pub fn BitmapStretchCopy(
1892 bmp: *const ibitmap,
1893 sx: c_types::c_int,
1894 sy: c_types::c_int,
1895 sw: c_types::c_int,
1896 sh: c_types::c_int,
1897 width: c_types::c_int,
1898 height: c_types::c_int,
1899 ) -> *mut ibitmap;
1900}
1901extern "C" {
1902 pub fn DrawBitmap(x: c_types::c_int, y: c_types::c_int, b: *const ibitmap);
1903}
1904extern "C" {
1905 pub fn DrawBitmapArea(
1906 x: c_types::c_int,
1907 y: c_types::c_int,
1908 b: *const ibitmap,
1909 bx: c_types::c_int,
1910 by: c_types::c_int,
1911 bw: c_types::c_int,
1912 bh: c_types::c_int,
1913 );
1914}
1915extern "C" {
1916 pub fn DrawBitmapRect(
1917 x: c_types::c_int,
1918 y: c_types::c_int,
1919 w: c_types::c_int,
1920 h: c_types::c_int,
1921 b: *const ibitmap,
1922 flags: c_types::c_int,
1923 );
1924}
1925extern "C" {
1926 pub fn StretchBitmap(
1927 x: c_types::c_int,
1928 y: c_types::c_int,
1929 w: c_types::c_int,
1930 h: c_types::c_int,
1931 src: *const ibitmap,
1932 flags: c_types::c_int,
1933 );
1934}
1935extern "C" {
1936 pub fn TileBitmap(
1937 x: c_types::c_int,
1938 y: c_types::c_int,
1939 w: c_types::c_int,
1940 h: c_types::c_int,
1941 src: *const ibitmap,
1942 );
1943}
1944extern "C" {
1945 pub fn CopyBitmap(bm: *const ibitmap) -> *mut ibitmap;
1946}
1947extern "C" {
1948 pub fn MirrorBitmap(bm: *mut ibitmap, m: c_types::c_int);
1949}
1950extern "C" {
1951 pub fn EnumFonts() -> *mut *mut c_types::c_char;
1952}
1953extern "C" {
1954 pub fn EnumFontsFromDirectory(
1955 directory1: *const c_types::c_char,
1956 directory2: *const c_types::c_char,
1957 ) -> *mut *mut c_types::c_char;
1958}
1959#[repr(C)]
1960#[derive(Debug, Copy, Clone)]
1961pub struct FontForSort_s {
1962 pub name: *mut c_types::c_char,
1963 pub flags: c_types::c_int,
1964 pub font: *mut c_types::c_char,
1965}
1966pub type FontForSort = FontForSort_s;
1967extern "C" {
1968 pub fn EnumFontsEx() -> *mut FontForSort;
1969}
1970extern "C" {
1971 pub fn EnumFontsFromDirectoryEx(
1972 directory1: *const c_types::c_char,
1973 directory2: *const c_types::c_char,
1974 ) -> *mut FontForSort;
1975}
1976extern "C" {
1977 pub fn FreeFontsForSort(fonts: *mut FontForSort);
1978}
1979extern "C" {
1980 pub fn OpenFont(
1981 name: *const c_types::c_char,
1982 size: c_types::c_int,
1983 aa: c_types::c_int,
1984 ) -> *mut ifont;
1985}
1986extern "C" {
1987 pub fn CloseFont(f: *mut ifont);
1988}
1989extern "C" {
1990 pub fn SetFont(font: *const ifont, color: c_types::c_int);
1991}
1992extern "C" {
1993 pub fn GetFont() -> *const ifont;
1994}
1995extern "C" {
1996 pub fn DrawString(x: c_types::c_int, y: c_types::c_int, s: *const c_types::c_char);
1997}
1998extern "C" {
1999 pub fn DrawStringR(x: c_types::c_int, y: c_types::c_int, s: *const c_types::c_char);
2000}
2001extern "C" {
2002 pub fn TextRectHeight(
2003 width: c_types::c_int,
2004 s: *const c_types::c_char,
2005 flags: c_types::c_int,
2006 ) -> c_types::c_int;
2007}
2008extern "C" {
2009 pub fn TextRectHeightEx(
2010 width: c_types::c_int,
2011 height: c_types::c_int,
2012 s: *const c_types::c_char,
2013 flags: c_types::c_int,
2014 ) -> c_types::c_int;
2015}
2016extern "C" {
2017 pub fn MinimalTextRectWidth(w: c_types::c_int, s: *const c_types::c_char) -> c_types::c_int;
2018}
2019extern "C" {
2020 pub fn DrawTextRect(
2021 x: c_types::c_int,
2022 y: c_types::c_int,
2023 w: c_types::c_int,
2024 h: c_types::c_int,
2025 s: *const c_types::c_char,
2026 flags: c_types::c_int,
2027 ) -> *mut c_types::c_char;
2028}
2029extern "C" {
2030 pub fn CharWidth(c: c_types::c_ushort) -> c_types::c_int;
2031}
2032extern "C" {
2033 pub fn StringWidthExt(s: *const c_types::c_char, l: c_types::c_int) -> c_types::c_int;
2034}
2035extern "C" {
2036 pub fn StringWidth(s: *const c_types::c_char) -> c_types::c_int;
2037}
2038extern "C" {
2039 pub fn GetMultilineStringWidth(
2040 str_: *const c_types::c_char,
2041 area_width: c_types::c_int,
2042 font: *mut ifont,
2043 flags: c_types::c_int,
2044 ) -> c_types::c_int;
2045}
2046extern "C" {
2047 pub fn DrawSymbol(
2048 x: c_types::c_int,
2049 y: c_types::c_int,
2050 symbol: c_types::c_int,
2051 ) -> c_types::c_int;
2052}
2053extern "C" {
2054 pub fn RegisterFontList(fontlist: *mut *mut ifont, count: c_types::c_int);
2055}
2056extern "C" {
2057 pub fn SetTextStrength(n: c_types::c_int);
2058}
2059extern "C" {
2060 pub fn FullUpdate();
2061}
2062extern "C" {
2063 pub fn FullUpdateHQ();
2064}
2065extern "C" {
2066 pub fn SoftUpdate();
2067}
2068extern "C" {
2069 pub fn SoftUpdateHQ();
2070}
2071extern "C" {
2072 pub fn PartialUpdate(
2073 x: c_types::c_int,
2074 y: c_types::c_int,
2075 w: c_types::c_int,
2076 h: c_types::c_int,
2077 );
2078}
2079extern "C" {
2080 pub fn PartialUpdateBlack(
2081 x: c_types::c_int,
2082 y: c_types::c_int,
2083 w: c_types::c_int,
2084 h: c_types::c_int,
2085 );
2086}
2087extern "C" {
2088 pub fn PartialUpdateBW(
2089 x: c_types::c_int,
2090 y: c_types::c_int,
2091 w: c_types::c_int,
2092 h: c_types::c_int,
2093 );
2094}
2095extern "C" {
2096 pub fn PartialUpdateHQ(
2097 x: c_types::c_int,
2098 y: c_types::c_int,
2099 w: c_types::c_int,
2100 h: c_types::c_int,
2101 );
2102}
2103extern "C" {
2104 pub fn PartialUpdateDU4(
2105 x: c_types::c_int,
2106 y: c_types::c_int,
2107 w: c_types::c_int,
2108 h: c_types::c_int,
2109 );
2110}
2111extern "C" {
2112 pub fn DynamicUpdate(
2113 x: c_types::c_int,
2114 y: c_types::c_int,
2115 w: c_types::c_int,
2116 h: c_types::c_int,
2117 );
2118}
2119extern "C" {
2120 pub fn DynamicUpdateBW(
2121 x: c_types::c_int,
2122 y: c_types::c_int,
2123 w: c_types::c_int,
2124 h: c_types::c_int,
2125 );
2126}
2127extern "C" {
2128 pub fn DynamicUpdateA2(
2129 x: c_types::c_int,
2130 y: c_types::c_int,
2131 w: c_types::c_int,
2132 h: c_types::c_int,
2133 );
2134}
2135extern "C" {
2136 pub fn ExitUpdateA2();
2137}
2138extern "C" {
2139 pub fn IsInA2Update() -> c_types::c_int;
2140}
2141extern "C" {
2142 pub fn FineUpdate();
2143}
2144extern "C" {
2145 pub fn FineUpdateSupported() -> c_types::c_int;
2146}
2147extern "C" {
2148 pub fn HQUpdateSupported() -> c_types::c_int;
2149}
2150extern "C" {
2151 pub fn ScheduleUpdate(
2152 x: c_types::c_int,
2153 y: c_types::c_int,
2154 w: c_types::c_int,
2155 h: c_types::c_int,
2156 bw: c_types::c_int,
2157 );
2158}
2159extern "C" {
2160 pub fn WaitForUpdateComplete();
2161}
2162extern "C" {
2163 pub fn SetEventHandler(hproc: iv_handler) -> iv_handler;
2164}
2165extern "C" {
2166 pub fn SetEventHandlerEx(hproc: iv_handler) -> iv_handler;
2167}
2168extern "C" {
2169 pub fn GetEventHandler() -> iv_handler;
2170}
2171extern "C" {
2172 pub fn SendEvent(
2173 hproc: iv_handler,
2174 type_: c_types::c_int,
2175 par1: c_types::c_int,
2176 par2: c_types::c_int,
2177 );
2178}
2179extern "C" {
2180 pub fn SendEventEx(
2181 hproc: iv_handler,
2182 type_: c_types::c_int,
2183 par1: c_types::c_int,
2184 par2: c_types::c_int,
2185 data: *mut c_types::c_void,
2186 );
2187}
2188extern "C" {
2189 pub fn GetCurrentEventExData() -> *mut c_types::c_void;
2190}
2191extern "C" {
2192 pub fn ProcessEventLoop();
2193}
2194extern "C" {
2195 pub fn ProcessEventLoopQuick();
2196}
2197extern "C" {
2198 pub fn iv_evttype(type_: c_types::c_int) -> *mut c_types::c_char;
2199}
2200extern "C" {
2201 pub fn IsAnyEvents() -> c_types::c_char;
2202}
2203extern "C" {
2204 pub fn PrepareForLoop(hproc: iv_handler);
2205}
2206extern "C" {
2207 pub fn ClearOnExit();
2208}
2209extern "C" {
2210 pub fn SetHardTimer(name: *const c_types::c_char, tproc: iv_timerproc, ms: c_types::c_int);
2211}
2212extern "C" {
2213 pub fn SetHardTimerEx(
2214 name: *const c_types::c_char,
2215 tproc: iv_timerprocEx,
2216 context: *mut c_types::c_void,
2217 ms: c_types::c_int,
2218 );
2219}
2220extern "C" {
2221 pub fn SetWeakTimer(name: *const c_types::c_char, tproc: iv_timerproc, ms: c_types::c_int);
2222}
2223extern "C" {
2224 pub fn SetWeakTimerEx(
2225 name: *const c_types::c_char,
2226 tp: iv_timerprocEx,
2227 context: *mut c_types::c_void,
2228 ms: c_types::c_int,
2229 );
2230}
2231extern "C" {
2232 pub fn QueryTimer(tp: iv_timerproc) -> c_types::c_longlong;
2233}
2234extern "C" {
2235 pub fn QueryTimerEx(tp: iv_timerprocEx, context: *mut c_types::c_void) -> c_types::c_longlong;
2236}
2237extern "C" {
2238 pub fn ClearTimer(tproc: iv_timerproc);
2239}
2240extern "C" {
2241 pub fn ClearTimerEx(tproc: iv_timerprocEx, context: *mut c_types::c_void);
2242}
2243extern "C" {
2244 pub fn ClearTimerByName(name: *const c_types::c_char);
2245}
2246extern "C" {
2247 pub fn OpenMenu(
2248 menu: *mut imenu,
2249 pos: c_types::c_int,
2250 x: c_types::c_int,
2251 y: c_types::c_int,
2252 hproc: iv_menuhandler,
2253 );
2254}
2255extern "C" {
2256 pub fn OpenMenuEx(
2257 menu: *mut imenuex,
2258 pos: c_types::c_int,
2259 x: c_types::c_int,
2260 y: c_types::c_int,
2261 hproc: iv_menuhandler,
2262 );
2263}
2264extern "C" {
2265 pub fn UpdateMenuEx(menu: *mut imenuex);
2266}
2267extern "C" {
2268 pub fn OpenContextMenu(menu: *const icontext_menu);
2269}
2270extern "C" {
2271 pub fn SetContextMenu(menu: *const icontext_menu);
2272}
2273extern "C" {
2274 pub fn CreateContextMenu(id: *const c_types::c_char) -> *mut icontext_menu;
2275}
2276extern "C" {
2277 pub fn CloseContextMenu(menu: *mut icontext_menu);
2278}
2279extern "C" {
2280 pub fn OpenMenu3x3(
2281 mbitmap: *const ibitmap,
2282 strings: *mut *const c_types::c_char,
2283 hproc: iv_menuhandler,
2284 );
2285}
2286extern "C" {
2287 pub fn GetMenuRect(menu: *const imenu) -> irect;
2288}
2289extern "C" {
2290 pub fn GetMenuRectEx(menu: *const imenuex) -> irect;
2291}
2292extern "C" {
2293 pub fn OpenList(
2294 title: *const c_types::c_char,
2295 background: *const ibitmap,
2296 itemw: c_types::c_int,
2297 itemh: c_types::c_int,
2298 itemcount: c_types::c_int,
2299 cpos: c_types::c_int,
2300 hproc: iv_listhandler,
2301 );
2302}
2303extern "C" {
2304 pub fn SetListHeaderLevel(level: c_types::c_int);
2305}
2306extern "C" {
2307 pub fn GetListHeaderLevel() -> c_types::c_int;
2308}
2309extern "C" {
2310 pub fn OpenDummyList(
2311 title: *const c_types::c_char,
2312 background: *const ibitmap,
2313 text: *mut c_types::c_char,
2314 hproc: iv_listhandler,
2315 );
2316}
2317extern "C" {
2318 pub fn EnumKeyboards() -> *mut *mut c_types::c_char;
2319}
2320extern "C" {
2321 pub fn LoadKeyboard(kbdlang: *const c_types::c_char);
2322}
2323extern "C" {
2324 pub fn GetKeyboardFlags() -> c_types::c_int;
2325}
2326extern "C" {
2327 pub fn OpenKeyboard(
2328 title: *const c_types::c_char,
2329 buffer: *mut c_types::c_char,
2330 maxlen: c_types::c_int,
2331 flags: c_types::c_int,
2332 hproc: iv_keyboardhandler,
2333 );
2334}
2335extern "C" {
2336 pub fn OpenKeyboardEx(
2337 title: *const c_types::c_char,
2338 buffer: *mut c_types::c_char,
2339 maxlen: c_types::c_int,
2340 flags: c_types::c_int,
2341 hproc: iv_keyboardhandlerex,
2342 cb_data: *mut c_types::c_void,
2343 );
2344}
2345extern "C" {
2346 pub fn DrawKeyboard();
2347}
2348extern "C" {
2349 pub fn OpenCustomKeyboard(
2350 filename: *const c_types::c_char,
2351 title: *const c_types::c_char,
2352 buffer: *mut c_types::c_char,
2353 maxlen: c_types::c_int,
2354 flags: c_types::c_int,
2355 hproc: iv_keyboardhandler,
2356 );
2357}
2358extern "C" {
2359 pub fn CloseKeyboard();
2360}
2361extern "C" {
2362 pub fn GetKeyboardRect(rect: *mut irect);
2363}
2364extern "C" {
2365 pub fn GetKeyboardRectWithParams(
2366 title: *const c_types::c_char,
2367 buffer: *mut c_types::c_char,
2368 flags: c_types::c_int,
2369 ) -> irect;
2370}
2371extern "C" {
2372 pub fn OpenPageSelector(hproc: iv_pageselecthandler);
2373}
2374extern "C" {
2375 pub fn OpenTimeEdit(
2376 title: *const c_types::c_char,
2377 x: c_types::c_int,
2378 y: c_types::c_int,
2379 intime: c_types::c_long,
2380 hproc: iv_timeedithandler,
2381 );
2382}
2383extern "C" {
2384 pub fn OpenDirectorySelector(
2385 title: *const c_types::c_char,
2386 buf: *mut c_types::c_char,
2387 len: c_types::c_int,
2388 hproc: iv_dirselecthandler,
2389 );
2390}
2391extern "C" {
2392 pub fn OpenFontSelector(
2393 title: *const c_types::c_char,
2394 font: *const c_types::c_char,
2395 with_size: c_types::c_int,
2396 hproc: iv_fontselecthandler,
2397 );
2398}
2399extern "C" {
2400 pub fn OpenFontSelectorEx(menu: *const ifont_menu);
2401}
2402extern "C" {
2403 pub fn GetFontMenuStruct() -> ifont_menu;
2404}
2405extern "C" {
2406 pub fn ClearFontMenuStruct(menu: *mut ifont_menu);
2407}
2408extern "C" {
2409 pub fn ClearFontListStruct(list: *mut ifont_list);
2410}
2411extern "C" {
2412 pub fn SetFontMenuStruct(menu: *mut ifont_menu);
2413}
2414extern "C" {
2415 pub fn OpenBookmarks(
2416 page: c_types::c_int,
2417 position: c_types::c_longlong,
2418 bmklist: *mut c_types::c_int,
2419 poslist: *mut c_types::c_longlong,
2420 bmkcount: *mut c_types::c_int,
2421 maxbmks: c_types::c_int,
2422 hproc: iv_bmkhandler,
2423 );
2424}
2425extern "C" {
2426 pub fn OpenContents(
2427 toc: *mut tocentry,
2428 count: c_types::c_int,
2429 position: c_types::c_longlong,
2430 hproc: iv_tochandler,
2431 );
2432}
2433extern "C" {
2434 pub fn OpenRotateBox(hproc: iv_rotatehandler);
2435}
2436extern "C" {
2437 pub fn Message(
2438 icon: c_types::c_int,
2439 title: *const c_types::c_char,
2440 text: *const c_types::c_char,
2441 timeout: c_types::c_int,
2442 );
2443}
2444extern "C" {
2445 pub fn CloseDialog();
2446}
2447extern "C" {
2448 pub fn OpenProgressbar(
2449 icon: c_types::c_int,
2450 title: *const c_types::c_char,
2451 text: *const c_types::c_char,
2452 percent: c_types::c_int,
2453 hproc: iv_dialoghandler,
2454 );
2455}
2456extern "C" {
2457 pub fn CloseProgressbar();
2458}
2459extern "C" {
2460 pub fn SetManualPanelUpdates(enable: c_types::c_int, handler: iv_panelupdateshandler);
2461}
2462extern "C" {
2463 pub fn SetReadingMode(
2464 enable: c_types::c_int,
2465 after_time: c_types::c_int,
2466 update: c_types::c_int,
2467 );
2468}
2469extern "C" {
2470 pub fn SetPanelType(type_: c_types::c_int);
2471}
2472extern "C" {
2473 pub fn GetPanelType() -> c_types::c_int;
2474}
2475extern "C" {
2476 pub fn SetShowPanelReader(show: c_types::c_int);
2477}
2478extern "C" {
2479 pub fn SetPanelSeparatorEnabled(enable: c_types::c_int) -> c_types::c_int;
2480}
2481extern "C" {
2482 pub fn SetPanelKeyForFullScreenEnabled(key: *const c_types::c_char);
2483}
2484extern "C" {
2485 pub fn DrawPanel(
2486 icon: *const ibitmap,
2487 text: *const c_types::c_char,
2488 title: *const c_types::c_char,
2489 percent: c_types::c_int,
2490 ) -> c_types::c_int;
2491}
2492extern "C" {
2493 pub fn DrawTabs(
2494 icon: *const ibitmap,
2495 current: c_types::c_int,
2496 total: c_types::c_int,
2497 ) -> c_types::c_int;
2498}
2499extern "C" {
2500 pub fn OpenControlPanel(ctx: *mut control_panel);
2501}
2502extern "C" {
2503 pub fn PanelHeight() -> c_types::c_int;
2504}
2505extern "C" {
2506 pub fn SetKeyboardRate(t1: c_types::c_int, t2: c_types::c_int);
2507}
2508extern "C" {
2509 pub fn SetQuickNavigatorXY(x: c_types::c_int, y: c_types::c_int);
2510}
2511extern "C" {
2512 pub fn DrawApplicationCaption(caption: *const c_types::c_char, title_rect: *const irect);
2513}
2514extern "C" {
2515 pub fn GetCaptionHeight() -> c_types::c_int;
2516}
2517extern "C" {
2518 pub fn SetApplicationCaptionHeight(h: c_types::c_int);
2519}
2520extern "C" {
2521 pub fn LoadApplicationCaptionProperties() -> *mut iapp_caption;
2522}
2523extern "C" {
2524 pub fn LoadTaskManagerProperties() -> *mut itaskmgr;
2525}
2526extern "C" {
2527 pub fn LoadPagerProperties() -> *mut ipager;
2528}
2529extern "C" {
2530 pub fn LoadSelectionProperties(key: *const c_types::c_char) -> *mut iselection;
2531}
2532extern "C" {
2533 pub fn LoadContextMenuProperties() -> *mut icontext_menu_properties;
2534}
2535extern "C" {
2536 pub fn GetAppGlobalStyle() -> AppStyles;
2537}
2538extern "C" {
2539 pub fn GetAppStyle(key: *const c_types::c_char) -> AppStyles;
2540}
2541extern "C" {
2542 pub fn GetAppStyleEx(key: *const c_types::c_char) -> *mut iappstyle;
2543}
2544extern "C" {
2545 pub fn GetFontSelectorProperties() -> *mut font_selector_properties;
2546}
2547extern "C" {
2548 pub fn GetCustomFontString() -> *const c_types::c_char;
2549}
2550extern "C" {
2551 pub fn GetGlobalConfig() -> *mut iconfig;
2552}
2553extern "C" {
2554 pub fn OpenConfig(path: *const c_types::c_char, ce: *mut iconfigedit) -> *mut iconfig;
2555}
2556extern "C" {
2557 pub fn SaveConfig(cfg: *mut iconfig) -> c_types::c_int;
2558}
2559extern "C" {
2560 pub fn CloseConfig(cfg: *mut iconfig);
2561}
2562extern "C" {
2563 pub fn CloseConfigNoSave(cfg: *mut iconfig);
2564}
2565extern "C" {
2566 pub fn SetConfigEditorBackground(bmp: *mut ibitmap);
2567}
2568extern "C" {
2569 pub fn OpenConfigEditor(
2570 header: *const c_types::c_char,
2571 cfg: *mut iconfig,
2572 ce: *mut iconfigedit,
2573 hproc: iv_confighandler,
2574 cproc: iv_itemchangehandler,
2575 );
2576}
2577extern "C" {
2578 pub fn OpenConfigSubmenuExt(
2579 title: *const c_types::c_char,
2580 ice: *mut iconfigedit,
2581 pos: c_types::c_int,
2582 );
2583}
2584extern "C" {
2585 pub fn OpenConfigSubmenu(title: *const c_types::c_char, ice: *mut iconfigedit);
2586}
2587extern "C" {
2588 pub fn CloseConfigLevel();
2589}
2590extern "C" {
2591 pub fn ClearConfig(cfg: *mut iconfig);
2592}
2593extern "C" {
2594 pub fn GetKeyMapping(act0: *mut *const c_types::c_char, act1: *mut *const c_types::c_char);
2595}
2596extern "C" {
2597 pub fn GetKeyMappingEx(
2598 what: c_types::c_int,
2599 act0: *mut *const c_types::c_char,
2600 act1: *mut *const c_types::c_char,
2601 count: c_types::c_int,
2602 );
2603}
2604extern "C" {
2605 pub fn GetCurrentTask() -> c_types::c_int;
2606}
2607extern "C" {
2608 pub fn GetActiveTask(task: *mut c_types::c_int, subtask: *mut c_types::c_int);
2609}
2610extern "C" {
2611 pub fn GetPreviousTask(task: *mut c_types::c_int, subtask: *mut c_types::c_int);
2612}
2613extern "C" {
2614 pub fn GetPreviousTaskInStack(task: *mut c_types::c_int, subtask: *mut c_types::c_int);
2615}
2616extern "C" {
2617 pub fn GetTaskList(list: *mut c_types::c_int, size: c_types::c_int) -> c_types::c_int;
2618}
2619extern "C" {
2620 pub fn GetTaskInfo(task: c_types::c_int) -> *mut taskinfo;
2621}
2622extern "C" {
2623 pub fn SetTaskParameters(
2624 task: c_types::c_int,
2625 appname: *const c_types::c_char,
2626 name: *const c_types::c_char,
2627 icon: *mut ibitmap,
2628 flags: c_types::c_uint,
2629 ) -> c_types::c_int;
2630}
2631extern "C" {
2632 pub fn SetSubtaskInfo(
2633 task: c_types::c_int,
2634 subtask: c_types::c_int,
2635 name: *const c_types::c_char,
2636 book: *const c_types::c_char,
2637 ) -> c_types::c_int;
2638}
2639extern "C" {
2640 pub fn SetActiveTask(task: c_types::c_int, subtask: c_types::c_int) -> c_types::c_int;
2641}
2642extern "C" {
2643 pub fn CloseTask(
2644 task: c_types::c_int,
2645 subtask: c_types::c_int,
2646 force: c_types::c_int,
2647 ) -> c_types::c_int;
2648}
2649extern "C" {
2650 pub fn SetRequestListener(
2651 request: c_types::c_int,
2652 flags: c_types::c_int,
2653 hproc: iv_requestlistener,
2654 ) -> c_types::c_int;
2655}
2656extern "C" {
2657 pub fn SetMessageHandler(hproc: iv_msghandler);
2658}
2659extern "C" {
2660 pub fn OpenTaskList();
2661}
2662extern "C" {
2663 pub fn GetTaskFramebuffer(task: c_types::c_int) -> *mut icanvas;
2664}
2665extern "C" {
2666 pub fn GetTaskFramebufferInfo(task: c_types::c_int) -> *mut iv_fbinfo;
2667}
2668extern "C" {
2669 pub fn iv_wait_task_activation(timeout: c_types::c_int);
2670}
2671extern "C" {
2672 pub fn GetFrontlightVersion() -> c_types::c_int;
2673}
2674extern "C" {
2675 pub fn GetFrontlightState() -> c_types::c_int;
2676}
2677extern "C" {
2678 pub fn SetFrontlightState(flstate: c_types::c_int);
2679}
2680extern "C" {
2681 pub fn GetFrontlightEnabled() -> c_types::c_int;
2682}
2683extern "C" {
2684 pub fn SetFrontlightEnabled(enabled: c_types::c_int);
2685}
2686extern "C" {
2687 pub fn SetFrontlightStateEx(flstate: c_types::c_int, temporary: c_types::c_int);
2688}
2689extern "C" {
2690 pub fn OpenFrontLightConfig();
2691}
2692extern "C" {
2693 pub fn GetFrontlightColor() -> c_types::c_int;
2694}
2695extern "C" {
2696 pub fn SetFrontlightColor(color: c_types::c_int);
2697}
2698extern "C" {
2699 pub fn iv_stat(name: *const c_types::c_char, st: *mut stat) -> c_types::c_int;
2700}
2701extern "C" {
2702 pub fn iv_access(pathname: *const c_types::c_char, mode: c_types::c_int) -> c_types::c_int;
2703}
2704extern "C" {
2705 pub fn iv_fopen(name: *const c_types::c_char, mode: *const c_types::c_char) -> *mut FILE;
2706}
2707extern "C" {
2708 pub fn iv_fread(
2709 buffer: *mut c_types::c_void,
2710 size: c_types::c_int,
2711 count: c_types::c_int,
2712 f: *mut FILE,
2713 ) -> c_types::c_int;
2714}
2715extern "C" {
2716 pub fn iv_fwrite(
2717 buffer: *const c_types::c_void,
2718 size: c_types::c_int,
2719 count: c_types::c_int,
2720 f: *mut FILE,
2721 ) -> c_types::c_int;
2722}
2723extern "C" {
2724 pub fn iv_fseek(
2725 f: *mut FILE,
2726 offset: c_types::c_long,
2727 whence: c_types::c_int,
2728 ) -> c_types::c_int;
2729}
2730extern "C" {
2731 pub fn iv_ftell(f: *mut FILE) -> c_types::c_long;
2732}
2733extern "C" {
2734 pub fn iv_fclose(f: *mut FILE) -> c_types::c_int;
2735}
2736extern "C" {
2737 pub fn iv_fclose_no_sync(f: *mut FILE) -> c_types::c_int;
2738}
2739extern "C" {
2740 pub fn iv_fgetc(f: *mut FILE) -> c_types::c_int;
2741}
2742extern "C" {
2743 pub fn iv_fgets(
2744 string: *mut c_types::c_char,
2745 n: c_types::c_int,
2746 f: *mut FILE,
2747 ) -> *mut c_types::c_char;
2748}
2749extern "C" {
2750 pub fn iv_mkdir(pathname: *const c_types::c_char, mode: mode_t) -> c_types::c_int;
2751}
2752extern "C" {
2753 pub fn iv_buildpath(filename: *const c_types::c_char);
2754}
2755extern "C" {
2756 pub fn iv_opendir(dirname: *const c_types::c_char) -> *mut DIR;
2757}
2758extern "C" {
2759 pub fn iv_readdir(dir: *mut DIR) -> *mut dirent;
2760}
2761extern "C" {
2762 pub fn iv_closedir(dir: *mut DIR) -> c_types::c_int;
2763}
2764extern "C" {
2765 pub fn iv_unlink(name: *const c_types::c_char) -> c_types::c_int;
2766}
2767extern "C" {
2768 pub fn iv_rmdir(name: *const c_types::c_char) -> c_types::c_int;
2769}
2770extern "C" {
2771 pub fn iv_truncate(name: *const c_types::c_char, length: c_types::c_int) -> c_types::c_int;
2772}
2773extern "C" {
2774 pub fn iv_rename(
2775 oldname: *const c_types::c_char,
2776 newname: *const c_types::c_char,
2777 ) -> c_types::c_int;
2778}
2779extern "C" {
2780 pub fn iv_preload(name: *const c_types::c_char, count: c_types::c_int);
2781}
2782extern "C" {
2783 pub fn iv_sync();
2784}
2785extern "C" {
2786 pub fn iv_validate_name(s: *const c_types::c_char, flags: c_types::c_int) -> c_types::c_int;
2787}
2788extern "C" {
2789 pub fn iv_setbgresponse(t: c_types::c_int);
2790}
2791extern "C" {
2792 pub fn iv_ipc_request(
2793 type_: c_types::c_long,
2794 attr: c_types::c_long,
2795 data: *mut c_types::c_uchar,
2796 inlen: c_types::c_int,
2797 outlen: c_types::c_int,
2798 ) -> c_types::c_long;
2799}
2800extern "C" {
2801 pub fn iv_ipc_request_secure(
2802 type_: c_types::c_long,
2803 param: c_types::c_long,
2804 data: *mut c_types::c_uchar,
2805 inlen: c_types::c_int,
2806 outlen: c_types::c_int,
2807 ) -> c_types::c_long;
2808}
2809extern "C" {
2810 pub fn iv_ipc_cmd(type_: c_types::c_long, param: c_types::c_long) -> c_types::c_long;
2811}
2812extern "C" {
2813 pub fn iv_ipc_request_with_timeout(
2814 type_: c_types::c_long,
2815 param: c_types::c_long,
2816 data: *mut c_types::c_uchar,
2817 inlen: c_types::c_int,
2818 outlen: c_types::c_int,
2819 timeout_ms: c_types::c_int,
2820 ) -> c_types::c_long;
2821}
2822extern "C" {
2823 pub fn LoadLanguage(lang: *const c_types::c_char);
2824}
2825extern "C" {
2826 pub fn GetCurrentLangText(s: *const c_types::c_char) -> *const c_types::c_char;
2827}
2828extern "C" {
2829 pub fn GetLangText(s: *const c_types::c_char) -> *const c_types::c_char;
2830}
2831extern "C" {
2832 pub fn GetLangTextF(s: *const c_types::c_char, ...) -> *const c_types::c_char;
2833}
2834extern "C" {
2835 pub fn GetLangTextPlural(
2836 s: *const c_types::c_char,
2837 amount: c_types::c_int,
2838 ) -> *const c_types::c_char;
2839}
2840extern "C" {
2841 pub fn SetRTLBook(rtl: c_types::c_int);
2842}
2843#[repr(C)]
2844#[derive(Debug, Copy, Clone)]
2845pub struct iprofile_s {
2846 pub name: *mut c_types::c_char,
2847 pub path: *mut c_types::c_char,
2848 pub type_: c_types::c_int,
2849 pub avatar: *mut ibitmap,
2850}
2851pub type iprofile = iprofile_s;
2852#[repr(C)]
2853#[derive(Debug, Copy, Clone)]
2854pub struct iprofiles_s {
2855 pub profile: *mut iprofile,
2856 pub count: c_types::c_int,
2857}
2858pub type iprofiles = iprofiles_s;
2859extern "C" {
2860 pub fn GetProfileType(name: *const c_types::c_char) -> c_types::c_int;
2861}
2862extern "C" {
2863 pub fn GetProfileAvatar(name: *const c_types::c_char) -> *mut ibitmap;
2864}
2865extern "C" {
2866 pub fn SetProfileAvatar(name: *const c_types::c_char, ava: *mut ibitmap) -> c_types::c_int;
2867}
2868extern "C" {
2869 pub fn GetCurrentProfile() -> *mut c_types::c_char;
2870}
2871extern "C" {
2872 pub fn SetCurrentProfile(name: *const c_types::c_char, flags: c_types::c_int);
2873}
2874extern "C" {
2875 pub fn GetProfilesCountAfterEnum() -> c_types::c_int;
2876}
2877extern "C" {
2878 pub fn OpenProfileSelector();
2879}
2880extern "C" {
2881 pub fn GetLocalProfilesLimit() -> c_types::c_int;
2882}
2883extern "C" {
2884 pub fn GetSDProfilesLimit() -> c_types::c_int;
2885}
2886extern "C" {
2887 pub fn GetProfilesLimit() -> c_types::c_int;
2888}
2889extern "C" {
2890 pub fn ClearProfilesStruct(profiles: *mut iprofiles);
2891}
2892extern "C" {
2893 pub fn ClearProfileStruct(profile: *mut iprofile);
2894}
2895extern "C" {
2896 pub fn GetProfilesList(profiles: *mut iprofiles) -> c_types::c_int;
2897}
2898extern "C" {
2899 pub fn GetCurrentProfileEx(profile: *mut iprofile) -> c_types::c_int;
2900}
2901extern "C" {
2902 pub fn SetCurrentProfileEx(profile: *const iprofile) -> c_types::c_int;
2903}
2904extern "C" {
2905 pub fn GetProfilesCount() -> c_types::c_int;
2906}
2907extern "C" {
2908 pub fn OpenTheme(path: *const c_types::c_char);
2909}
2910extern "C" {
2911 pub fn GetResource(name: *const c_types::c_char, deflt: *const ibitmap) -> *mut ibitmap;
2912}
2913extern "C" {
2914 pub fn GetThemeInt(name: *const c_types::c_char, deflt: c_types::c_int) -> c_types::c_int;
2915}
2916extern "C" {
2917 pub fn GetThemeString(
2918 name: *const c_types::c_char,
2919 deflt: *const c_types::c_char,
2920 ) -> *const c_types::c_char;
2921}
2922extern "C" {
2923 pub fn GetThemeFont(name: *const c_types::c_char, deflt: *const c_types::c_char) -> *mut ifont;
2924}
2925extern "C" {
2926 pub fn GetThemeRect(
2927 name: *const c_types::c_char,
2928 rect: *mut irect,
2929 x: c_types::c_int,
2930 y: c_types::c_int,
2931 w: c_types::c_int,
2932 h: c_types::c_int,
2933 flags: c_types::c_int,
2934 );
2935}
2936extern "C" {
2937 pub fn GetKeyResource(key: *const c_types::c_char, deflt: *const ibitmap) -> *mut ibitmap;
2938}
2939extern "C" {
2940 pub fn GetSupportedFileTypes() -> *mut iv_filetype;
2941}
2942extern "C" {
2943 pub fn GetSupportedFileTypesLength() -> c_types::c_int;
2944}
2945extern "C" {
2946 pub fn GetBookInfo(name: *const c_types::c_char) -> *mut bookinfo;
2947}
2948extern "C" {
2949 pub fn GetBookInfoExt(
2950 path: *const c_types::c_char,
2951 separator: *const c_types::c_char,
2952 ) -> *mut bookinfo;
2953}
2954extern "C" {
2955 pub fn GetBookISBN(path: *const c_types::c_char) -> *mut c_types::c_char;
2956}
2957extern "C" {
2958 pub fn GetBookCover(
2959 name: *const c_types::c_char,
2960 width: c_types::c_int,
2961 height: c_types::c_int,
2962 ) -> *mut ibitmap;
2963}
2964#[repr(u32)]
2965#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
2966pub enum MencaFileStatus_e {
2967 kMencaNoStatus = 0,
2968 kMencaInCloud = 1,
2969 kMencaSyncing = 2,
2970 kMencaDownloaded = 3,
2971}
2972pub use self::MencaFileStatus_e as MencaFileStatus;
2973#[repr(C)]
2974#[derive(Debug, Copy, Clone)]
2975pub struct BookSyncStatus_s {
2976 pub menca_status_: MencaFileStatus,
2977}
2978pub type BookSyncStatus = BookSyncStatus_s;
2979extern "C" {
2980 pub fn GetBookSyncStatus(path: *const c_types::c_char) -> BookSyncStatus;
2981}
2982extern "C" {
2983 pub fn GetAssociatedFile(
2984 name: *const c_types::c_char,
2985 index: c_types::c_int,
2986 ) -> *mut c_types::c_char;
2987}
2988extern "C" {
2989 pub fn SetFileHandler(path: *const c_types::c_char, handler: *const c_types::c_char);
2990}
2991extern "C" {
2992 pub fn GetFileHandler(path: *const c_types::c_char) -> *const c_types::c_char;
2993}
2994extern "C" {
2995 pub fn OpenBook(
2996 path: *const c_types::c_char,
2997 parameters: *const c_types::c_char,
2998 flags: c_types::c_int,
2999 ) -> c_types::c_int;
3000}
3001extern "C" {
3002 pub fn GetLastOpen() -> *mut *mut c_types::c_char;
3003}
3004extern "C" {
3005 pub fn OpenLastBooks();
3006}
3007#[repr(u32)]
3008#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
3009pub enum AudioPlayerType_e {
3010 kAudioPlayer = 1,
3011 kAudioBooks = 2,
3012 kBrowser = 4,
3013}
3014pub use self::AudioPlayerType_e as AudioPlayerType;
3015#[repr(C)]
3016#[derive(Copy, Clone)]
3017pub struct AudioPlayingInfo_s {
3018 pub type_: AudioPlayerType,
3019 pub pid: c_types::c_int,
3020 pub title: [c_types::c_char; 512usize],
3021 pub author: [c_types::c_char; 512usize],
3022 pub duration: [c_types::c_char; 32usize],
3023 pub percent: c_types::c_int,
3024 pub play_state: c_types::c_int,
3025}
3026pub type AudioPlayingInfo = AudioPlayingInfo_s;
3027extern "C" {
3028 pub fn OpenPlayer();
3029}
3030extern "C" {
3031 pub fn ClosePlayer();
3032}
3033extern "C" {
3034 pub fn LoadPlaylist(pl: *mut *mut c_types::c_char);
3035}
3036extern "C" {
3037 pub fn GetPlaylist() -> *mut *mut c_types::c_char;
3038}
3039extern "C" {
3040 pub fn GetCurrentTrack() -> c_types::c_int;
3041}
3042extern "C" {
3043 pub fn GetTrackSize() -> c_types::c_int;
3044}
3045extern "C" {
3046 pub fn SetTrackPosition(pos: c_types::c_int);
3047}
3048extern "C" {
3049 pub fn GetTrackPosition() -> c_types::c_int;
3050}
3051extern "C" {
3052 pub fn SetPlayerState(state: c_types::c_int);
3053}
3054extern "C" {
3055 pub fn GetPlayerState() -> c_types::c_int;
3056}
3057extern "C" {
3058 pub fn SetPlayerMode(mode: c_types::c_int);
3059}
3060extern "C" {
3061 pub fn GetPlayerMode() -> c_types::c_int;
3062}
3063extern "C" {
3064 pub fn SetVolume(n: c_types::c_int);
3065}
3066extern "C" {
3067 pub fn GetVolume() -> c_types::c_int;
3068}
3069extern "C" {
3070 pub fn SetEqualizer(eq: *mut c_types::c_int);
3071}
3072extern "C" {
3073 pub fn GetEqualizer(eq: *mut c_types::c_int);
3074}
3075extern "C" {
3076 pub fn SetAudioPlayingInfo(info: AudioPlayingInfo) -> c_types::c_int;
3077}
3078extern "C" {
3079 pub fn GetAudioPlayingInfo(info: *mut AudioPlayingInfo) -> c_types::c_int;
3080}
3081extern "C" {
3082 pub fn GetHighVolumeTimeout() -> c_types::c_int;
3083}
3084extern "C" {
3085 pub fn LoadHighVolumeTimeout();
3086}
3087extern "C" {
3088 pub fn SaveHighVolumeTimeout();
3089}
3090extern "C" {
3091 pub fn GetSafeVolumeLimit() -> c_types::c_int;
3092}
3093extern "C" {
3094 pub fn GetHighVolumeMaxInterval() -> c_types::c_int;
3095}
3096extern "C" {
3097 pub fn OpenNotepad(name: *const c_types::c_char);
3098}
3099extern "C" {
3100 pub fn OpenNotesMenu(
3101 filename: *const c_types::c_char,
3102 title: *const c_types::c_char,
3103 position: c_types::c_longlong,
3104 );
3105}
3106extern "C" {
3107 pub fn OpenDictionary(name: *const c_types::c_char) -> c_types::c_int;
3108}
3109extern "C" {
3110 pub fn CloseDictionary();
3111}
3112extern "C" {
3113 pub fn GetWordListWithPrefix(
3114 prefix_utf8: *const c_types::c_char,
3115 maxWords: c_types::c_int,
3116 wordList: *mut *mut *mut c_types::c_char,
3117 ) -> c_types::c_int;
3118}
3119extern "C" {
3120 pub fn OpenDictionaryView(wordlist: *mut iv_wlist, dicname: *const c_types::c_char);
3121}
3122extern "C" {
3123 pub fn OpenControlledDictionaryView(
3124 pointer_handler: pointer_to_word_hand_t,
3125 wordlist: *mut iv_wlist,
3126 dicname: *const c_types::c_char,
3127 );
3128}
3129extern "C" {
3130 pub fn OpenFastTranslation(
3131 pointer_handler: pointer_to_word_hand_t,
3132 wordlist: *mut iv_wlist,
3133 pos: c_types::c_int,
3134 dicname: *const c_types::c_char,
3135 );
3136}
3137extern "C" {
3138 pub fn iv_reflow_start(
3139 x: c_types::c_int,
3140 y: c_types::c_int,
3141 w: c_types::c_int,
3142 h: c_types::c_int,
3143 scale: c_types::c_int,
3144 );
3145}
3146extern "C" {
3147 pub fn iv_reflow_bt();
3148}
3149extern "C" {
3150 pub fn iv_reflow_et();
3151}
3152extern "C" {
3153 pub fn iv_reflow_div();
3154}
3155extern "C" {
3156 pub fn iv_reflow_addchar(
3157 code: c_types::c_int,
3158 x: c_types::c_int,
3159 y: c_types::c_int,
3160 w: c_types::c_int,
3161 h: c_types::c_int,
3162 );
3163}
3164extern "C" {
3165 pub fn iv_reflow_addimage(
3166 x: c_types::c_int,
3167 y: c_types::c_int,
3168 w: c_types::c_int,
3169 h: c_types::c_int,
3170 flags: c_types::c_int,
3171 );
3172}
3173extern "C" {
3174 pub fn iv_reflow_subpages() -> c_types::c_int;
3175}
3176extern "C" {
3177 pub fn iv_reflow_render(spnum: c_types::c_int);
3178}
3179extern "C" {
3180 pub fn iv_reflow_getchar(x: *mut c_types::c_int, y: *mut c_types::c_int) -> c_types::c_int;
3181}
3182extern "C" {
3183 pub fn iv_reflow_getimage(
3184 x: *mut c_types::c_int,
3185 y: *mut c_types::c_int,
3186 scale: *mut c_types::c_int,
3187 ) -> c_types::c_int;
3188}
3189extern "C" {
3190 pub fn iv_reflow_words() -> c_types::c_int;
3191}
3192extern "C" {
3193 pub fn iv_reflow_getword(
3194 n: c_types::c_int,
3195 spnum: *mut c_types::c_int,
3196 x: *mut c_types::c_int,
3197 y: *mut c_types::c_int,
3198 w: *mut c_types::c_int,
3199 h: *mut c_types::c_int,
3200 ) -> *mut c_types::c_char;
3201}
3202extern "C" {
3203 pub fn iv_reflow_clear();
3204}
3205extern "C" {
3206 pub fn ClearAllScrolledAreas();
3207}
3208extern "C" {
3209 pub fn SetMinimalXScrollIndent(area: *mut irect, Xindent: c_types::c_int);
3210}
3211extern "C" {
3212 pub fn SetMinimalYScrollIndent(area: *mut irect, Yindent: c_types::c_int);
3213}
3214extern "C" {
3215 pub fn SetCurrentApplicationAttribute(attribute: APPLICATION_ATTRIBUTE, on: c_types::c_int);
3216}
3217extern "C" {
3218 pub fn iv_fullscreen();
3219}
3220extern "C" {
3221 pub fn iv_nofullscreen();
3222}
3223extern "C" {
3224 pub fn iv_sleepmode(on: c_types::c_int);
3225}
3226extern "C" {
3227 pub fn GetSleepmode() -> c_types::c_int;
3228}
3229extern "C" {
3230 pub fn GetBatteryPower() -> c_types::c_int;
3231}
3232extern "C" {
3233 pub fn GetTemperature() -> c_types::c_int;
3234}
3235extern "C" {
3236 pub fn GetDeviceModel() -> *mut c_types::c_char;
3237}
3238extern "C" {
3239 pub fn GetHardwareType() -> *mut c_types::c_char;
3240}
3241extern "C" {
3242 pub fn GetSoftwareVersion() -> *mut c_types::c_char;
3243}
3244extern "C" {
3245 pub fn GetSerialSoftwareInfo(
3246 device_model: *mut *mut c_types::c_char,
3247 major_version: *mut c_types::c_int,
3248 minor_version: *mut c_types::c_int,
3249 build_version: *mut c_types::c_int,
3250 ) -> c_types::c_int;
3251}
3252extern "C" {
3253 pub fn GetHardwareDepth() -> c_types::c_int;
3254}
3255extern "C" {
3256 pub fn GetSerialNumber() -> *mut c_types::c_char;
3257}
3258extern "C" {
3259 pub fn GetExternalCardSerialNumber() -> *const c_types::c_char;
3260}
3261extern "C" {
3262 pub fn GetWaveformFilename() -> *mut c_types::c_char;
3263}
3264extern "C" {
3265 pub fn GetDeviceKey() -> *mut c_types::c_char;
3266}
3267extern "C" {
3268 pub fn GetDeviceFingerprint() -> *mut c_types::c_uchar;
3269}
3270extern "C" {
3271 pub fn SetAutoPowerOff(en: c_types::c_int);
3272}
3273extern "C" {
3274 pub fn OpenMainMenu();
3275}
3276extern "C" {
3277 pub fn CloseAllTasks();
3278}
3279extern "C" {
3280 pub fn OpenCalendar();
3281}
3282extern "C" {
3283 pub fn GetWiFiScanResults(aps: *mut iv_wifi_ap_list) -> *mut iv_wifi_ap_list;
3284}
3285extern "C" {
3286 pub fn GetHwAddress() -> *mut c_types::c_char;
3287}
3288extern "C" {
3289 pub fn GetHwBTAddress() -> *mut c_types::c_char;
3290}
3291extern "C" {
3292 pub fn GetBluetoothMode() -> c_types::c_int;
3293}
3294extern "C" {
3295 pub fn SetBluetoothMode(mode: c_types::c_int, flags: c_types::c_int) -> c_types::c_int;
3296}
3297extern "C" {
3298 pub fn GetBluetoothStatus() -> bt_state;
3299}
3300extern "C" {
3301 pub fn SetBluetoothOn() -> c_types::c_int;
3302}
3303extern "C" {
3304 pub fn SetBluetoothOff() -> c_types::c_int;
3305}
3306extern "C" {
3307 pub fn OpenBTdevicesMenu(
3308 title: *mut c_types::c_char,
3309 x: c_types::c_int,
3310 y: c_types::c_int,
3311 hproc: iv_itemchangehandler,
3312 );
3313}
3314extern "C" {
3315 pub fn GetBTservice(
3316 mac: *const c_types::c_char,
3317 service: *const c_types::c_char,
3318 ) -> c_types::c_int;
3319}
3320extern "C" {
3321 pub fn OpenNetworkInfo();
3322}
3323extern "C" {
3324 pub fn GetUserAgent() -> *mut c_types::c_char;
3325}
3326extern "C" {
3327 pub fn GetDefaultUserAgent() -> *mut c_types::c_char;
3328}
3329extern "C" {
3330 pub fn GetProxyUrl() -> *mut c_types::c_char;
3331}
3332extern "C" {
3333 pub fn CloseSession(id: c_types::c_int);
3334}
3335extern "C" {
3336 pub fn SetUserAgent(id: c_types::c_int, ua: *const c_types::c_char);
3337}
3338extern "C" {
3339 pub fn SetProxy(
3340 id: c_types::c_int,
3341 host: *const c_types::c_char,
3342 port: c_types::c_int,
3343 user: *const c_types::c_char,
3344 pass: *const c_types::c_char,
3345 );
3346}
3347extern "C" {
3348 pub fn SetSessionFlag(
3349 _id: c_types::c_int,
3350 _flag: c_types::c_int,
3351 _value: *mut c_types::c_void,
3352 ) -> c_types::c_int;
3353}
3354extern "C" {
3355 pub fn GetSessionStatus(id: c_types::c_int) -> c_types::c_int;
3356}
3357extern "C" {
3358 pub fn GetHeader(id: c_types::c_int, name: *const c_types::c_char) -> *const c_types::c_char;
3359}
3360extern "C" {
3361 pub fn GetSessionInfo(id: c_types::c_int) -> *mut iv_sessioninfo;
3362}
3363extern "C" {
3364 pub fn SetPort(port: c_types::c_int);
3365}
3366extern "C" {
3367 pub fn GetTouchInfo() -> *mut iv_mtinfo;
3368}
3369extern "C" {
3370 pub fn GetTouchInfoI(index: c_types::c_uint) -> *mut iv_mtinfo;
3371}
3372extern "C" {
3373 pub fn iv_strcmp(s1: *const c_types::c_char, s2: *const c_types::c_char) -> c_types::c_int;
3374}
3375extern "C" {
3376 pub fn iv_strncmp(
3377 s1: *const c_types::c_char,
3378 s2: *const c_types::c_char,
3379 n: size_t,
3380 ) -> c_types::c_int;
3381}
3382extern "C" {
3383 pub fn iv_strcasecmp(s1: *const c_types::c_char, s2: *const c_types::c_char) -> c_types::c_int;
3384}
3385extern "C" {
3386 pub fn iv_strncasecmp(
3387 s1: *const c_types::c_char,
3388 s2: *const c_types::c_char,
3389 n: size_t,
3390 ) -> c_types::c_int;
3391}
3392extern "C" {
3393 pub fn GetDialogShow() -> c_types::c_int;
3394}
3395extern "C" {
3396 pub fn SetMenuFont(font: *mut ifont);
3397}
3398extern "C" {
3399 pub fn iv_get_obreey_status() -> c_types::c_int;
3400}
3401#[repr(C)]
3402#[derive(Debug, Copy, Clone)]
3403pub struct icustombubble_s {
3404 pub type_: c_types::c_int,
3405 pub bubble_pos: irect,
3406 pub arrow_pos: irect,
3407 pub arrow_bmp: *mut ibitmap,
3408 pub icon_bmp: *mut ibitmap,
3409 pub text_pos: irect,
3410 pub font: *mut ifont,
3411 pub text: *mut c_types::c_char,
3412}
3413pub type icustombubble = icustombubble_s;
3414#[repr(C)]
3415#[derive(Debug, Copy, Clone)]
3416pub struct icustomhero_s {
3417 pub pos: irect,
3418 pub name: *mut c_types::c_char,
3419 pub hero_bmp: *mut ibitmap,
3420 pub max_bubbles: c_types::c_int,
3421 pub bubbles: *mut *mut irect,
3422}
3423pub type icustomhero = icustomhero_s;
3424pub type iv_custombubbledraw =
3425 ::core::option::Option<unsafe extern "C" fn(bubble: *mut icustombubble)>;
3426pub type iv_customherodraw = ::core::option::Option<unsafe extern "C" fn(hero: *mut icustomhero)>;
3427extern "C" {
3428 pub fn GetNetInfo(interface: *const network_interface) -> *mut network_interface_info;
3429}
3430extern "C" {
3431 pub fn GetNetGateway(interface: *const network_interface) -> *mut network_interface;
3432}
3433extern "C" {
3434 pub fn GetNetDNS() -> *mut network_interface_array;
3435}
3436extern "C" {
3437 pub fn GetNetSignalQuality() -> c_types::c_int;
3438}
3439extern "C" {
3440 pub fn GetNetState() -> NET_STATE;
3441}
3442extern "C" {
3443 pub fn GetLastNetConnectionError() -> c_types::c_int;
3444}
3445extern "C" {
3446 pub fn GetNetList(path: *const c_types::c_char) -> c_types::c_int;
3447}
3448extern "C" {
3449 pub fn CopyBitmapNoTrack(bm: *const ibitmap) -> *mut ibitmap;
3450}
3451extern "C" {
3452 pub fn iv_usleep(__useconds: __useconds_t) -> c_types::c_int;
3453}
3454#[repr(i32)]
3455#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
3456pub enum Button {
3457 BUTTON1 = 0,
3458 BUTTON2 = 4096,
3459 BUTTON3 = 8192,
3460}
3461#[repr(i32)]
3462#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
3463pub enum Dither {
3464 THRESHOLD = 0,
3465 PATTERN = 1,
3466 DIFFUSION = 2,
3467}
3468#[repr(i32)]
3469#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
3470pub enum Event {
3471 INIT = 21,
3472 EXIT = 22,
3473 SHOW = 23,
3474 HIDE = 24,
3475 KEYPRESS = 25,
3476 KEYRELEASE = 26,
3477 KEYREPEAT = 28,
3478 POINTERUP = 29,
3479 POINTERDOWN = 30,
3480 POINTERMOVE = 31,
3481 ORIENTATION = 32,
3482 SCROLL = 33,
3483 POINTERLONG = 34,
3484 POINTERHOLD = 35,
3485 FOCUS = 36,
3486 UNFOCUS = 37,
3487 ACTIVATE = 38,
3488 MTSYNC = 39,
3489 TOUCHUP = 40,
3490 TOUCHDOWN = 41,
3491 TOUCHMOVE = 42,
3492 REPAINT = 43,
3493 POINTERDRAG = 44,
3494 POINTERCANCEL = 45,
3495 QN_MOVE = 51,
3496 QN_RELEASE = 52,
3497 QN_BORDER = 53,
3498 SNAPSHOT = 71,
3499 FSINCOMING = 72,
3500 FSCHANGED = 73,
3501 MP_STATECHANGED = 81,
3502 MP_TRACKCHANGED = 82,
3503 PREVPAGE = 91,
3504 NEXTPAGE = 92,
3505 OPENDIC = 93,
3506 CONTROL_PANEL_ABOUT_TO_OPEN = 94,
3507 UPDATE = 95,
3508 PANEL_BLUETOOTH_A2DP = 118,
3509 TAB = 119,
3510 PANEL = 120,
3511 PANEL_ICON = 121,
3512 PANEL_TEXT = 122,
3513 PANEL_PROGRESS = 123,
3514 PANEL_MPLAYER = 124,
3515 PANEL_USBDRIVE = 125,
3516 PANEL_NETWORK = 126,
3517 PANEL_CLOCK = 127,
3518 PANEL_BLUETOOTH = 128,
3519 PANEL_TASKLIST = 129,
3520 PANEL_OBREEY_SYNC = 130,
3521 PANEL_SETREADINGMODE = 131,
3522 PANEL_SETREADINGMODE_INVERT = 132,
3523 PANEL_FRONT_LIGHT = 133,
3524 GLOBALREQUEST = 149,
3525 GLOBALACTION = 150,
3526 FOREGROUND = 151,
3527 BACKGROUND = 152,
3528 SUBTASKCLOSE = 153,
3529 CONFIGCHANGED = 154,
3530 SAVESTATE = 155,
3531 OBREEY_CONFIG_CHANGED = 156,
3532 SDIN = 161,
3533 SDOUT = 162,
3534 BT_RXCOMPLETE = 171,
3535 BT_TXCOMPLETE = 172,
3536 SYNTH_ENDED = 200,
3537 DIC_CLOSED = 201,
3538 SHOW_KEYBOARD = 202,
3539 TEXTCLEAR = 209,
3540 EXT_KB = 210,
3541 LETTER = 211,
3542 CALLBACK = 212,
3543 SCANPROGRESS = 213,
3544 STOPSCAN = 214,
3545 STARTSCAN = 215,
3546 SCANSTOPPED = 216,
3547 POSTPONE_TIMED_POWEROFF = 217,
3548 FRAME_ACTIVATED = 218,
3549 FRAME_DEACTIVATED = 219,
3550 READ_PROGRESS_CHANGED = 220,
3551 DUMP_BITMAPS_DEBUG_INFO = 221,
3552 NET_CONNECTED = 256,
3553 NET_DISCONNECTED = 257,
3554 NET_FOUND_NEW_FW = 260,
3555 SYNTH_POSITION = 261,
3556 ASYNC_TASK_FINISHED = 262,
3557 STOP_PLAYING = 263,
3558 AVRCP_COMMAND = 264,
3559 AUDIO_CHANGED = 265,
3560}
3561#[repr(i32)]
3562#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
3563pub enum Icon {
3564 INFORMATION = 1,
3565 QUESTION = 2,
3566 WARNING = 3,
3567 ERROR = 4,
3568 WIFI = 5,
3569}
3570#[repr(i32)]
3571#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
3572pub enum Key {
3573 POWER = 1,
3574 COVEROPEN = 2,
3575 COVERCLOSE = 3,
3576 MENU_POWER = 4,
3577 ZOOMOUT = 6,
3578 ZOOMIN = 7,
3579 DELETE = 8,
3580 OK = 10,
3581 SHIFT = 14,
3582 LANGUAGECHANGE = 15,
3583 KEYBOARDCLOSE = 16,
3584 UP = 17,
3585 DOWN = 18,
3586 LEFT = 19,
3587 RIGHT = 20,
3588 MINUS = 21,
3589 PLUS = 22,
3590 MENU = 23,
3591 PREV = 24,
3592 NEXT = 25,
3593 HOME = 26,
3594 BACK = 27,
3595 PREV2 = 28,
3596 NEXT2 = 29,
3597 MUSIC = 30,
3598 KEY0 = 48,
3599 KEY1 = 49,
3600 KEY2 = 50,
3601 KEY3 = 51,
3602 KEY4 = 52,
3603 KEY5 = 53,
3604 KEY6 = 54,
3605 KEY7 = 55,
3606 KEY8 = 56,
3607 KEY9 = 57,
3608}
3609#[repr(i32)]
3610#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash, FromPrimitive)]
3611pub enum Request {
3612 KEYLOCK = 65,
3613 MAINMENU = 66,
3614 EXIT = 67,
3615 LASTOPEN = 68,
3616 PROFILES = 69,
3617 SCREENSHOT = 70,
3618 CALC = 71,
3619 PLAYER = 72,
3620 PLAYPAUSE = 73,
3621 VOLUMEUP = 74,
3622 VOLUMEDOWN = 75,
3623 NETWORK = 76,
3624 BTSWITCH = 77,
3625 DROPCONN = 78,
3626 TASKMGR = 79,
3627 SWITCHTASK = 80,
3628 FLIPTASK = 81,
3629 KILLTASK = 82,
3630 POWEROFF = 83,
3631 OPENBOOK = 84,
3632 BOOKSTATE = 85,
3633 BOOKOPENED = 86,
3634 HEADCHNG = 87,
3635 OPENBOOK2 = 88,
3636 FRONTLIGHT = 89,
3637 KEYUNLOCK = 90,
3638 HOURGLASS = 91,
3639 MESSAGEBOX = 92,
3640 KEYHARDLOCK = 93,
3641 PB_CLOUD_NEW_POSITION = 94,
3642 PREVTRACK = 95,
3643 NEXTTRACK = 96,
3644}