Skip to main content

libedit_sys/
bindings.rs

1// Pre-generated libedit bindings (bindgen 0.71.1, libedit 3.1, Debian Linux arm64).
2//
3// These bindings are the default; they ship with the crate so consumers
4// don't need libclang/clang installed. To regenerate (e.g., for a different
5// platform or libedit version), enable the `bindgen` feature:
6//
7//   cargo build --features bindgen
8//
9// This will run bindgen at build time and use the freshly generated bindings
10// instead of this file. To update the pre-generated copy after regeneration:
11//
12//   cp target/debug/build/libedit-sys-*/out/bindings.rs src/bindings.rs
13//
14// Then manually re-apply the #[cfg(not(target_os = "macos"))] guard around
15// `el_init_fd` (see below) -- this function exists in Linux/netbsd-editline
16// but not in Apple's libedit.
17
18/* automatically generated by rust-bindgen 0.71.1 */
19
20#[repr(C)]
21#[derive(Debug, Copy, Clone)]
22pub struct FILE { _unused: [u8; 0] }
23
24#[repr(C)]
25#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
26pub struct __BindgenBitfieldUnit<Storage> {
27    storage: Storage,
28}
29impl<Storage> __BindgenBitfieldUnit<Storage> {
30    #[inline]
31    pub const fn new(storage: Storage) -> Self {
32        Self { storage }
33    }
34}
35impl<Storage> __BindgenBitfieldUnit<Storage>
36where
37    Storage: AsRef<[u8]> + AsMut<[u8]>,
38{
39    #[inline]
40    fn extract_bit(byte: u8, index: usize) -> bool {
41        let bit_index = if cfg!(target_endian = "big") {
42            7 - (index % 8)
43        } else {
44            index % 8
45        };
46        let mask = 1 << bit_index;
47        byte & mask == mask
48    }
49    #[inline]
50    pub fn get_bit(&self, index: usize) -> bool {
51        debug_assert!(index / 8 < self.storage.as_ref().len());
52        let byte_index = index / 8;
53        let byte = self.storage.as_ref()[byte_index];
54        Self::extract_bit(byte, index)
55    }
56    #[inline]
57    pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
58        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
59        let byte_index = index / 8;
60        let byte = *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize);
61        Self::extract_bit(byte, index)
62    }
63    #[inline]
64    fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
65        let bit_index = if cfg!(target_endian = "big") {
66            7 - (index % 8)
67        } else {
68            index % 8
69        };
70        let mask = 1 << bit_index;
71        if val {
72            byte | mask
73        } else {
74            byte & !mask
75        }
76    }
77    #[inline]
78    pub fn set_bit(&mut self, index: usize, val: bool) {
79        debug_assert!(index / 8 < self.storage.as_ref().len());
80        let byte_index = index / 8;
81        let byte = &mut self.storage.as_mut()[byte_index];
82        *byte = Self::change_bit(*byte, index, val);
83    }
84    #[inline]
85    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
86        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
87        let byte_index = index / 8;
88        let byte =
89            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize);
90        *byte = Self::change_bit(*byte, index, val);
91    }
92    #[inline]
93    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
94        debug_assert!(bit_width <= 64);
95        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
96        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
97        let mut val = 0;
98        for i in 0..(bit_width as usize) {
99            if self.get_bit(i + bit_offset) {
100                let index = if cfg!(target_endian = "big") {
101                    bit_width as usize - 1 - i
102                } else {
103                    i
104                };
105                val |= 1 << index;
106            }
107        }
108        val
109    }
110    #[inline]
111    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
112        debug_assert!(bit_width <= 64);
113        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
114        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
115        let mut val = 0;
116        for i in 0..(bit_width as usize) {
117            if Self::raw_get_bit(this, i + bit_offset) {
118                let index = if cfg!(target_endian = "big") {
119                    bit_width as usize - 1 - i
120                } else {
121                    i
122                };
123                val |= 1 << index;
124            }
125        }
126        val
127    }
128    #[inline]
129    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
130        debug_assert!(bit_width <= 64);
131        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
132        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
133        for i in 0..(bit_width as usize) {
134            let mask = 1 << i;
135            let val_bit_is_set = val & mask == mask;
136            let index = if cfg!(target_endian = "big") {
137                bit_width as usize - 1 - i
138            } else {
139                i
140            };
141            self.set_bit(index + bit_offset, val_bit_is_set);
142        }
143    }
144    #[inline]
145    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
146        debug_assert!(bit_width <= 64);
147        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
148        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
149        for i in 0..(bit_width as usize) {
150            let mask = 1 << i;
151            let val_bit_is_set = val & mask == mask;
152            let index = if cfg!(target_endian = "big") {
153                bit_width as usize - 1 - i
154            } else {
155                i
156            };
157            Self::raw_set_bit(this, index + bit_offset, val_bit_is_set);
158        }
159    }
160}
161pub const CC_NORM: u32 = 0;
162pub const CC_NEWLINE: u32 = 1;
163pub const CC_EOF: u32 = 2;
164pub const CC_ARGHACK: u32 = 3;
165pub const CC_REFRESH: u32 = 4;
166pub const CC_CURSOR: u32 = 5;
167pub const CC_ERROR: u32 = 6;
168pub const CC_FATAL: u32 = 7;
169pub const CC_REDISPLAY: u32 = 8;
170pub const CC_REFRESH_BEEP: u32 = 9;
171pub const EL_PROMPT: u32 = 0;
172pub const EL_TERMINAL: u32 = 1;
173pub const EL_EDITOR: u32 = 2;
174pub const EL_SIGNAL: u32 = 3;
175pub const EL_BIND: u32 = 4;
176pub const EL_TELLTC: u32 = 5;
177pub const EL_SETTC: u32 = 6;
178pub const EL_ECHOTC: u32 = 7;
179pub const EL_SETTY: u32 = 8;
180pub const EL_ADDFN: u32 = 9;
181pub const EL_HIST: u32 = 10;
182pub const EL_EDITMODE: u32 = 11;
183pub const EL_RPROMPT: u32 = 12;
184pub const EL_GETCFN: u32 = 13;
185pub const EL_CLIENTDATA: u32 = 14;
186pub const EL_UNBUFFERED: u32 = 15;
187pub const EL_PREP_TERM: u32 = 16;
188pub const EL_GETTC: u32 = 17;
189pub const EL_GETFP: u32 = 18;
190pub const EL_SETFP: u32 = 19;
191pub const EL_REFRESH: u32 = 20;
192pub const EL_PROMPT_ESC: u32 = 21;
193pub const EL_RPROMPT_ESC: u32 = 22;
194pub const EL_RESIZE: u32 = 23;
195pub const EL_ALIAS_TEXT: u32 = 24;
196pub const EL_SAFEREAD: u32 = 25;
197pub const H_FUNC: u32 = 0;
198pub const H_SETSIZE: u32 = 1;
199pub const H_GETSIZE: u32 = 2;
200pub const H_FIRST: u32 = 3;
201pub const H_LAST: u32 = 4;
202pub const H_PREV: u32 = 5;
203pub const H_NEXT: u32 = 6;
204pub const H_CURR: u32 = 8;
205pub const H_SET: u32 = 7;
206pub const H_ADD: u32 = 9;
207pub const H_ENTER: u32 = 10;
208pub const H_APPEND: u32 = 11;
209pub const H_END: u32 = 12;
210pub const H_NEXT_STR: u32 = 13;
211pub const H_PREV_STR: u32 = 14;
212pub const H_NEXT_EVENT: u32 = 15;
213pub const H_PREV_EVENT: u32 = 16;
214pub const H_LOAD: u32 = 17;
215pub const H_SAVE: u32 = 18;
216pub const H_CLEAR: u32 = 19;
217pub const H_SETUNIQUE: u32 = 20;
218pub const H_GETUNIQUE: u32 = 21;
219pub const H_DEL: u32 = 22;
220pub const H_NEXT_EVDATA: u32 = 23;
221pub const H_DELDATA: u32 = 24;
222pub const H_REPLACE: u32 = 25;
223pub const H_SAVE_FP: u32 = 26;
224pub const H_NSAVE_FP: u32 = 27;
225pub type __off_t = ::std::os::raw::c_long;
226pub type __off64_t = ::std::os::raw::c_long;
227#[repr(C)]
228#[derive(Debug, Copy, Clone)]
229pub struct _IO_marker {
230    _unused: [u8; 0],
231}
232#[repr(C)]
233#[derive(Debug, Copy, Clone)]
234pub struct _IO_codecvt {
235    _unused: [u8; 0],
236}
237#[repr(C)]
238#[derive(Debug, Copy, Clone)]
239pub struct _IO_wide_data {
240    _unused: [u8; 0],
241}
242pub type _IO_lock_t = ::std::os::raw::c_void;
243#[repr(C)]
244#[derive(Debug, Copy, Clone)]
245pub struct _IO_FILE {
246    pub _flags: ::std::os::raw::c_int,
247    pub _IO_read_ptr: *mut ::std::os::raw::c_char,
248    pub _IO_read_end: *mut ::std::os::raw::c_char,
249    pub _IO_read_base: *mut ::std::os::raw::c_char,
250    pub _IO_write_base: *mut ::std::os::raw::c_char,
251    pub _IO_write_ptr: *mut ::std::os::raw::c_char,
252    pub _IO_write_end: *mut ::std::os::raw::c_char,
253    pub _IO_buf_base: *mut ::std::os::raw::c_char,
254    pub _IO_buf_end: *mut ::std::os::raw::c_char,
255    pub _IO_save_base: *mut ::std::os::raw::c_char,
256    pub _IO_backup_base: *mut ::std::os::raw::c_char,
257    pub _IO_save_end: *mut ::std::os::raw::c_char,
258    pub _markers: *mut _IO_marker,
259    pub _chain: *mut _IO_FILE,
260    pub _fileno: ::std::os::raw::c_int,
261    pub _bitfield_align_1: [u32; 0],
262    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
263    pub _short_backupbuf: [::std::os::raw::c_char; 1usize],
264    pub _old_offset: __off_t,
265    pub _cur_column: ::std::os::raw::c_ushort,
266    pub _vtable_offset: ::std::os::raw::c_schar,
267    pub _shortbuf: [::std::os::raw::c_char; 1usize],
268    pub _lock: *mut _IO_lock_t,
269    pub _offset: __off64_t,
270    pub _codecvt: *mut _IO_codecvt,
271    pub _wide_data: *mut _IO_wide_data,
272    pub _freeres_list: *mut _IO_FILE,
273    pub _freeres_buf: *mut ::std::os::raw::c_void,
274    pub _prevchain: *mut *mut _IO_FILE,
275    pub _mode: ::std::os::raw::c_int,
276    pub _unused2: [::std::os::raw::c_char; 20usize],
277}
278impl Default for _IO_FILE {
279    fn default() -> Self {
280        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
281        unsafe {
282            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
283            s.assume_init()
284        }
285    }
286}
287impl _IO_FILE {
288    #[inline]
289    pub fn _flags2(&self) -> ::std::os::raw::c_int {
290        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 24u8) as u32) }
291    }
292    #[inline]
293    pub fn set__flags2(&mut self, val: ::std::os::raw::c_int) {
294        unsafe {
295            let val: u32 = ::std::mem::transmute(val);
296            self._bitfield_1.set(0usize, 24u8, val as u64)
297        }
298    }
299    #[inline]
300    pub unsafe fn _flags2_raw(this: *const Self) -> ::std::os::raw::c_int {
301        unsafe {
302            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
303                ::std::ptr::addr_of!((*this)._bitfield_1),
304                0usize,
305                24u8,
306            ) as u32)
307        }
308    }
309    #[inline]
310    pub unsafe fn set__flags2_raw(this: *mut Self, val: ::std::os::raw::c_int) {
311        unsafe {
312            let val: u32 = ::std::mem::transmute(val);
313            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
314                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
315                0usize,
316                24u8,
317                val as u64,
318            )
319        }
320    }
321    #[inline]
322    pub fn new_bitfield_1(_flags2: ::std::os::raw::c_int) -> __BindgenBitfieldUnit<[u8; 3usize]> {
323        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
324        __bindgen_bitfield_unit.set(0usize, 24u8, {
325            let _flags2: u32 = unsafe { ::std::mem::transmute(_flags2) };
326            _flags2 as u64
327        });
328        __bindgen_bitfield_unit
329    }
330}
331#[repr(C)]
332#[derive(Debug, Copy, Clone)]
333pub struct editline {
334    _unused: [u8; 0],
335}
336pub type EditLine = editline;
337#[repr(C)]
338#[derive(Debug, Copy, Clone)]
339pub struct lineinfo {
340    pub buffer: *const ::std::os::raw::c_char,
341    pub cursor: *const ::std::os::raw::c_char,
342    pub lastchar: *const ::std::os::raw::c_char,
343}
344impl Default for lineinfo {
345    fn default() -> Self {
346        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
347        unsafe {
348            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
349            s.assume_init()
350        }
351    }
352}
353pub type LineInfo = lineinfo;
354unsafe extern "C" {
355    pub fn el_init(
356        arg1: *const ::std::os::raw::c_char,
357        arg2: *mut FILE,
358        arg3: *mut FILE,
359        arg4: *mut FILE,
360    ) -> *mut EditLine;
361}
362#[cfg(not(target_os = "macos"))]
363unsafe extern "C" {
364    pub fn el_init_fd(
365        arg1: *const ::std::os::raw::c_char,
366        arg2: *mut FILE,
367        arg3: *mut FILE,
368        arg4: *mut FILE,
369        arg5: ::std::os::raw::c_int,
370        arg6: ::std::os::raw::c_int,
371        arg7: ::std::os::raw::c_int,
372    ) -> *mut EditLine;
373}
374unsafe extern "C" {
375    pub fn el_end(arg1: *mut EditLine);
376}
377unsafe extern "C" {
378    pub fn el_reset(arg1: *mut EditLine);
379}
380unsafe extern "C" {
381    pub fn el_gets(
382        arg1: *mut EditLine,
383        arg2: *mut ::std::os::raw::c_int,
384    ) -> *const ::std::os::raw::c_char;
385}
386unsafe extern "C" {
387    pub fn el_getc(arg1: *mut EditLine, arg2: *mut ::std::os::raw::c_char)
388        -> ::std::os::raw::c_int;
389}
390unsafe extern "C" {
391    pub fn el_push(arg1: *mut EditLine, arg2: *const ::std::os::raw::c_char);
392}
393unsafe extern "C" {
394    pub fn el_beep(arg1: *mut EditLine);
395}
396unsafe extern "C" {
397    pub fn el_parse(
398        arg1: *mut EditLine,
399        arg2: ::std::os::raw::c_int,
400        arg3: *mut *const ::std::os::raw::c_char,
401    ) -> ::std::os::raw::c_int;
402}
403unsafe extern "C" {
404    pub fn el_set(arg1: *mut EditLine, arg2: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
405}
406unsafe extern "C" {
407    pub fn el_get(arg1: *mut EditLine, arg2: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
408}
409unsafe extern "C" {
410    pub fn el_source(
411        arg1: *mut EditLine,
412        arg2: *const ::std::os::raw::c_char,
413    ) -> ::std::os::raw::c_int;
414}
415unsafe extern "C" {
416    pub fn el_resize(arg1: *mut EditLine);
417}
418unsafe extern "C" {
419    pub fn el_line(arg1: *mut EditLine) -> *const LineInfo;
420}
421unsafe extern "C" {
422    pub fn el_insertstr(
423        arg1: *mut EditLine,
424        arg2: *const ::std::os::raw::c_char,
425    ) -> ::std::os::raw::c_int;
426}
427unsafe extern "C" {
428    pub fn el_deletestr(arg1: *mut EditLine, arg2: ::std::os::raw::c_int);
429}
430unsafe extern "C" {
431    pub fn el_replacestr(
432        arg1: *mut EditLine,
433        arg2: *const ::std::os::raw::c_char,
434    ) -> ::std::os::raw::c_int;
435}
436unsafe extern "C" {
437    pub fn el_deletestr1(
438        arg1: *mut EditLine,
439        arg2: ::std::os::raw::c_int,
440        arg3: ::std::os::raw::c_int,
441    ) -> ::std::os::raw::c_int;
442}
443#[repr(C)]
444#[derive(Debug, Copy, Clone)]
445pub struct history {
446    _unused: [u8; 0],
447}
448pub type History = history;
449#[repr(C)]
450#[derive(Debug, Copy, Clone)]
451pub struct HistEvent {
452    pub num: ::std::os::raw::c_int,
453    pub str_: *const ::std::os::raw::c_char,
454}
455impl Default for HistEvent {
456    fn default() -> Self {
457        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
458        unsafe {
459            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
460            s.assume_init()
461        }
462    }
463}
464unsafe extern "C" {
465    pub fn history_init() -> *mut History;
466}
467unsafe extern "C" {
468    pub fn history_end(arg1: *mut History);
469}
470unsafe extern "C" {
471    pub fn history(
472        arg1: *mut History,
473        arg2: *mut HistEvent,
474        arg3: ::std::os::raw::c_int,
475        ...
476    ) -> ::std::os::raw::c_int;
477}
478#[repr(C)]
479#[derive(Debug, Copy, Clone)]
480pub struct tokenizer {
481    _unused: [u8; 0],
482}
483pub type Tokenizer = tokenizer;
484unsafe extern "C" {
485    pub fn tok_init(arg1: *const ::std::os::raw::c_char) -> *mut Tokenizer;
486}
487unsafe extern "C" {
488    pub fn tok_end(arg1: *mut Tokenizer);
489}
490unsafe extern "C" {
491    pub fn tok_reset(arg1: *mut Tokenizer);
492}
493unsafe extern "C" {
494    pub fn tok_line(
495        arg1: *mut Tokenizer,
496        arg2: *const LineInfo,
497        arg3: *mut ::std::os::raw::c_int,
498        arg4: *mut *mut *const ::std::os::raw::c_char,
499        arg5: *mut ::std::os::raw::c_int,
500        arg6: *mut ::std::os::raw::c_int,
501    ) -> ::std::os::raw::c_int;
502}
503unsafe extern "C" {
504    pub fn tok_str(
505        arg1: *mut Tokenizer,
506        arg2: *const ::std::os::raw::c_char,
507        arg3: *mut ::std::os::raw::c_int,
508        arg4: *mut *mut *const ::std::os::raw::c_char,
509    ) -> ::std::os::raw::c_int;
510}
511pub type wchar_t = ::std::os::raw::c_uint;
512#[repr(C)]
513#[derive(Debug, Copy, Clone)]
514pub struct lineinfow {
515    pub buffer: *const wchar_t,
516    pub cursor: *const wchar_t,
517    pub lastchar: *const wchar_t,
518}
519impl Default for lineinfow {
520    fn default() -> Self {
521        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
522        unsafe {
523            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
524            s.assume_init()
525        }
526    }
527}
528pub type LineInfoW = lineinfow;
529pub type el_rfunc_t = ::std::option::Option<
530    unsafe extern "C" fn(arg1: *mut EditLine, arg2: *mut wchar_t) -> ::std::os::raw::c_int,
531>;
532unsafe extern "C" {
533    pub fn el_wgets(arg1: *mut EditLine, arg2: *mut ::std::os::raw::c_int) -> *const wchar_t;
534}
535unsafe extern "C" {
536    pub fn el_wgetc(arg1: *mut EditLine, arg2: *mut wchar_t) -> ::std::os::raw::c_int;
537}
538unsafe extern "C" {
539    pub fn el_wpush(arg1: *mut EditLine, arg2: *const wchar_t);
540}
541unsafe extern "C" {
542    pub fn el_wparse(
543        arg1: *mut EditLine,
544        arg2: ::std::os::raw::c_int,
545        arg3: *mut *const wchar_t,
546    ) -> ::std::os::raw::c_int;
547}
548unsafe extern "C" {
549    pub fn el_wset(arg1: *mut EditLine, arg2: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
550}
551unsafe extern "C" {
552    pub fn el_wget(arg1: *mut EditLine, arg2: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int;
553}
554unsafe extern "C" {
555    pub fn el_cursor(arg1: *mut EditLine, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
556}
557unsafe extern "C" {
558    pub fn el_wline(arg1: *mut EditLine) -> *const LineInfoW;
559}
560unsafe extern "C" {
561    pub fn el_winsertstr(arg1: *mut EditLine, arg2: *const wchar_t) -> ::std::os::raw::c_int;
562}
563unsafe extern "C" {
564    pub fn el_wreplacestr(arg1: *mut EditLine, arg2: *const wchar_t) -> ::std::os::raw::c_int;
565}
566#[repr(C)]
567#[derive(Debug, Copy, Clone)]
568pub struct histeventW {
569    pub num: ::std::os::raw::c_int,
570    pub str_: *const wchar_t,
571}
572impl Default for histeventW {
573    fn default() -> Self {
574        let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
575        unsafe {
576            ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
577            s.assume_init()
578        }
579    }
580}
581pub type HistEventW = histeventW;
582#[repr(C)]
583#[derive(Debug, Copy, Clone)]
584pub struct historyW {
585    _unused: [u8; 0],
586}
587pub type HistoryW = historyW;
588unsafe extern "C" {
589    pub fn history_winit() -> *mut HistoryW;
590}
591unsafe extern "C" {
592    pub fn history_wend(arg1: *mut HistoryW);
593}
594unsafe extern "C" {
595    pub fn history_w(
596        arg1: *mut HistoryW,
597        arg2: *mut HistEventW,
598        arg3: ::std::os::raw::c_int,
599        ...
600    ) -> ::std::os::raw::c_int;
601}
602#[repr(C)]
603#[derive(Debug, Copy, Clone)]
604pub struct tokenizerW {
605    _unused: [u8; 0],
606}
607pub type TokenizerW = tokenizerW;
608unsafe extern "C" {
609    pub fn tok_winit(arg1: *const wchar_t) -> *mut TokenizerW;
610}
611unsafe extern "C" {
612    pub fn tok_wend(arg1: *mut TokenizerW);
613}
614unsafe extern "C" {
615    pub fn tok_wreset(arg1: *mut TokenizerW);
616}
617unsafe extern "C" {
618    pub fn tok_wline(
619        arg1: *mut TokenizerW,
620        arg2: *const LineInfoW,
621        arg3: *mut ::std::os::raw::c_int,
622        arg4: *mut *mut *const wchar_t,
623        arg5: *mut ::std::os::raw::c_int,
624        arg6: *mut ::std::os::raw::c_int,
625    ) -> ::std::os::raw::c_int;
626}
627unsafe extern "C" {
628    pub fn tok_wstr(
629        arg1: *mut TokenizerW,
630        arg2: *const wchar_t,
631        arg3: *mut ::std::os::raw::c_int,
632        arg4: *mut *mut *const wchar_t,
633    ) -> ::std::os::raw::c_int;
634}