rust-tcl-sys 0.2.0

Raw Tcl bindings for Rust, used internally rust-tcl
Documentation
/* automatically generated by rust-bindgen */

pub type __int8_t = ::libc::c_char;
pub type __uint8_t = ::libc::c_uchar;
pub type __int16_t = ::libc::c_short;
pub type __uint16_t = ::libc::c_ushort;
pub type __int32_t = ::libc::c_int;
pub type __uint32_t = ::libc::c_uint;
pub type __int64_t = ::libc::c_longlong;
pub type __uint64_t = ::libc::c_ulonglong;
pub type __darwin_intptr_t = ::libc::c_long;
pub type __darwin_natural_t = ::libc::c_uint;
pub type __darwin_ct_rune_t = ::libc::c_int;
#[repr(C)]
pub struct Union_Unnamed1 {
    pub _bindgen_data_: [u64; 16usize],
}
impl Union_Unnamed1 {
    pub unsafe fn __mbstate8(&mut self) -> *mut [::libc::c_char; 128usize] {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn _mbstateL(&mut self) -> *mut ::libc::c_longlong {
        ::std::mem::transmute(&self._bindgen_data_)
    }
}
impl ::std::default::Default for Union_Unnamed1 {
    fn default() -> Union_Unnamed1 { unsafe { ::std::mem::zeroed() } }
}
pub type __mbstate_t = Union_Unnamed1;
pub type __darwin_mbstate_t = __mbstate_t;
pub type __darwin_ptrdiff_t = ::libc::c_long;
pub type __darwin_size_t = ::libc::c_ulong;
//pub type __darwin_va_list = __builtin_va_list;
pub type __darwin_wchar_t = ::libc::c_int;
pub type __darwin_rune_t = __darwin_wchar_t;
pub type __darwin_wint_t = ::libc::c_int;
pub type __darwin_clock_t = ::libc::c_ulong;
pub type __darwin_socklen_t = __uint32_t;
pub type __darwin_ssize_t = ::libc::c_long;
pub type __darwin_time_t = ::libc::c_long;
pub type __darwin_blkcnt_t = __int64_t;
pub type __darwin_blksize_t = __int32_t;
pub type __darwin_dev_t = __int32_t;
pub type __darwin_fsblkcnt_t = ::libc::c_uint;
pub type __darwin_fsfilcnt_t = ::libc::c_uint;
pub type __darwin_gid_t = __uint32_t;
pub type __darwin_id_t = __uint32_t;
pub type __darwin_ino64_t = __uint64_t;
pub type __darwin_ino_t = __darwin_ino64_t;
pub type __darwin_mach_port_name_t = __darwin_natural_t;
pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
pub type __darwin_mode_t = __uint16_t;
pub type __darwin_off_t = __int64_t;
pub type __darwin_pid_t = __int32_t;
pub type __darwin_sigset_t = __uint32_t;
pub type __darwin_suseconds_t = __int32_t;
pub type __darwin_uid_t = __uint32_t;
pub type __darwin_useconds_t = __uint32_t;
pub type __darwin_uuid_t = [::libc::c_uchar; 16usize];
pub type __darwin_uuid_string_t = [::libc::c_char; 37usize];
#[repr(C)]
pub struct Struct___darwin_pthread_handler_rec {
    pub __routine: ::std::option::Option<extern "C" fn
                                             (arg1: *mut ::libc::c_void)
                                             -> ()>,
    pub __arg: *mut ::libc::c_void,
    pub __next: *mut Struct___darwin_pthread_handler_rec,
}
impl ::std::default::Default for Struct___darwin_pthread_handler_rec {
    fn default() -> Struct___darwin_pthread_handler_rec {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
pub struct Struct__opaque_pthread_attr_t {
    pub __sig: ::libc::c_long,
    pub __opaque: [::libc::c_char; 56usize],
}
impl ::std::default::Default for Struct__opaque_pthread_attr_t {
    fn default() -> Struct__opaque_pthread_attr_t {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
pub struct Struct__opaque_pthread_cond_t {
    pub __sig: ::libc::c_long,
    pub __opaque: [::libc::c_char; 40usize],
}
impl ::std::default::Default for Struct__opaque_pthread_cond_t {
    fn default() -> Struct__opaque_pthread_cond_t {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
pub struct Struct__opaque_pthread_condattr_t {
    pub __sig: ::libc::c_long,
    pub __opaque: [::libc::c_char; 8usize],
}
impl ::std::default::Default for Struct__opaque_pthread_condattr_t {
    fn default() -> Struct__opaque_pthread_condattr_t {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
pub struct Struct__opaque_pthread_mutex_t {
    pub __sig: ::libc::c_long,
    pub __opaque: [::libc::c_char; 56usize],
}
impl ::std::default::Default for Struct__opaque_pthread_mutex_t {
    fn default() -> Struct__opaque_pthread_mutex_t {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
pub struct Struct__opaque_pthread_mutexattr_t {
    pub __sig: ::libc::c_long,
    pub __opaque: [::libc::c_char; 8usize],
}
impl ::std::default::Default for Struct__opaque_pthread_mutexattr_t {
    fn default() -> Struct__opaque_pthread_mutexattr_t {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
pub struct Struct__opaque_pthread_once_t {
    pub __sig: ::libc::c_long,
    pub __opaque: [::libc::c_char; 8usize],
}
impl ::std::default::Default for Struct__opaque_pthread_once_t {
    fn default() -> Struct__opaque_pthread_once_t {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
pub struct Struct__opaque_pthread_rwlock_t {
    pub __sig: ::libc::c_long,
    pub __opaque: [::libc::c_char; 192usize],
}
impl ::std::default::Default for Struct__opaque_pthread_rwlock_t {
    fn default() -> Struct__opaque_pthread_rwlock_t {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
pub struct Struct__opaque_pthread_rwlockattr_t {
    pub __sig: ::libc::c_long,
    pub __opaque: [::libc::c_char; 16usize],
}
impl ::std::default::Default for Struct__opaque_pthread_rwlockattr_t {
    fn default() -> Struct__opaque_pthread_rwlockattr_t {
        unsafe { ::std::mem::zeroed() }
    }
}
#[repr(C)]
pub struct Struct__opaque_pthread_t {
    pub __sig: ::libc::c_long,
    pub __cleanup_stack: *mut Struct___darwin_pthread_handler_rec,
    pub __opaque: [::libc::c_char; 8176usize],
}
impl ::std::default::Default for Struct__opaque_pthread_t {
    fn default() -> Struct__opaque_pthread_t {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type __darwin_pthread_attr_t = Struct__opaque_pthread_attr_t;
pub type __darwin_pthread_cond_t = Struct__opaque_pthread_cond_t;
pub type __darwin_pthread_condattr_t = Struct__opaque_pthread_condattr_t;
pub type __darwin_pthread_key_t = ::libc::c_ulong;
pub type __darwin_pthread_mutex_t = Struct__opaque_pthread_mutex_t;
pub type __darwin_pthread_mutexattr_t = Struct__opaque_pthread_mutexattr_t;
pub type __darwin_pthread_once_t = Struct__opaque_pthread_once_t;
pub type __darwin_pthread_rwlock_t = Struct__opaque_pthread_rwlock_t;
pub type __darwin_pthread_rwlockattr_t = Struct__opaque_pthread_rwlockattr_t;
pub type __darwin_pthread_t = *mut Struct__opaque_pthread_t;
pub type __darwin_nl_item = ::libc::c_int;
pub type __darwin_wctrans_t = ::libc::c_int;
pub type __darwin_wctype_t = __uint32_t;
//pub type va_list = __builtin_va_list;
pub type size_t = __darwin_size_t;
pub type fpos_t = __darwin_off_t;
#[repr(C)]
pub struct Struct___sbuf {
    pub _base: *mut ::libc::c_uchar,
    pub _size: ::libc::c_int,
}
impl ::std::default::Default for Struct___sbuf {
    fn default() -> Struct___sbuf { unsafe { ::std::mem::zeroed() } }
}
pub enum Struct___sFILEX { }
#[repr(C)]
pub struct Struct___sFILE {
    pub _p: *mut ::libc::c_uchar,
    pub _r: ::libc::c_int,
    pub _w: ::libc::c_int,
    pub _flags: ::libc::c_short,
    pub _file: ::libc::c_short,
    pub _bf: Struct___sbuf,
    pub _lbfsize: ::libc::c_int,
    pub _cookie: *mut ::libc::c_void,
    pub _close: ::std::option::Option<extern "C" fn(arg1: *mut ::libc::c_void)
                                          -> ::libc::c_int>,
    pub _read: ::std::option::Option<extern "C" fn
                                         (arg1: *mut ::libc::c_void,
                                          arg2: *mut ::libc::c_char,
                                          arg3: ::libc::c_int)
                                         -> ::libc::c_int>,
    pub _seek: ::std::option::Option<extern "C" fn
                                         (arg1: *mut ::libc::c_void,
                                          arg2: fpos_t, arg3: ::libc::c_int)
                                         -> fpos_t>,
    pub _write: ::std::option::Option<extern "C" fn
                                          (arg1: *mut ::libc::c_void,
                                           arg2: *const ::libc::c_char,
                                           arg3: ::libc::c_int)
                                          -> ::libc::c_int>,
    pub _ub: Struct___sbuf,
    pub _extra: *mut Struct___sFILEX,
    pub _ur: ::libc::c_int,
    pub _ubuf: [::libc::c_uchar; 3usize],
    pub _nbuf: [::libc::c_uchar; 1usize],
    pub _lb: Struct___sbuf,
    pub _blksize: ::libc::c_int,
    pub _offset: fpos_t,
}
impl ::std::default::Default for Struct___sFILE {
    fn default() -> Struct___sFILE { unsafe { ::std::mem::zeroed() } }
}
pub type FILE = Struct___sFILE;
pub type off_t = __darwin_off_t;
pub type ssize_t = __darwin_ssize_t;
//pub type __gnuc_va_list = __builtin_va_list;
pub type ClientData = *mut ::libc::c_void;
pub type Tcl_WideInt = ::libc::c_long;
pub type Tcl_WideUInt = ::libc::c_ulong;
pub enum Struct_stat { }
pub type Tcl_StatBuf = Struct_stat;
#[repr(C)]
pub struct Struct_Tcl_Interp {
    pub resultDontUse: *mut ::libc::c_char,
    pub freeProcDontUse: ::std::option::Option<extern "C" fn
                                                   (arg1: *mut ::libc::c_char)
                                                   -> ()>,
    pub errorLineDontUse: ::libc::c_int,
}
impl ::std::default::Default for Struct_Tcl_Interp {
    fn default() -> Struct_Tcl_Interp { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_Interp = Struct_Tcl_Interp;
pub enum Struct_Tcl_AsyncHandler_ { }
pub type Tcl_AsyncHandler = *mut Struct_Tcl_AsyncHandler_;
pub enum Struct_Tcl_Channel_ { }
pub type Tcl_Channel = *mut Struct_Tcl_Channel_;
pub enum Struct_Tcl_ChannelTypeVersion_ { }
pub type Tcl_ChannelTypeVersion = *mut Struct_Tcl_ChannelTypeVersion_;
pub enum Struct_Tcl_Command_ { }
pub type Tcl_Command = *mut Struct_Tcl_Command_;
pub enum Struct_Tcl_Condition_ { }
pub type Tcl_Condition = *mut Struct_Tcl_Condition_;
pub enum Struct_Tcl_Dict_ { }
pub type Tcl_Dict = *mut Struct_Tcl_Dict_;
pub enum Struct_Tcl_EncodingState_ { }
pub type Tcl_EncodingState = *mut Struct_Tcl_EncodingState_;
pub enum Struct_Tcl_Encoding_ { }
pub type Tcl_Encoding = *mut Struct_Tcl_Encoding_;
pub type Tcl_Event = Struct_Tcl_Event;
pub enum Struct_Tcl_InterpState_ { }
pub type Tcl_InterpState = *mut Struct_Tcl_InterpState_;
pub enum Struct_Tcl_LoadHandle_ { }
pub type Tcl_LoadHandle = *mut Struct_Tcl_LoadHandle_;
pub enum Struct_Tcl_Mutex_ { }
pub type Tcl_Mutex = *mut Struct_Tcl_Mutex_;
pub enum Struct_Tcl_Pid_ { }
pub type Tcl_Pid = *mut Struct_Tcl_Pid_;
pub enum Struct_Tcl_RegExp_ { }
pub type Tcl_RegExp = *mut Struct_Tcl_RegExp_;
pub enum Struct_Tcl_ThreadDataKey_ { }
pub type Tcl_ThreadDataKey = *mut Struct_Tcl_ThreadDataKey_;
pub enum Struct_Tcl_ThreadId_ { }
pub type Tcl_ThreadId = *mut Struct_Tcl_ThreadId_;
pub enum Struct_Tcl_TimerToken_ { }
pub type Tcl_TimerToken = *mut Struct_Tcl_TimerToken_;
pub enum Struct_Tcl_Trace_ { }
pub type Tcl_Trace = *mut Struct_Tcl_Trace_;
pub enum Struct_Tcl_Var_ { }
pub type Tcl_Var = *mut Struct_Tcl_Var_;
pub enum Struct_Tcl_ZLibStream_ { }
pub type Tcl_ZlibStream = *mut Struct_Tcl_ZLibStream_;
pub type Tcl_ThreadCreateProc = extern "C" fn(clientData: ClientData) -> ();
#[repr(C)]
pub struct Struct_Tcl_RegExpIndices {
    pub start: ::libc::c_long,
    pub end: ::libc::c_long,
}
impl ::std::default::Default for Struct_Tcl_RegExpIndices {
    fn default() -> Struct_Tcl_RegExpIndices {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type Tcl_RegExpIndices = Struct_Tcl_RegExpIndices;
#[repr(C)]
pub struct Struct_Tcl_RegExpInfo {
    pub nsubs: ::libc::c_int,
    pub matches: *mut Tcl_RegExpIndices,
    pub extendStart: ::libc::c_long,
    pub reserved: ::libc::c_long,
}
impl ::std::default::Default for Struct_Tcl_RegExpInfo {
    fn default() -> Struct_Tcl_RegExpInfo { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_RegExpInfo = Struct_Tcl_RegExpInfo;
pub type Tcl_Stat_ = *mut Tcl_StatBuf;
pub type Tcl_OldStat_ = *mut Struct_stat;
pub type Enum_Unnamed2 = ::libc::c_uint;
pub const TCL_INT: ::libc::c_uint = 0;
pub const TCL_DOUBLE: ::libc::c_uint = 1;
pub const TCL_EITHER: ::libc::c_uint = 2;
pub const TCL_WIDE_INT: ::libc::c_uint = 3;
pub type Tcl_ValueType = Enum_Unnamed2;
#[repr(C)]
pub struct Struct_Tcl_Value {
    pub _type: Tcl_ValueType,
    pub intValue: ::libc::c_long,
    pub doubleValue: ::libc::c_double,
    pub wideValue: Tcl_WideInt,
}
impl ::std::default::Default for Struct_Tcl_Value {
    fn default() -> Struct_Tcl_Value { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_Value = Struct_Tcl_Value;
pub type Tcl_AppInitProc =
    extern "C" fn(interp: *mut Tcl_Interp) -> ::libc::c_int;
pub type Tcl_AsyncProc =
    extern "C" fn
        (clientData: ClientData, interp: *mut Tcl_Interp, code: ::libc::c_int)
        -> ::libc::c_int;
pub type Tcl_ChannelProc =
    extern "C" fn(clientData: ClientData, mask: ::libc::c_int) -> ();
pub type Tcl_CloseProc = extern "C" fn(data: ClientData) -> ();
pub type Tcl_CmdDeleteProc = extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_CmdProc =
    extern "C" fn
        (clientData: ClientData, interp: *mut Tcl_Interp, argc: ::libc::c_int,
         argv: *mut *const ::libc::c_char) -> ::libc::c_int;
pub type Tcl_CmdTraceProc =
    extern "C" fn
        (clientData: ClientData, interp: *mut Tcl_Interp,
         level: ::libc::c_int, command: *mut ::libc::c_char,
         _proc: *mut Tcl_CmdProc, cmdClientData: ClientData,
         argc: ::libc::c_int, argv: *mut *const ::libc::c_char) -> ();
pub type Tcl_CmdObjTraceProc =
    extern "C" fn
        (clientData: ClientData, interp: *mut Tcl_Interp,
         level: ::libc::c_int, command: *const ::libc::c_char,
         commandInfo: Tcl_Command, objc: ::libc::c_int,
         objv: *const *mut Struct_Tcl_Obj) -> ::libc::c_int;
pub type Tcl_CmdObjTraceDeleteProc =
    extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_DupInternalRepProc =
    extern "C" fn(srcPtr: *mut Struct_Tcl_Obj, dupPtr: *mut Struct_Tcl_Obj)
        -> ();
pub type Tcl_EncodingConvertProc =
    extern "C" fn
        (clientData: ClientData, src: *const ::libc::c_char,
         srcLen: ::libc::c_int, flags: ::libc::c_int,
         statePtr: *mut Tcl_EncodingState, dst: *mut ::libc::c_char,
         dstLen: ::libc::c_int, srcReadPtr: *mut ::libc::c_int,
         dstWrotePtr: *mut ::libc::c_int, dstCharsPtr: *mut ::libc::c_int)
        -> ::libc::c_int;
pub type Tcl_EncodingFreeProc = extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_EventProc =
    extern "C" fn(evPtr: *mut Tcl_Event, flags: ::libc::c_int)
        -> ::libc::c_int;
pub type Tcl_EventCheckProc =
    extern "C" fn(clientData: ClientData, flags: ::libc::c_int) -> ();
pub type Tcl_EventDeleteProc =
    extern "C" fn(evPtr: *mut Tcl_Event, clientData: ClientData)
        -> ::libc::c_int;
pub type Tcl_EventSetupProc =
    extern "C" fn(clientData: ClientData, flags: ::libc::c_int) -> ();
pub type Tcl_ExitProc = extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_FileProc =
    extern "C" fn(clientData: ClientData, mask: ::libc::c_int) -> ();
pub type Tcl_FileFreeProc = extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_FreeInternalRepProc =
    extern "C" fn(objPtr: *mut Struct_Tcl_Obj) -> ();
pub type Tcl_FreeProc = extern "C" fn(blockPtr: *mut ::libc::c_char) -> ();
pub type Tcl_IdleProc = extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_InterpDeleteProc =
    extern "C" fn(clientData: ClientData, interp: *mut Tcl_Interp) -> ();
pub type Tcl_MathProc =
    extern "C" fn
        (clientData: ClientData, interp: *mut Tcl_Interp,
         args: *mut Tcl_Value, resultPtr: *mut Tcl_Value) -> ::libc::c_int;
pub type Tcl_NamespaceDeleteProc =
    extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_ObjCmdProc =
    extern "C" fn
        (clientData: ClientData, interp: *mut Tcl_Interp, objc: ::libc::c_int,
         objv: *const *mut Struct_Tcl_Obj) -> ::libc::c_int;
pub type Tcl_PackageInitProc =
    extern "C" fn(interp: *mut Tcl_Interp) -> ::libc::c_int;
pub type Tcl_PackageUnloadProc =
    extern "C" fn(interp: *mut Tcl_Interp, flags: ::libc::c_int)
        -> ::libc::c_int;
pub type Tcl_PanicProc =
    extern "C" fn(format: *const ::libc::c_char, ...) -> ();
pub type Tcl_TcpAcceptProc =
    extern "C" fn
        (callbackData: ClientData, chan: Tcl_Channel,
         address: *mut ::libc::c_char, port: ::libc::c_int) -> ();
pub type Tcl_TimerProc = extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_SetFromAnyProc =
    extern "C" fn(interp: *mut Tcl_Interp, objPtr: *mut Struct_Tcl_Obj)
        -> ::libc::c_int;
pub type Tcl_UpdateStringProc =
    extern "C" fn(objPtr: *mut Struct_Tcl_Obj) -> ();
pub type Tcl_VarTraceProc =
    extern "C" fn
        (clientData: ClientData, interp: *mut Tcl_Interp,
         part1: *const ::libc::c_char, part2: *const ::libc::c_char,
         flags: ::libc::c_int) -> *mut ::libc::c_char;
pub type Tcl_CommandTraceProc =
    extern "C" fn
        (clientData: ClientData, interp: *mut Tcl_Interp,
         oldName: *const ::libc::c_char, newName: *const ::libc::c_char,
         flags: ::libc::c_int) -> ();
pub type Tcl_CreateFileHandlerProc =
    extern "C" fn
        (fd: ::libc::c_int, mask: ::libc::c_int, _proc: *mut Tcl_FileProc,
         clientData: ClientData) -> ();
pub type Tcl_DeleteFileHandlerProc = extern "C" fn(fd: ::libc::c_int) -> ();
pub type Tcl_AlertNotifierProc = extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_ServiceModeHookProc = extern "C" fn(mode: ::libc::c_int) -> ();
pub type Tcl_InitNotifierProc = extern "C" fn() -> *mut ::libc::c_void;
pub type Tcl_FinalizeNotifierProc =
    extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_MainLoopProc = extern "C" fn() -> ();
#[repr(C)]
pub struct Struct_Tcl_ObjType {
    pub name: *const ::libc::c_char,
    pub freeIntRepProc: *mut Tcl_FreeInternalRepProc,
    pub dupIntRepProc: *mut Tcl_DupInternalRepProc,
    pub updateStringProc: *mut Tcl_UpdateStringProc,
    pub setFromAnyProc: *mut Tcl_SetFromAnyProc,
}
impl ::std::default::Default for Struct_Tcl_ObjType {
    fn default() -> Struct_Tcl_ObjType { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_ObjType = Struct_Tcl_ObjType;
#[repr(C)]
pub struct Struct_Tcl_Obj {
    pub refCount: ::libc::c_int,
    pub bytes: *mut ::libc::c_char,
    pub length: ::libc::c_int,
    pub typePtr: *const Tcl_ObjType,
    pub internalRep: Union_Unnamed3,
}
impl ::std::default::Default for Struct_Tcl_Obj {
    fn default() -> Struct_Tcl_Obj { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
pub struct Union_Unnamed3 {
    pub _bindgen_data_: [u64; 2usize],
}
impl Union_Unnamed3 {
    pub unsafe fn longValue(&mut self) -> *mut ::libc::c_long {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn doubleValue(&mut self) -> *mut ::libc::c_double {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn otherValuePtr(&mut self) -> *mut *mut ::libc::c_void {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn wideValue(&mut self) -> *mut Tcl_WideInt {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn twoPtrValue(&mut self) -> *mut Struct_Unnamed4 {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn ptrAndLongRep(&mut self) -> *mut Struct_Unnamed5 {
        ::std::mem::transmute(&self._bindgen_data_)
    }
}
impl ::std::default::Default for Union_Unnamed3 {
    fn default() -> Union_Unnamed3 { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
pub struct Struct_Unnamed4 {
    pub ptr1: *mut ::libc::c_void,
    pub ptr2: *mut ::libc::c_void,
}
impl ::std::default::Default for Struct_Unnamed4 {
    fn default() -> Struct_Unnamed4 { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
pub struct Struct_Unnamed5 {
    pub ptr: *mut ::libc::c_void,
    pub value: ::libc::c_ulong,
}
impl ::std::default::Default for Struct_Unnamed5 {
    fn default() -> Struct_Unnamed5 { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_Obj = Struct_Tcl_Obj;
#[repr(C)]
pub struct Struct_Tcl_SavedResult {
    pub result: *mut ::libc::c_char,
    pub freeProc: *mut Tcl_FreeProc,
    pub objResultPtr: *mut Tcl_Obj,
    pub appendResult: *mut ::libc::c_char,
    pub appendAvl: ::libc::c_int,
    pub appendUsed: ::libc::c_int,
    pub resultSpace: [::libc::c_char; 201usize],
}
impl ::std::default::Default for Struct_Tcl_SavedResult {
    fn default() -> Struct_Tcl_SavedResult { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_SavedResult = Struct_Tcl_SavedResult;
#[repr(C)]
pub struct Struct_Tcl_Namespace {
    pub name: *mut ::libc::c_char,
    pub fullName: *mut ::libc::c_char,
    pub clientData: ClientData,
    pub deleteProc: *mut Tcl_NamespaceDeleteProc,
    pub parentPtr: *mut Struct_Tcl_Namespace,
}
impl ::std::default::Default for Struct_Tcl_Namespace {
    fn default() -> Struct_Tcl_Namespace { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_Namespace = Struct_Tcl_Namespace;
#[repr(C)]
pub struct Struct_Tcl_CallFrame {
    pub nsPtr: *mut Tcl_Namespace,
    pub dummy1: ::libc::c_int,
    pub dummy2: ::libc::c_int,
    pub dummy3: *mut ::libc::c_void,
    pub dummy4: *mut ::libc::c_void,
    pub dummy5: *mut ::libc::c_void,
    pub dummy6: ::libc::c_int,
    pub dummy7: *mut ::libc::c_void,
    pub dummy8: *mut ::libc::c_void,
    pub dummy9: ::libc::c_int,
    pub dummy10: *mut ::libc::c_void,
    pub dummy11: *mut ::libc::c_void,
    pub dummy12: *mut ::libc::c_void,
    pub dummy13: *mut ::libc::c_void,
}
impl ::std::default::Default for Struct_Tcl_CallFrame {
    fn default() -> Struct_Tcl_CallFrame { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_CallFrame = Struct_Tcl_CallFrame;
#[repr(C)]
pub struct Struct_Tcl_CmdInfo {
    pub isNativeObjectProc: ::libc::c_int,
    pub objProc: *mut Tcl_ObjCmdProc,
    pub objClientData: ClientData,
    pub _proc: *mut Tcl_CmdProc,
    pub clientData: ClientData,
    pub deleteProc: *mut Tcl_CmdDeleteProc,
    pub deleteData: ClientData,
    pub namespacePtr: *mut Tcl_Namespace,
}
impl ::std::default::Default for Struct_Tcl_CmdInfo {
    fn default() -> Struct_Tcl_CmdInfo { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_CmdInfo = Struct_Tcl_CmdInfo;
#[repr(C)]
pub struct Struct_Tcl_DString {
    pub string: *mut ::libc::c_char,
    pub length: ::libc::c_int,
    pub spaceAvl: ::libc::c_int,
    pub staticSpace: [::libc::c_char; 200usize],
}
impl ::std::default::Default for Struct_Tcl_DString {
    fn default() -> Struct_Tcl_DString { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_DString = Struct_Tcl_DString;
pub type Tcl_HashKeyType = Struct_Tcl_HashKeyType;
pub type Tcl_HashTable = Struct_Tcl_HashTable;
pub type Tcl_HashEntry = Struct_Tcl_HashEntry;
pub type Tcl_HashKeyProc =
    extern "C" fn(tablePtr: *mut Tcl_HashTable, keyPtr: *mut ::libc::c_void)
        -> ::libc::c_uint;
pub type Tcl_CompareHashKeysProc =
    extern "C" fn(keyPtr: *mut ::libc::c_void, hPtr: *mut Tcl_HashEntry)
        -> ::libc::c_int;
pub type Tcl_AllocHashEntryProc =
    extern "C" fn(tablePtr: *mut Tcl_HashTable, keyPtr: *mut ::libc::c_void)
        -> *mut Struct_Tcl_HashEntry;
pub type Tcl_FreeHashEntryProc =
    extern "C" fn(hPtr: *mut Tcl_HashEntry) -> ();
#[repr(C)]
pub struct Struct_Tcl_HashEntry {
    pub nextPtr: *mut Tcl_HashEntry,
    pub tablePtr: *mut Tcl_HashTable,
    pub hash: *mut ::libc::c_void,
    pub clientData: ClientData,
    pub key: Union_Unnamed6,
}
impl ::std::default::Default for Struct_Tcl_HashEntry {
    fn default() -> Struct_Tcl_HashEntry { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
pub struct Union_Unnamed6 {
    pub _bindgen_data_: [u64; 1usize],
}
impl Union_Unnamed6 {
    pub unsafe fn oneWordValue(&mut self) -> *mut *mut ::libc::c_char {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn objPtr(&mut self) -> *mut *mut Tcl_Obj {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn words(&mut self) -> *mut [::libc::c_int; 1usize] {
        ::std::mem::transmute(&self._bindgen_data_)
    }
    pub unsafe fn string(&mut self) -> *mut [::libc::c_char; 1usize] {
        ::std::mem::transmute(&self._bindgen_data_)
    }
}
impl ::std::default::Default for Union_Unnamed6 {
    fn default() -> Union_Unnamed6 { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
pub struct Struct_Tcl_HashKeyType {
    pub version: ::libc::c_int,
    pub flags: ::libc::c_int,
    pub hashKeyProc: *mut Tcl_HashKeyProc,
    pub compareKeysProc: *mut Tcl_CompareHashKeysProc,
    pub allocEntryProc: *mut Tcl_AllocHashEntryProc,
    pub freeEntryProc: *mut Tcl_FreeHashEntryProc,
}
impl ::std::default::Default for Struct_Tcl_HashKeyType {
    fn default() -> Struct_Tcl_HashKeyType { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
pub struct Struct_Tcl_HashTable {
    pub buckets: *mut *mut Tcl_HashEntry,
    pub staticBuckets: [*mut Tcl_HashEntry; 4usize],
    pub numBuckets: ::libc::c_int,
    pub numEntries: ::libc::c_int,
    pub rebuildSize: ::libc::c_int,
    pub downShift: ::libc::c_int,
    pub mask: ::libc::c_int,
    pub keyType: ::libc::c_int,
    pub findProc: ::std::option::Option<extern "C" fn
                                            (tablePtr: *mut Tcl_HashTable,
                                             key: *const ::libc::c_char)
                                            -> *mut Tcl_HashEntry>,
    pub createProc: ::std::option::Option<extern "C" fn
                                              (tablePtr: *mut Tcl_HashTable,
                                               key: *const ::libc::c_char,
                                               newPtr: *mut ::libc::c_int)
                                              -> *mut Tcl_HashEntry>,
    pub typePtr: *const Tcl_HashKeyType,
}
impl ::std::default::Default for Struct_Tcl_HashTable {
    fn default() -> Struct_Tcl_HashTable { unsafe { ::std::mem::zeroed() } }
}
#[repr(C)]
pub struct Struct_Tcl_HashSearch {
    pub tablePtr: *mut Tcl_HashTable,
    pub nextIndex: ::libc::c_int,
    pub nextEntryPtr: *mut Tcl_HashEntry,
}
impl ::std::default::Default for Struct_Tcl_HashSearch {
    fn default() -> Struct_Tcl_HashSearch { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_HashSearch = Struct_Tcl_HashSearch;
#[repr(C)]
pub struct Struct_Unnamed7 {
    pub next: *mut ::libc::c_void,
    pub epoch: ::libc::c_int,
    pub dictionaryPtr: Tcl_Dict,
}
impl ::std::default::Default for Struct_Unnamed7 {
    fn default() -> Struct_Unnamed7 { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_DictSearch = Struct_Unnamed7;
#[repr(C)]
pub struct Struct_Tcl_Event {
    pub _proc: *mut Tcl_EventProc,
    pub nextPtr: *mut Struct_Tcl_Event,
}
impl ::std::default::Default for Struct_Tcl_Event {
    fn default() -> Struct_Tcl_Event { unsafe { ::std::mem::zeroed() } }
}
pub type Enum_Unnamed8 = ::libc::c_uint;
pub const TCL_QUEUE_TAIL: ::libc::c_uint = 0;
pub const TCL_QUEUE_HEAD: ::libc::c_uint = 1;
pub const TCL_QUEUE_MARK: ::libc::c_uint = 2;
pub type Tcl_QueuePosition = Enum_Unnamed8;
#[repr(C)]
pub struct Struct_Tcl_Time {
    pub sec: ::libc::c_long,
    pub usec: ::libc::c_long,
}
impl ::std::default::Default for Struct_Tcl_Time {
    fn default() -> Struct_Tcl_Time { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_Time = Struct_Tcl_Time;
pub type Tcl_SetTimerProc = extern "C" fn(timePtr: *const Tcl_Time) -> ();
pub type Tcl_WaitForEventProc =
    extern "C" fn(timePtr: *const Tcl_Time) -> ::libc::c_int;
pub type Tcl_GetTimeProc =
    extern "C" fn(timebuf: *mut Tcl_Time, clientData: ClientData) -> ();
pub type Tcl_ScaleTimeProc =
    extern "C" fn(timebuf: *mut Tcl_Time, clientData: ClientData) -> ();
pub type Tcl_DriverBlockModeProc =
    extern "C" fn(instanceData: ClientData, mode: ::libc::c_int)
        -> ::libc::c_int;
pub type Tcl_DriverCloseProc =
    extern "C" fn(instanceData: ClientData, interp: *mut Tcl_Interp)
        -> ::libc::c_int;
pub type Tcl_DriverClose2Proc =
    extern "C" fn
        (instanceData: ClientData, interp: *mut Tcl_Interp,
         flags: ::libc::c_int) -> ::libc::c_int;
pub type Tcl_DriverInputProc =
    extern "C" fn
        (instanceData: ClientData, buf: *mut ::libc::c_char,
         toRead: ::libc::c_int, errorCodePtr: *mut ::libc::c_int)
        -> ::libc::c_int;
pub type Tcl_DriverOutputProc =
    extern "C" fn
        (instanceData: ClientData, buf: *const ::libc::c_char,
         toWrite: ::libc::c_int, errorCodePtr: *mut ::libc::c_int)
        -> ::libc::c_int;
pub type Tcl_DriverSeekProc =
    extern "C" fn
        (instanceData: ClientData, offset: ::libc::c_long,
         mode: ::libc::c_int, errorCodePtr: *mut ::libc::c_int)
        -> ::libc::c_int;
pub type Tcl_DriverSetOptionProc =
    extern "C" fn
        (instanceData: ClientData, interp: *mut Tcl_Interp,
         optionName: *const ::libc::c_char, value: *const ::libc::c_char)
        -> ::libc::c_int;
pub type Tcl_DriverGetOptionProc =
    extern "C" fn
        (instanceData: ClientData, interp: *mut Tcl_Interp,
         optionName: *const ::libc::c_char, dsPtr: *mut Tcl_DString)
        -> ::libc::c_int;
pub type Tcl_DriverWatchProc =
    extern "C" fn(instanceData: ClientData, mask: ::libc::c_int) -> ();
pub type Tcl_DriverGetHandleProc =
    extern "C" fn
        (instanceData: ClientData, direction: ::libc::c_int,
         handlePtr: *mut ClientData) -> ::libc::c_int;
pub type Tcl_DriverFlushProc =
    extern "C" fn(instanceData: ClientData) -> ::libc::c_int;
pub type Tcl_DriverHandlerProc =
    extern "C" fn(instanceData: ClientData, interestMask: ::libc::c_int)
        -> ::libc::c_int;
pub type Tcl_DriverWideSeekProc =
    extern "C" fn
        (instanceData: ClientData, offset: Tcl_WideInt, mode: ::libc::c_int,
         errorCodePtr: *mut ::libc::c_int) -> ::libc::c_long;
pub type Tcl_DriverThreadActionProc =
    extern "C" fn(instanceData: ClientData, action: ::libc::c_int) -> ();
pub type Tcl_DriverTruncateProc =
    extern "C" fn(instanceData: ClientData, length: Tcl_WideInt)
        -> ::libc::c_int;
#[repr(C)]
pub struct Struct_Tcl_ChannelType {
    pub typeName: *const ::libc::c_char,
    pub version: Tcl_ChannelTypeVersion,
    pub closeProc: *mut Tcl_DriverCloseProc,
    pub inputProc: *mut Tcl_DriverInputProc,
    pub outputProc: *mut Tcl_DriverOutputProc,
    pub seekProc: *mut Tcl_DriverSeekProc,
    pub setOptionProc: *mut Tcl_DriverSetOptionProc,
    pub getOptionProc: *mut Tcl_DriverGetOptionProc,
    pub watchProc: *mut Tcl_DriverWatchProc,
    pub getHandleProc: *mut Tcl_DriverGetHandleProc,
    pub close2Proc: *mut Tcl_DriverClose2Proc,
    pub blockModeProc: *mut Tcl_DriverBlockModeProc,
    pub flushProc: *mut Tcl_DriverFlushProc,
    pub handlerProc: *mut Tcl_DriverHandlerProc,
    pub wideSeekProc: *mut Tcl_DriverWideSeekProc,
    pub threadActionProc: *mut Tcl_DriverThreadActionProc,
    pub truncateProc: *mut Tcl_DriverTruncateProc,
}
impl ::std::default::Default for Struct_Tcl_ChannelType {
    fn default() -> Struct_Tcl_ChannelType { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_ChannelType = Struct_Tcl_ChannelType;
pub type Enum_Tcl_PathType = ::libc::c_uint;
pub const TCL_PATH_ABSOLUTE: ::libc::c_uint = 0;
pub const TCL_PATH_RELATIVE: ::libc::c_uint = 1;
pub const TCL_PATH_VOLUME_RELATIVE: ::libc::c_uint = 2;
pub type Tcl_PathType = Enum_Tcl_PathType;
#[repr(C)]
pub struct Struct_Tcl_GlobTypeData {
    pub _type: ::libc::c_int,
    pub perm: ::libc::c_int,
    pub macType: *mut Tcl_Obj,
    pub macCreator: *mut Tcl_Obj,
}
impl ::std::default::Default for Struct_Tcl_GlobTypeData {
    fn default() -> Struct_Tcl_GlobTypeData {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type Tcl_GlobTypeData = Struct_Tcl_GlobTypeData;
pub type Tcl_FSStatProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj, buf: *mut Tcl_StatBuf)
        -> ::libc::c_int;
pub type Tcl_FSAccessProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj, mode: ::libc::c_int)
        -> ::libc::c_int;
pub type Tcl_FSOpenFileChannelProc =
    extern "C" fn
        (interp: *mut Tcl_Interp, pathPtr: *mut Tcl_Obj, mode: ::libc::c_int,
         permissions: ::libc::c_int) -> *mut Struct_Tcl_Channel_;
pub type Tcl_FSMatchInDirectoryProc =
    extern "C" fn
        (interp: *mut Tcl_Interp, result: *mut Tcl_Obj, pathPtr: *mut Tcl_Obj,
         pattern: *const ::libc::c_char, types: *mut Tcl_GlobTypeData)
        -> ::libc::c_int;
pub type Tcl_FSGetCwdProc =
    extern "C" fn(interp: *mut Tcl_Interp) -> *mut Struct_Tcl_Obj;
pub type Tcl_FSChdirProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj) -> ::libc::c_int;
pub type Tcl_FSLstatProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj, buf: *mut Tcl_StatBuf)
        -> ::libc::c_int;
pub type Tcl_FSCreateDirectoryProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj) -> ::libc::c_int;
pub type Tcl_FSDeleteFileProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj) -> ::libc::c_int;
pub type Tcl_FSCopyDirectoryProc =
    extern "C" fn
        (srcPathPtr: *mut Tcl_Obj, destPathPtr: *mut Tcl_Obj,
         errorPtr: *mut *mut Tcl_Obj) -> ::libc::c_int;
pub type Tcl_FSCopyFileProc =
    extern "C" fn(srcPathPtr: *mut Tcl_Obj, destPathPtr: *mut Tcl_Obj)
        -> ::libc::c_int;
pub type Tcl_FSRemoveDirectoryProc =
    extern "C" fn
        (pathPtr: *mut Tcl_Obj, recursive: ::libc::c_int,
         errorPtr: *mut *mut Tcl_Obj) -> ::libc::c_int;
pub type Tcl_FSRenameFileProc =
    extern "C" fn(srcPathPtr: *mut Tcl_Obj, destPathPtr: *mut Tcl_Obj)
        -> ::libc::c_int;
pub type Tcl_FSUnloadFileProc =
    extern "C" fn(loadHandle: Tcl_LoadHandle) -> ();
pub type Tcl_FSListVolumesProc = extern "C" fn() -> *mut Struct_Tcl_Obj;
pub enum Struct_utimbuf { }
pub type Tcl_FSUtimeProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj, tval: *mut Struct_utimbuf)
        -> ::libc::c_int;
pub type Tcl_FSNormalizePathProc =
    extern "C" fn
        (interp: *mut Tcl_Interp, pathPtr: *mut Tcl_Obj,
         nextCheckpoint: ::libc::c_int) -> ::libc::c_int;
pub type Tcl_FSFileAttrsGetProc =
    extern "C" fn
        (interp: *mut Tcl_Interp, index: ::libc::c_int, pathPtr: *mut Tcl_Obj,
         objPtrRef: *mut *mut Tcl_Obj) -> ::libc::c_int;
pub type Tcl_FSFileAttrStringsProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj, objPtrRef: *mut *mut Tcl_Obj)
        -> *const *const ::libc::c_char;
pub type Tcl_FSFileAttrsSetProc =
    extern "C" fn
        (interp: *mut Tcl_Interp, index: ::libc::c_int, pathPtr: *mut Tcl_Obj,
         objPtr: *mut Tcl_Obj) -> ::libc::c_int;
pub type Tcl_FSLinkProc =
    extern "C" fn
        (pathPtr: *mut Tcl_Obj, toPtr: *mut Tcl_Obj, linkType: ::libc::c_int)
        -> *mut Struct_Tcl_Obj;
pub type Tcl_FSLoadFileProc =
    extern "C" fn
        (interp: *mut Tcl_Interp, pathPtr: *mut Tcl_Obj,
         handlePtr: *mut Tcl_LoadHandle,
         unloadProcPtr: *mut *mut Tcl_FSUnloadFileProc) -> ::libc::c_int;
pub type Tcl_FSPathInFilesystemProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj, clientDataPtr: *mut ClientData)
        -> ::libc::c_int;
pub type Tcl_FSFilesystemPathTypeProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj) -> *mut Struct_Tcl_Obj;
pub type Tcl_FSFilesystemSeparatorProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj) -> *mut Struct_Tcl_Obj;
pub type Tcl_FSFreeInternalRepProc =
    extern "C" fn(clientData: ClientData) -> ();
pub type Tcl_FSDupInternalRepProc =
    extern "C" fn(clientData: ClientData) -> *mut ::libc::c_void;
pub type Tcl_FSInternalToNormalizedProc =
    extern "C" fn(clientData: ClientData) -> *mut Struct_Tcl_Obj;
pub type Tcl_FSCreateInternalRepProc =
    extern "C" fn(pathPtr: *mut Tcl_Obj) -> *mut ::libc::c_void;
pub enum Struct_Tcl_FSVersion_ { }
pub type Tcl_FSVersion = *mut Struct_Tcl_FSVersion_;
#[repr(C)]
pub struct Struct_Tcl_Filesystem {
    pub typeName: *const ::libc::c_char,
    pub structureLength: ::libc::c_int,
    pub version: Tcl_FSVersion,
    pub pathInFilesystemProc: *mut Tcl_FSPathInFilesystemProc,
    pub dupInternalRepProc: *mut Tcl_FSDupInternalRepProc,
    pub freeInternalRepProc: *mut Tcl_FSFreeInternalRepProc,
    pub internalToNormalizedProc: *mut Tcl_FSInternalToNormalizedProc,
    pub createInternalRepProc: *mut Tcl_FSCreateInternalRepProc,
    pub normalizePathProc: *mut Tcl_FSNormalizePathProc,
    pub filesystemPathTypeProc: *mut Tcl_FSFilesystemPathTypeProc,
    pub filesystemSeparatorProc: *mut Tcl_FSFilesystemSeparatorProc,
    pub statProc: *mut Tcl_FSStatProc,
    pub accessProc: *mut Tcl_FSAccessProc,
    pub openFileChannelProc: *mut Tcl_FSOpenFileChannelProc,
    pub matchInDirectoryProc: *mut Tcl_FSMatchInDirectoryProc,
    pub utimeProc: *mut Tcl_FSUtimeProc,
    pub linkProc: *mut Tcl_FSLinkProc,
    pub listVolumesProc: *mut Tcl_FSListVolumesProc,
    pub fileAttrStringsProc: *mut Tcl_FSFileAttrStringsProc,
    pub fileAttrsGetProc: *mut Tcl_FSFileAttrsGetProc,
    pub fileAttrsSetProc: *mut Tcl_FSFileAttrsSetProc,
    pub createDirectoryProc: *mut Tcl_FSCreateDirectoryProc,
    pub removeDirectoryProc: *mut Tcl_FSRemoveDirectoryProc,
    pub deleteFileProc: *mut Tcl_FSDeleteFileProc,
    pub copyFileProc: *mut Tcl_FSCopyFileProc,
    pub renameFileProc: *mut Tcl_FSRenameFileProc,
    pub copyDirectoryProc: *mut Tcl_FSCopyDirectoryProc,
    pub lstatProc: *mut Tcl_FSLstatProc,
    pub loadFileProc: *mut Tcl_FSLoadFileProc,
    pub getCwdProc: *mut Tcl_FSGetCwdProc,
    pub chdirProc: *mut Tcl_FSChdirProc,
}
impl ::std::default::Default for Struct_Tcl_Filesystem {
    fn default() -> Struct_Tcl_Filesystem { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_Filesystem = Struct_Tcl_Filesystem;
#[repr(C)]
pub struct Struct_Tcl_NotifierProcs {
    pub setTimerProc: *mut Tcl_SetTimerProc,
    pub waitForEventProc: *mut Tcl_WaitForEventProc,
    pub createFileHandlerProc: *mut Tcl_CreateFileHandlerProc,
    pub deleteFileHandlerProc: *mut Tcl_DeleteFileHandlerProc,
    pub initNotifierProc: *mut Tcl_InitNotifierProc,
    pub finalizeNotifierProc: *mut Tcl_FinalizeNotifierProc,
    pub alertNotifierProc: *mut Tcl_AlertNotifierProc,
    pub serviceModeHookProc: *mut Tcl_ServiceModeHookProc,
}
impl ::std::default::Default for Struct_Tcl_NotifierProcs {
    fn default() -> Struct_Tcl_NotifierProcs {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type Tcl_NotifierProcs = Struct_Tcl_NotifierProcs;
#[repr(C)]
pub struct Struct_Tcl_Token {
    pub _type: ::libc::c_int,
    pub start: *const ::libc::c_char,
    pub size: ::libc::c_int,
    pub numComponents: ::libc::c_int,
}
impl ::std::default::Default for Struct_Tcl_Token {
    fn default() -> Struct_Tcl_Token { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_Token = Struct_Tcl_Token;
#[repr(C)]
pub struct Struct_Tcl_Parse {
    pub commentStart: *const ::libc::c_char,
    pub commentSize: ::libc::c_int,
    pub commandStart: *const ::libc::c_char,
    pub commandSize: ::libc::c_int,
    pub numWords: ::libc::c_int,
    pub tokenPtr: *mut Tcl_Token,
    pub numTokens: ::libc::c_int,
    pub tokensAvailable: ::libc::c_int,
    pub errorType: ::libc::c_int,
    pub string: *const ::libc::c_char,
    pub end: *const ::libc::c_char,
    pub interp: *mut Tcl_Interp,
    pub term: *const ::libc::c_char,
    pub incomplete: ::libc::c_int,
    pub staticTokens: [Tcl_Token; 20usize],
}
impl ::std::default::Default for Struct_Tcl_Parse {
    fn default() -> Struct_Tcl_Parse { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_Parse = Struct_Tcl_Parse;
#[repr(C)]
pub struct Struct_Tcl_EncodingType {
    pub encodingName: *const ::libc::c_char,
    pub toUtfProc: *mut Tcl_EncodingConvertProc,
    pub fromUtfProc: *mut Tcl_EncodingConvertProc,
    pub freeProc: *mut Tcl_EncodingFreeProc,
    pub clientData: ClientData,
    pub nullSize: ::libc::c_int,
}
impl ::std::default::Default for Struct_Tcl_EncodingType {
    fn default() -> Struct_Tcl_EncodingType {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type Tcl_EncodingType = Struct_Tcl_EncodingType;
pub type Tcl_UniChar = ::libc::c_ushort;
#[repr(C)]
pub struct Struct_Tcl_Config {
    pub key: *const ::libc::c_char,
    pub value: *const ::libc::c_char,
}
impl ::std::default::Default for Struct_Tcl_Config {
    fn default() -> Struct_Tcl_Config { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_Config = Struct_Tcl_Config;
pub type Tcl_LimitHandlerProc =
    extern "C" fn(clientData: ClientData, interp: *mut Tcl_Interp) -> ();
pub type Tcl_LimitHandlerDeleteProc =
    extern "C" fn(clientData: ClientData) -> ();
pub enum Struct_mp_int { }
pub type mp_int = Struct_mp_int;
pub type mp_digit = ::libc::c_uint;
#[repr(C)]
pub struct Struct_Unnamed9 {
    pub _type: ::libc::c_int,
    pub keyStr: *const ::libc::c_char,
    pub srcPtr: *mut ::libc::c_void,
    pub dstPtr: *mut ::libc::c_void,
    pub helpStr: *const ::libc::c_char,
    pub clientData: ClientData,
}
impl ::std::default::Default for Struct_Unnamed9 {
    fn default() -> Struct_Unnamed9 { unsafe { ::std::mem::zeroed() } }
}
pub type Tcl_ArgvInfo = Struct_Unnamed9;
pub type Tcl_ArgvFuncProc =
    extern "C" fn
        (clientData: ClientData, objPtr: *mut Tcl_Obj,
         dstPtr: *mut ::libc::c_void) -> ::libc::c_int;
pub type Tcl_ArgvGenFuncProc =
    extern "C" fn
        (clientData: ClientData, interp: *mut Tcl_Interp, objc: ::libc::c_int,
         objv: *const *mut Tcl_Obj, dstPtr: *mut ::libc::c_void)
        -> ::libc::c_int;
pub type Tcl_NRPostProc =
    extern "C" fn
        (data: *mut ClientData, interp: *mut Tcl_Interp,
         result: ::libc::c_int) -> ::libc::c_int;
pub enum Struct_TclIntStubs { }
pub enum Struct_TclIntPlatStubs { }
#[repr(C)]
pub struct Struct_Unnamed10 {
    pub tclPlatStubs: *const Struct_TclPlatStubs,
    pub tclIntStubs: *const Struct_TclIntStubs,
    pub tclIntPlatStubs: *const Struct_TclIntPlatStubs,
}
impl ::std::default::Default for Struct_Unnamed10 {
    fn default() -> Struct_Unnamed10 { unsafe { ::std::mem::zeroed() } }
}
pub type TclStubHooks = Struct_Unnamed10;
#[repr(C)]
pub struct Struct_TclStubs {
    pub magic: ::libc::c_int,
    pub hooks: *const TclStubHooks,
    pub tcl_PkgProvideEx: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     name:
                                                         *const ::libc::c_char,
                                                     version:
                                                         *const ::libc::c_char,
                                                     clientData:
                                                         *const ::libc::c_void)
                                                    -> ::libc::c_int>,
    pub tcl_PkgRequireEx: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     name:
                                                         *const ::libc::c_char,
                                                     version:
                                                         *const ::libc::c_char,
                                                     exact: ::libc::c_int,
                                                     clientDataPtr:
                                                         *mut ::libc::c_void)
                                                    -> *const ::libc::c_char>,
    pub tcl_Panic: ::std::option::Option<extern "C" fn
                                             (format:
                                                  *const ::libc::c_char, ...)
                                             -> ()>,
    pub tcl_Alloc: ::std::option::Option<extern "C" fn(size: ::libc::c_uint)
                                             -> *mut ::libc::c_char>,
    pub tcl_Free: ::std::option::Option<extern "C" fn
                                            (ptr: *mut ::libc::c_char) -> ()>,
    pub tcl_Realloc: ::std::option::Option<extern "C" fn
                                               (ptr: *mut ::libc::c_char,
                                                size: ::libc::c_uint)
                                               -> *mut ::libc::c_char>,
    pub tcl_DbCkalloc: ::std::option::Option<extern "C" fn
                                                 (size: ::libc::c_uint,
                                                  file: *const ::libc::c_char,
                                                  line: ::libc::c_int)
                                                 -> *mut ::libc::c_char>,
    pub tcl_DbCkfree: ::std::option::Option<extern "C" fn
                                                (ptr: *mut ::libc::c_char,
                                                 file: *const ::libc::c_char,
                                                 line: ::libc::c_int) -> ()>,
    pub tcl_DbCkrealloc: ::std::option::Option<extern "C" fn
                                                   (ptr: *mut ::libc::c_char,
                                                    size: ::libc::c_uint,
                                                    file:
                                                        *const ::libc::c_char,
                                                    line: ::libc::c_int)
                                                   -> *mut ::libc::c_char>,
    pub tcl_CreateFileHandler: ::std::option::Option<extern "C" fn
                                                         (fd: ::libc::c_int,
                                                          mask: ::libc::c_int,
                                                          _proc:
                                                              *mut Tcl_FileProc,
                                                          clientData:
                                                              ClientData)
                                                         -> ()>,
    pub tcl_DeleteFileHandler: ::std::option::Option<extern "C" fn
                                                         (fd: ::libc::c_int)
                                                         -> ()>,
    pub tcl_SetTimer: ::std::option::Option<extern "C" fn
                                                (timePtr: *const Tcl_Time)
                                                -> ()>,
    pub tcl_Sleep: ::std::option::Option<extern "C" fn(ms: ::libc::c_int)
                                             -> ()>,
    pub tcl_WaitForEvent: ::std::option::Option<extern "C" fn
                                                    (timePtr: *const Tcl_Time)
                                                    -> ::libc::c_int>,
    pub tcl_AppendAllObjTypes: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          objPtr:
                                                              *mut Tcl_Obj)
                                                         -> ::libc::c_int>,
    pub tcl_AppendStringsToObj: ::std::option::Option<extern "C" fn
                                                          (objPtr:
                                                               *mut Tcl_Obj, ...)
                                                          -> ()>,
    pub tcl_AppendToObj: ::std::option::Option<extern "C" fn
                                                   (objPtr: *mut Tcl_Obj,
                                                    bytes:
                                                        *const ::libc::c_char,
                                                    length: ::libc::c_int)
                                                   -> ()>,
    pub tcl_ConcatObj: ::std::option::Option<extern "C" fn
                                                 (objc: ::libc::c_int,
                                                  objv: *const *mut Tcl_Obj)
                                                 -> *mut Tcl_Obj>,
    pub tcl_ConvertToType: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      objPtr: *mut Tcl_Obj,
                                                      typePtr:
                                                          *const Tcl_ObjType)
                                                     -> ::libc::c_int>,
    pub tcl_DbDecrRefCount: ::std::option::Option<extern "C" fn
                                                      (objPtr: *mut Tcl_Obj,
                                                       file:
                                                           *const ::libc::c_char,
                                                       line: ::libc::c_int)
                                                      -> ()>,
    pub tcl_DbIncrRefCount: ::std::option::Option<extern "C" fn
                                                      (objPtr: *mut Tcl_Obj,
                                                       file:
                                                           *const ::libc::c_char,
                                                       line: ::libc::c_int)
                                                      -> ()>,
    pub tcl_DbIsShared: ::std::option::Option<extern "C" fn
                                                  (objPtr: *mut Tcl_Obj,
                                                   file:
                                                       *const ::libc::c_char,
                                                   line: ::libc::c_int)
                                                  -> ::libc::c_int>,
    pub tcl_DbNewBooleanObj: ::std::option::Option<extern "C" fn
                                                       (boolValue:
                                                            ::libc::c_int,
                                                        file:
                                                            *const ::libc::c_char,
                                                        line: ::libc::c_int)
                                                       -> *mut Tcl_Obj>,
    pub tcl_DbNewByteArrayObj: ::std::option::Option<extern "C" fn
                                                         (bytes:
                                                              *const ::libc::c_uchar,
                                                          length:
                                                              ::libc::c_int,
                                                          file:
                                                              *const ::libc::c_char,
                                                          line: ::libc::c_int)
                                                         -> *mut Tcl_Obj>,
    pub tcl_DbNewDoubleObj: ::std::option::Option<extern "C" fn
                                                      (doubleValue:
                                                           ::libc::c_double,
                                                       file:
                                                           *const ::libc::c_char,
                                                       line: ::libc::c_int)
                                                      -> *mut Tcl_Obj>,
    pub tcl_DbNewListObj: ::std::option::Option<extern "C" fn
                                                    (objc: ::libc::c_int,
                                                     objv:
                                                         *const *mut Tcl_Obj,
                                                     file:
                                                         *const ::libc::c_char,
                                                     line: ::libc::c_int)
                                                    -> *mut Tcl_Obj>,
    pub tcl_DbNewLongObj: ::std::option::Option<extern "C" fn
                                                    (longValue:
                                                         ::libc::c_long,
                                                     file:
                                                         *const ::libc::c_char,
                                                     line: ::libc::c_int)
                                                    -> *mut Tcl_Obj>,
    pub tcl_DbNewObj: ::std::option::Option<extern "C" fn
                                                (file: *const ::libc::c_char,
                                                 line: ::libc::c_int)
                                                -> *mut Tcl_Obj>,
    pub tcl_DbNewStringObj: ::std::option::Option<extern "C" fn
                                                      (bytes:
                                                           *const ::libc::c_char,
                                                       length: ::libc::c_int,
                                                       file:
                                                           *const ::libc::c_char,
                                                       line: ::libc::c_int)
                                                      -> *mut Tcl_Obj>,
    pub tcl_DuplicateObj: ::std::option::Option<extern "C" fn
                                                    (objPtr: *mut Tcl_Obj)
                                                    -> *mut Tcl_Obj>,
    pub tclFreeObj: ::std::option::Option<extern "C" fn(objPtr: *mut Tcl_Obj)
                                              -> ()>,
    pub tcl_GetBoolean: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   src: *const ::libc::c_char,
                                                   boolPtr:
                                                       *mut ::libc::c_int)
                                                  -> ::libc::c_int>,
    pub tcl_GetBooleanFromObj: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          objPtr:
                                                              *mut Tcl_Obj,
                                                          boolPtr:
                                                              *mut ::libc::c_int)
                                                         -> ::libc::c_int>,
    pub tcl_GetByteArrayFromObj: ::std::option::Option<extern "C" fn
                                                           (objPtr:
                                                                *mut Tcl_Obj,
                                                            lengthPtr:
                                                                *mut ::libc::c_int)
                                                           ->
                                                               *mut ::libc::c_uchar>,
    pub tcl_GetDouble: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  src: *const ::libc::c_char,
                                                  doublePtr:
                                                      *mut ::libc::c_double)
                                                 -> ::libc::c_int>,
    pub tcl_GetDoubleFromObj: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         objPtr: *mut Tcl_Obj,
                                                         doublePtr:
                                                             *mut ::libc::c_double)
                                                        -> ::libc::c_int>,
    pub tcl_GetIndexFromObj: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        objPtr: *mut Tcl_Obj,
                                                        tablePtr:
                                                            *const *const ::libc::c_char,
                                                        msg:
                                                            *const ::libc::c_char,
                                                        flags: ::libc::c_int,
                                                        indexPtr:
                                                            *mut ::libc::c_int)
                                                       -> ::libc::c_int>,
    pub tcl_GetInt: ::std::option::Option<extern "C" fn
                                              (interp: *mut Tcl_Interp,
                                               src: *const ::libc::c_char,
                                               intPtr: *mut ::libc::c_int)
                                              -> ::libc::c_int>,
    pub tcl_GetIntFromObj: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      objPtr: *mut Tcl_Obj,
                                                      intPtr:
                                                          *mut ::libc::c_int)
                                                     -> ::libc::c_int>,
    pub tcl_GetLongFromObj: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       objPtr: *mut Tcl_Obj,
                                                       longPtr:
                                                           *mut ::libc::c_long)
                                                      -> ::libc::c_int>,
    pub tcl_GetObjType: ::std::option::Option<extern "C" fn
                                                  (typeName:
                                                       *const ::libc::c_char)
                                                  -> *const Tcl_ObjType>,
    pub tcl_GetStringFromObj: ::std::option::Option<extern "C" fn
                                                        (objPtr: *mut Tcl_Obj,
                                                         lengthPtr:
                                                             *mut ::libc::c_int)
                                                        ->
                                                            *mut ::libc::c_char>,
    pub tcl_InvalidateStringRep: ::std::option::Option<extern "C" fn
                                                           (objPtr:
                                                                *mut Tcl_Obj)
                                                           -> ()>,
    pub tcl_ListObjAppendList: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          listPtr:
                                                              *mut Tcl_Obj,
                                                          elemListPtr:
                                                              *mut Tcl_Obj)
                                                         -> ::libc::c_int>,
    pub tcl_ListObjAppendElement: ::std::option::Option<extern "C" fn
                                                            (interp:
                                                                 *mut Tcl_Interp,
                                                             listPtr:
                                                                 *mut Tcl_Obj,
                                                             objPtr:
                                                                 *mut Tcl_Obj)
                                                            -> ::libc::c_int>,
    pub tcl_ListObjGetElements: ::std::option::Option<extern "C" fn
                                                          (interp:
                                                               *mut Tcl_Interp,
                                                           listPtr:
                                                               *mut Tcl_Obj,
                                                           objcPtr:
                                                               *mut ::libc::c_int,
                                                           objvPtr:
                                                               *mut *mut *mut Tcl_Obj)
                                                          -> ::libc::c_int>,
    pub tcl_ListObjIndex: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     listPtr: *mut Tcl_Obj,
                                                     index: ::libc::c_int,
                                                     objPtrPtr:
                                                         *mut *mut Tcl_Obj)
                                                    -> ::libc::c_int>,
    pub tcl_ListObjLength: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      listPtr: *mut Tcl_Obj,
                                                      lengthPtr:
                                                          *mut ::libc::c_int)
                                                     -> ::libc::c_int>,
    pub tcl_ListObjReplace: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       listPtr: *mut Tcl_Obj,
                                                       first: ::libc::c_int,
                                                       count: ::libc::c_int,
                                                       objc: ::libc::c_int,
                                                       objv:
                                                           *const *mut Tcl_Obj)
                                                      -> ::libc::c_int>,
    pub tcl_NewBooleanObj: ::std::option::Option<extern "C" fn
                                                     (boolValue:
                                                          ::libc::c_int)
                                                     -> *mut Tcl_Obj>,
    pub tcl_NewByteArrayObj: ::std::option::Option<extern "C" fn
                                                       (bytes:
                                                            *const ::libc::c_uchar,
                                                        length: ::libc::c_int)
                                                       -> *mut Tcl_Obj>,
    pub tcl_NewDoubleObj: ::std::option::Option<extern "C" fn
                                                    (doubleValue:
                                                         ::libc::c_double)
                                                    -> *mut Tcl_Obj>,
    pub tcl_NewIntObj: ::std::option::Option<extern "C" fn
                                                 (intValue: ::libc::c_int)
                                                 -> *mut Tcl_Obj>,
    pub tcl_NewListObj: ::std::option::Option<extern "C" fn
                                                  (objc: ::libc::c_int,
                                                   objv: *const *mut Tcl_Obj)
                                                  -> *mut Tcl_Obj>,
    pub tcl_NewLongObj: ::std::option::Option<extern "C" fn
                                                  (longValue: ::libc::c_long)
                                                  -> *mut Tcl_Obj>,
    pub tcl_NewObj: ::std::option::Option<extern "C" fn() -> *mut Tcl_Obj>,
    pub tcl_NewStringObj: ::std::option::Option<extern "C" fn
                                                    (bytes:
                                                         *const ::libc::c_char,
                                                     length: ::libc::c_int)
                                                    -> *mut Tcl_Obj>,
    pub tcl_SetBooleanObj: ::std::option::Option<extern "C" fn
                                                     (objPtr: *mut Tcl_Obj,
                                                      boolValue:
                                                          ::libc::c_int)
                                                     -> ()>,
    pub tcl_SetByteArrayLength: ::std::option::Option<extern "C" fn
                                                          (objPtr:
                                                               *mut Tcl_Obj,
                                                           length:
                                                               ::libc::c_int)
                                                          ->
                                                              *mut ::libc::c_uchar>,
    pub tcl_SetByteArrayObj: ::std::option::Option<extern "C" fn
                                                       (objPtr: *mut Tcl_Obj,
                                                        bytes:
                                                            *const ::libc::c_uchar,
                                                        length: ::libc::c_int)
                                                       -> ()>,
    pub tcl_SetDoubleObj: ::std::option::Option<extern "C" fn
                                                    (objPtr: *mut Tcl_Obj,
                                                     doubleValue:
                                                         ::libc::c_double)
                                                    -> ()>,
    pub tcl_SetIntObj: ::std::option::Option<extern "C" fn
                                                 (objPtr: *mut Tcl_Obj,
                                                  intValue: ::libc::c_int)
                                                 -> ()>,
    pub tcl_SetListObj: ::std::option::Option<extern "C" fn
                                                  (objPtr: *mut Tcl_Obj,
                                                   objc: ::libc::c_int,
                                                   objv: *const *mut Tcl_Obj)
                                                  -> ()>,
    pub tcl_SetLongObj: ::std::option::Option<extern "C" fn
                                                  (objPtr: *mut Tcl_Obj,
                                                   longValue: ::libc::c_long)
                                                  -> ()>,
    pub tcl_SetObjLength: ::std::option::Option<extern "C" fn
                                                    (objPtr: *mut Tcl_Obj,
                                                     length: ::libc::c_int)
                                                    -> ()>,
    pub tcl_SetStringObj: ::std::option::Option<extern "C" fn
                                                    (objPtr: *mut Tcl_Obj,
                                                     bytes:
                                                         *const ::libc::c_char,
                                                     length: ::libc::c_int)
                                                    -> ()>,
    pub tcl_AddErrorInfo: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     message:
                                                         *const ::libc::c_char)
                                                    -> ()>,
    pub tcl_AddObjErrorInfo: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        message:
                                                            *const ::libc::c_char,
                                                        length: ::libc::c_int)
                                                       -> ()>,
    pub tcl_AllowExceptions: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp)
                                                       -> ()>,
    pub tcl_AppendElement: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      element:
                                                          *const ::libc::c_char)
                                                     -> ()>,
    pub tcl_AppendResult: ::std::option::Option<extern "C" fn
                                                    (interp:
                                                         *mut Tcl_Interp, ...)
                                                    -> ()>,
    pub tcl_AsyncCreate: ::std::option::Option<extern "C" fn
                                                   (_proc: *mut Tcl_AsyncProc,
                                                    clientData: ClientData)
                                                   -> Tcl_AsyncHandler>,
    pub tcl_AsyncDelete: ::std::option::Option<extern "C" fn
                                                   (async: Tcl_AsyncHandler)
                                                   -> ()>,
    pub tcl_AsyncInvoke: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    code: ::libc::c_int)
                                                   -> ::libc::c_int>,
    pub tcl_AsyncMark: ::std::option::Option<extern "C" fn
                                                 (async: Tcl_AsyncHandler)
                                                 -> ()>,
    pub tcl_AsyncReady: ::std::option::Option<extern "C" fn()
                                                  -> ::libc::c_int>,
    pub tcl_BackgroundError: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp)
                                                       -> ()>,
    pub tcl_Backslash: ::std::option::Option<extern "C" fn
                                                 (src: *const ::libc::c_char,
                                                  readPtr: *mut ::libc::c_int)
                                                 -> ::libc::c_char>,
    pub tcl_BadChannelOption: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         optionName:
                                                             *const ::libc::c_char,
                                                         optionList:
                                                             *const ::libc::c_char)
                                                        -> ::libc::c_int>,
    pub tcl_CallWhenDeleted: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        _proc:
                                                            *mut Tcl_InterpDeleteProc,
                                                        clientData:
                                                            ClientData)
                                                       -> ()>,
    pub tcl_CancelIdleCall: ::std::option::Option<extern "C" fn
                                                      (idleProc:
                                                           *mut Tcl_IdleProc,
                                                       clientData: ClientData)
                                                      -> ()>,
    pub tcl_Close: ::std::option::Option<extern "C" fn
                                             (interp: *mut Tcl_Interp,
                                              chan: Tcl_Channel)
                                             -> ::libc::c_int>,
    pub tcl_CommandComplete: ::std::option::Option<extern "C" fn
                                                       (cmd:
                                                            *const ::libc::c_char)
                                                       -> ::libc::c_int>,
    pub tcl_Concat: ::std::option::Option<extern "C" fn
                                              (argc: ::libc::c_int,
                                               argv:
                                                   *const *const ::libc::c_char)
                                              -> *mut ::libc::c_char>,
    pub tcl_ConvertElement: ::std::option::Option<extern "C" fn
                                                      (src:
                                                           *const ::libc::c_char,
                                                       dst:
                                                           *mut ::libc::c_char,
                                                       flags: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_ConvertCountedElement: ::std::option::Option<extern "C" fn
                                                             (src:
                                                                  *const ::libc::c_char,
                                                              length:
                                                                  ::libc::c_int,
                                                              dst:
                                                                  *mut ::libc::c_char,
                                                              flags:
                                                                  ::libc::c_int)
                                                             ->
                                                                 ::libc::c_int>,
    pub tcl_CreateAlias: ::std::option::Option<extern "C" fn
                                                   (slave: *mut Tcl_Interp,
                                                    slaveCmd:
                                                        *const ::libc::c_char,
                                                    target: *mut Tcl_Interp,
                                                    targetCmd:
                                                        *const ::libc::c_char,
                                                    argc: ::libc::c_int,
                                                    argv:
                                                        *const *const ::libc::c_char)
                                                   -> ::libc::c_int>,
    pub tcl_CreateAliasObj: ::std::option::Option<extern "C" fn
                                                      (slave: *mut Tcl_Interp,
                                                       slaveCmd:
                                                           *const ::libc::c_char,
                                                       target:
                                                           *mut Tcl_Interp,
                                                       targetCmd:
                                                           *const ::libc::c_char,
                                                       objc: ::libc::c_int,
                                                       objv:
                                                           *const *mut Tcl_Obj)
                                                      -> ::libc::c_int>,
    pub tcl_CreateChannel: ::std::option::Option<extern "C" fn
                                                     (typePtr:
                                                          *const Tcl_ChannelType,
                                                      chanName:
                                                          *const ::libc::c_char,
                                                      instanceData:
                                                          ClientData,
                                                      mask: ::libc::c_int)
                                                     -> Tcl_Channel>,
    pub tcl_CreateChannelHandler: ::std::option::Option<extern "C" fn
                                                            (chan:
                                                                 Tcl_Channel,
                                                             mask:
                                                                 ::libc::c_int,
                                                             _proc:
                                                                 *mut Tcl_ChannelProc,
                                                             clientData:
                                                                 ClientData)
                                                            -> ()>,
    pub tcl_CreateCloseHandler: ::std::option::Option<extern "C" fn
                                                          (chan: Tcl_Channel,
                                                           _proc:
                                                               *mut Tcl_CloseProc,
                                                           clientData:
                                                               ClientData)
                                                          -> ()>,
    pub tcl_CreateCommand: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      cmdName:
                                                          *const ::libc::c_char,
                                                      _proc: *mut Tcl_CmdProc,
                                                      clientData: ClientData,
                                                      deleteProc:
                                                          *mut Tcl_CmdDeleteProc)
                                                     -> Tcl_Command>,
    pub tcl_CreateEventSource: ::std::option::Option<extern "C" fn
                                                         (setupProc:
                                                              *mut Tcl_EventSetupProc,
                                                          checkProc:
                                                              *mut Tcl_EventCheckProc,
                                                          clientData:
                                                              ClientData)
                                                         -> ()>,
    pub tcl_CreateExitHandler: ::std::option::Option<extern "C" fn
                                                         (_proc:
                                                              *mut Tcl_ExitProc,
                                                          clientData:
                                                              ClientData)
                                                         -> ()>,
    pub tcl_CreateInterp: ::std::option::Option<extern "C" fn()
                                                    -> *mut Tcl_Interp>,
    pub tcl_CreateMathFunc: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       name:
                                                           *const ::libc::c_char,
                                                       numArgs: ::libc::c_int,
                                                       argTypes:
                                                           *mut Tcl_ValueType,
                                                       _proc:
                                                           *mut Tcl_MathProc,
                                                       clientData: ClientData)
                                                      -> ()>,
    pub tcl_CreateObjCommand: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         cmdName:
                                                             *const ::libc::c_char,
                                                         _proc:
                                                             *mut Tcl_ObjCmdProc,
                                                         clientData:
                                                             ClientData,
                                                         deleteProc:
                                                             *mut Tcl_CmdDeleteProc)
                                                        -> Tcl_Command>,
    pub tcl_CreateSlave: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    slaveName:
                                                        *const ::libc::c_char,
                                                    isSafe: ::libc::c_int)
                                                   -> *mut Tcl_Interp>,
    pub tcl_CreateTimerHandler: ::std::option::Option<extern "C" fn
                                                          (milliseconds:
                                                               ::libc::c_int,
                                                           _proc:
                                                               *mut Tcl_TimerProc,
                                                           clientData:
                                                               ClientData)
                                                          -> Tcl_TimerToken>,
    pub tcl_CreateTrace: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    level: ::libc::c_int,
                                                    _proc:
                                                        *mut Tcl_CmdTraceProc,
                                                    clientData: ClientData)
                                                   -> Tcl_Trace>,
    pub tcl_DeleteAssocData: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        name:
                                                            *const ::libc::c_char)
                                                       -> ()>,
    pub tcl_DeleteChannelHandler: ::std::option::Option<extern "C" fn
                                                            (chan:
                                                                 Tcl_Channel,
                                                             _proc:
                                                                 *mut Tcl_ChannelProc,
                                                             clientData:
                                                                 ClientData)
                                                            -> ()>,
    pub tcl_DeleteCloseHandler: ::std::option::Option<extern "C" fn
                                                          (chan: Tcl_Channel,
                                                           _proc:
                                                               *mut Tcl_CloseProc,
                                                           clientData:
                                                               ClientData)
                                                          -> ()>,
    pub tcl_DeleteCommand: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      cmdName:
                                                          *const ::libc::c_char)
                                                     -> ::libc::c_int>,
    pub tcl_DeleteCommandFromToken: ::std::option::Option<extern "C" fn
                                                              (interp:
                                                                   *mut Tcl_Interp,
                                                               command:
                                                                   Tcl_Command)
                                                              ->
                                                                  ::libc::c_int>,
    pub tcl_DeleteEvents: ::std::option::Option<extern "C" fn
                                                    (_proc:
                                                         *mut Tcl_EventDeleteProc,
                                                     clientData: ClientData)
                                                    -> ()>,
    pub tcl_DeleteEventSource: ::std::option::Option<extern "C" fn
                                                         (setupProc:
                                                              *mut Tcl_EventSetupProc,
                                                          checkProc:
                                                              *mut Tcl_EventCheckProc,
                                                          clientData:
                                                              ClientData)
                                                         -> ()>,
    pub tcl_DeleteExitHandler: ::std::option::Option<extern "C" fn
                                                         (_proc:
                                                              *mut Tcl_ExitProc,
                                                          clientData:
                                                              ClientData)
                                                         -> ()>,
    pub tcl_DeleteHashEntry: ::std::option::Option<extern "C" fn
                                                       (entryPtr:
                                                            *mut Tcl_HashEntry)
                                                       -> ()>,
    pub tcl_DeleteHashTable: ::std::option::Option<extern "C" fn
                                                       (tablePtr:
                                                            *mut Tcl_HashTable)
                                                       -> ()>,
    pub tcl_DeleteInterp: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp)
                                                    -> ()>,
    pub tcl_DetachPids: ::std::option::Option<extern "C" fn
                                                  (numPids: ::libc::c_int,
                                                   pidPtr: *mut Tcl_Pid)
                                                  -> ()>,
    pub tcl_DeleteTimerHandler: ::std::option::Option<extern "C" fn
                                                          (token:
                                                               Tcl_TimerToken)
                                                          -> ()>,
    pub tcl_DeleteTrace: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    trace: Tcl_Trace) -> ()>,
    pub tcl_DontCallWhenDeleted: ::std::option::Option<extern "C" fn
                                                           (interp:
                                                                *mut Tcl_Interp,
                                                            _proc:
                                                                *mut Tcl_InterpDeleteProc,
                                                            clientData:
                                                                ClientData)
                                                           -> ()>,
    pub tcl_DoOneEvent: ::std::option::Option<extern "C" fn
                                                  (flags: ::libc::c_int)
                                                  -> ::libc::c_int>,
    pub tcl_DoWhenIdle: ::std::option::Option<extern "C" fn
                                                  (_proc: *mut Tcl_IdleProc,
                                                   clientData: ClientData)
                                                  -> ()>,
    pub tcl_DStringAppend: ::std::option::Option<extern "C" fn
                                                     (dsPtr: *mut Tcl_DString,
                                                      bytes:
                                                          *const ::libc::c_char,
                                                      length: ::libc::c_int)
                                                     -> *mut ::libc::c_char>,
    pub tcl_DStringAppendElement: ::std::option::Option<extern "C" fn
                                                            (dsPtr:
                                                                 *mut Tcl_DString,
                                                             element:
                                                                 *const ::libc::c_char)
                                                            ->
                                                                *mut ::libc::c_char>,
    pub tcl_DStringEndSublist: ::std::option::Option<extern "C" fn
                                                         (dsPtr:
                                                              *mut Tcl_DString)
                                                         -> ()>,
    pub tcl_DStringFree: ::std::option::Option<extern "C" fn
                                                   (dsPtr: *mut Tcl_DString)
                                                   -> ()>,
    pub tcl_DStringGetResult: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         dsPtr:
                                                             *mut Tcl_DString)
                                                        -> ()>,
    pub tcl_DStringInit: ::std::option::Option<extern "C" fn
                                                   (dsPtr: *mut Tcl_DString)
                                                   -> ()>,
    pub tcl_DStringResult: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      dsPtr: *mut Tcl_DString)
                                                     -> ()>,
    pub tcl_DStringSetLength: ::std::option::Option<extern "C" fn
                                                        (dsPtr:
                                                             *mut Tcl_DString,
                                                         length:
                                                             ::libc::c_int)
                                                        -> ()>,
    pub tcl_DStringStartSublist: ::std::option::Option<extern "C" fn
                                                           (dsPtr:
                                                                *mut Tcl_DString)
                                                           -> ()>,
    pub tcl_Eof: ::std::option::Option<extern "C" fn(chan: Tcl_Channel)
                                           -> ::libc::c_int>,
    pub tcl_ErrnoId: ::std::option::Option<extern "C" fn()
                                               -> *const ::libc::c_char>,
    pub tcl_ErrnoMsg: ::std::option::Option<extern "C" fn(err: ::libc::c_int)
                                                -> *const ::libc::c_char>,
    pub tcl_Eval: ::std::option::Option<extern "C" fn
                                            (interp: *mut Tcl_Interp,
                                             script: *const ::libc::c_char)
                                            -> ::libc::c_int>,
    pub tcl_EvalFile: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 fileName:
                                                     *const ::libc::c_char)
                                                -> ::libc::c_int>,
    pub tcl_EvalObj: ::std::option::Option<extern "C" fn
                                               (interp: *mut Tcl_Interp,
                                                objPtr: *mut Tcl_Obj)
                                               -> ::libc::c_int>,
    pub tcl_EventuallyFree: ::std::option::Option<extern "C" fn
                                                      (clientData: ClientData,
                                                       freeProc:
                                                           *mut Tcl_FreeProc)
                                                      -> ()>,
    pub tcl_Exit: ::std::option::Option<extern "C" fn(status: ::libc::c_int)
                                            -> ()>,
    pub tcl_ExposeCommand: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      hiddenCmdToken:
                                                          *const ::libc::c_char,
                                                      cmdName:
                                                          *const ::libc::c_char)
                                                     -> ::libc::c_int>,
    pub tcl_ExprBoolean: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    expr:
                                                        *const ::libc::c_char,
                                                    ptr: *mut ::libc::c_int)
                                                   -> ::libc::c_int>,
    pub tcl_ExprBooleanObj: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       objPtr: *mut Tcl_Obj,
                                                       ptr:
                                                           *mut ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_ExprDouble: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   expr:
                                                       *const ::libc::c_char,
                                                   ptr: *mut ::libc::c_double)
                                                  -> ::libc::c_int>,
    pub tcl_ExprDoubleObj: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      objPtr: *mut Tcl_Obj,
                                                      ptr:
                                                          *mut ::libc::c_double)
                                                     -> ::libc::c_int>,
    pub tcl_ExprLong: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 expr: *const ::libc::c_char,
                                                 ptr: *mut ::libc::c_long)
                                                -> ::libc::c_int>,
    pub tcl_ExprLongObj: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    objPtr: *mut Tcl_Obj,
                                                    ptr: *mut ::libc::c_long)
                                                   -> ::libc::c_int>,
    pub tcl_ExprObj: ::std::option::Option<extern "C" fn
                                               (interp: *mut Tcl_Interp,
                                                objPtr: *mut Tcl_Obj,
                                                resultPtrPtr:
                                                    *mut *mut Tcl_Obj)
                                               -> ::libc::c_int>,
    pub tcl_ExprString: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   expr:
                                                       *const ::libc::c_char)
                                                  -> ::libc::c_int>,
    pub tcl_Finalize: ::std::option::Option<extern "C" fn() -> ()>,
    pub tcl_FindExecutable: ::std::option::Option<extern "C" fn
                                                      (argv0:
                                                           *const ::libc::c_char)
                                                      -> ()>,
    pub tcl_FirstHashEntry: ::std::option::Option<extern "C" fn
                                                      (tablePtr:
                                                           *mut Tcl_HashTable,
                                                       searchPtr:
                                                           *mut Tcl_HashSearch)
                                                      -> *mut Tcl_HashEntry>,
    pub tcl_Flush: ::std::option::Option<extern "C" fn(chan: Tcl_Channel)
                                             -> ::libc::c_int>,
    pub tcl_FreeResult: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp)
                                                  -> ()>,
    pub tcl_GetAlias: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 slaveCmd:
                                                     *const ::libc::c_char,
                                                 targetInterpPtr:
                                                     *mut *mut Tcl_Interp,
                                                 targetCmdPtr:
                                                     *mut *const ::libc::c_char,
                                                 argcPtr: *mut ::libc::c_int,
                                                 argvPtr:
                                                     *mut *mut *const ::libc::c_char)
                                                -> ::libc::c_int>,
    pub tcl_GetAliasObj: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    slaveCmd:
                                                        *const ::libc::c_char,
                                                    targetInterpPtr:
                                                        *mut *mut Tcl_Interp,
                                                    targetCmdPtr:
                                                        *mut *const ::libc::c_char,
                                                    objcPtr:
                                                        *mut ::libc::c_int,
                                                    objv:
                                                        *mut *mut *mut Tcl_Obj)
                                                   -> ::libc::c_int>,
    pub tcl_GetAssocData: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     name:
                                                         *const ::libc::c_char,
                                                     procPtr:
                                                         *mut *mut Tcl_InterpDeleteProc)
                                                    -> ClientData>,
    pub tcl_GetChannel: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   chanName:
                                                       *const ::libc::c_char,
                                                   modePtr:
                                                       *mut ::libc::c_int)
                                                  -> Tcl_Channel>,
    pub tcl_GetChannelBufferSize: ::std::option::Option<extern "C" fn
                                                            (chan:
                                                                 Tcl_Channel)
                                                            -> ::libc::c_int>,
    pub tcl_GetChannelHandle: ::std::option::Option<extern "C" fn
                                                        (chan: Tcl_Channel,
                                                         direction:
                                                             ::libc::c_int,
                                                         handlePtr:
                                                             *mut ClientData)
                                                        -> ::libc::c_int>,
    pub tcl_GetChannelInstanceData: ::std::option::Option<extern "C" fn
                                                              (chan:
                                                                   Tcl_Channel)
                                                              -> ClientData>,
    pub tcl_GetChannelMode: ::std::option::Option<extern "C" fn
                                                      (chan: Tcl_Channel)
                                                      -> ::libc::c_int>,
    pub tcl_GetChannelName: ::std::option::Option<extern "C" fn
                                                      (chan: Tcl_Channel)
                                                      ->
                                                          *const ::libc::c_char>,
    pub tcl_GetChannelOption: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         chan: Tcl_Channel,
                                                         optionName:
                                                             *const ::libc::c_char,
                                                         dsPtr:
                                                             *mut Tcl_DString)
                                                        -> ::libc::c_int>,
    pub tcl_GetChannelType: ::std::option::Option<extern "C" fn
                                                      (chan: Tcl_Channel)
                                                      ->
                                                          *const Tcl_ChannelType>,
    pub tcl_GetCommandInfo: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       cmdName:
                                                           *const ::libc::c_char,
                                                       infoPtr:
                                                           *mut Tcl_CmdInfo)
                                                      -> ::libc::c_int>,
    pub tcl_GetCommandName: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       command: Tcl_Command)
                                                      ->
                                                          *const ::libc::c_char>,
    pub tcl_GetErrno: ::std::option::Option<extern "C" fn() -> ::libc::c_int>,
    pub tcl_GetHostName: ::std::option::Option<extern "C" fn()
                                                   -> *const ::libc::c_char>,
    pub tcl_GetInterpPath: ::std::option::Option<extern "C" fn
                                                     (askInterp:
                                                          *mut Tcl_Interp,
                                                      slaveInterp:
                                                          *mut Tcl_Interp)
                                                     -> ::libc::c_int>,
    pub tcl_GetMaster: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp)
                                                 -> *mut Tcl_Interp>,
    pub tcl_GetNameOfExecutable: ::std::option::Option<extern "C" fn()
                                                           ->
                                                               *const ::libc::c_char>,
    pub tcl_GetObjResult: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp)
                                                    -> *mut Tcl_Obj>,
    pub tcl_GetOpenFile: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    chanID:
                                                        *const ::libc::c_char,
                                                    forWriting: ::libc::c_int,
                                                    checkUsage: ::libc::c_int,
                                                    filePtr: *mut ClientData)
                                                   -> ::libc::c_int>,
    pub tcl_GetPathType: ::std::option::Option<extern "C" fn
                                                   (path:
                                                        *const ::libc::c_char)
                                                   -> Tcl_PathType>,
    pub tcl_Gets: ::std::option::Option<extern "C" fn
                                            (chan: Tcl_Channel,
                                             dsPtr: *mut Tcl_DString)
                                            -> ::libc::c_int>,
    pub tcl_GetsObj: ::std::option::Option<extern "C" fn
                                               (chan: Tcl_Channel,
                                                objPtr: *mut Tcl_Obj)
                                               -> ::libc::c_int>,
    pub tcl_GetServiceMode: ::std::option::Option<extern "C" fn()
                                                      -> ::libc::c_int>,
    pub tcl_GetSlave: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 slaveName:
                                                     *const ::libc::c_char)
                                                -> *mut Tcl_Interp>,
    pub tcl_GetStdChannel: ::std::option::Option<extern "C" fn
                                                     (_type: ::libc::c_int)
                                                     -> Tcl_Channel>,
    pub tcl_GetStringResult: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp)
                                                       ->
                                                           *const ::libc::c_char>,
    pub tcl_GetVar: ::std::option::Option<extern "C" fn
                                              (interp: *mut Tcl_Interp,
                                               varName: *const ::libc::c_char,
                                               flags: ::libc::c_int)
                                              -> *const ::libc::c_char>,
    pub tcl_GetVar2: ::std::option::Option<extern "C" fn
                                               (interp: *mut Tcl_Interp,
                                                part1: *const ::libc::c_char,
                                                part2: *const ::libc::c_char,
                                                flags: ::libc::c_int)
                                               -> *const ::libc::c_char>,
    pub tcl_GlobalEval: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   command:
                                                       *const ::libc::c_char)
                                                  -> ::libc::c_int>,
    pub tcl_GlobalEvalObj: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      objPtr: *mut Tcl_Obj)
                                                     -> ::libc::c_int>,
    pub tcl_HideCommand: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    cmdName:
                                                        *const ::libc::c_char,
                                                    hiddenCmdToken:
                                                        *const ::libc::c_char)
                                                   -> ::libc::c_int>,
    pub tcl_Init: ::std::option::Option<extern "C" fn(interp: *mut Tcl_Interp)
                                            -> ::libc::c_int>,
    pub tcl_InitHashTable: ::std::option::Option<extern "C" fn
                                                     (tablePtr:
                                                          *mut Tcl_HashTable,
                                                      keyType: ::libc::c_int)
                                                     -> ()>,
    pub tcl_InputBlocked: ::std::option::Option<extern "C" fn
                                                    (chan: Tcl_Channel)
                                                    -> ::libc::c_int>,
    pub tcl_InputBuffered: ::std::option::Option<extern "C" fn
                                                     (chan: Tcl_Channel)
                                                     -> ::libc::c_int>,
    pub tcl_InterpDeleted: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp)
                                                     -> ::libc::c_int>,
    pub tcl_IsSafe: ::std::option::Option<extern "C" fn
                                              (interp: *mut Tcl_Interp)
                                              -> ::libc::c_int>,
    pub tcl_JoinPath: ::std::option::Option<extern "C" fn
                                                (argc: ::libc::c_int,
                                                 argv:
                                                     *const *const ::libc::c_char,
                                                 resultPtr: *mut Tcl_DString)
                                                -> *mut ::libc::c_char>,
    pub tcl_LinkVar: ::std::option::Option<extern "C" fn
                                               (interp: *mut Tcl_Interp,
                                                varName:
                                                    *const ::libc::c_char,
                                                addr: *mut ::libc::c_char,
                                                _type: ::libc::c_int)
                                               -> ::libc::c_int>,
    pub reserved188: ::std::option::Option<extern "C" fn() -> ()>,
    pub tcl_MakeFileChannel: ::std::option::Option<extern "C" fn
                                                       (handle: ClientData,
                                                        mode: ::libc::c_int)
                                                       -> Tcl_Channel>,
    pub tcl_MakeSafe: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp)
                                                -> ::libc::c_int>,
    pub tcl_MakeTcpClientChannel: ::std::option::Option<extern "C" fn
                                                            (tcpSocket:
                                                                 ClientData)
                                                            -> Tcl_Channel>,
    pub tcl_Merge: ::std::option::Option<extern "C" fn
                                             (argc: ::libc::c_int,
                                              argv:
                                                  *const *const ::libc::c_char)
                                             -> *mut ::libc::c_char>,
    pub tcl_NextHashEntry: ::std::option::Option<extern "C" fn
                                                     (searchPtr:
                                                          *mut Tcl_HashSearch)
                                                     -> *mut Tcl_HashEntry>,
    pub tcl_NotifyChannel: ::std::option::Option<extern "C" fn
                                                     (channel: Tcl_Channel,
                                                      mask: ::libc::c_int)
                                                     -> ()>,
    pub tcl_ObjGetVar2: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   part1Ptr: *mut Tcl_Obj,
                                                   part2Ptr: *mut Tcl_Obj,
                                                   flags: ::libc::c_int)
                                                  -> *mut Tcl_Obj>,
    pub tcl_ObjSetVar2: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   part1Ptr: *mut Tcl_Obj,
                                                   part2Ptr: *mut Tcl_Obj,
                                                   newValuePtr: *mut Tcl_Obj,
                                                   flags: ::libc::c_int)
                                                  -> *mut Tcl_Obj>,
    pub tcl_OpenCommandChannel: ::std::option::Option<extern "C" fn
                                                          (interp:
                                                               *mut Tcl_Interp,
                                                           argc:
                                                               ::libc::c_int,
                                                           argv:
                                                               *mut *const ::libc::c_char,
                                                           flags:
                                                               ::libc::c_int)
                                                          -> Tcl_Channel>,
    pub tcl_OpenFileChannel: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        fileName:
                                                            *const ::libc::c_char,
                                                        modeString:
                                                            *const ::libc::c_char,
                                                        permissions:
                                                            ::libc::c_int)
                                                       -> Tcl_Channel>,
    pub tcl_OpenTcpClient: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      port: ::libc::c_int,
                                                      address:
                                                          *const ::libc::c_char,
                                                      myaddr:
                                                          *const ::libc::c_char,
                                                      myport: ::libc::c_int,
                                                      async: ::libc::c_int)
                                                     -> Tcl_Channel>,
    pub tcl_OpenTcpServer: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      port: ::libc::c_int,
                                                      host:
                                                          *const ::libc::c_char,
                                                      acceptProc:
                                                          *mut Tcl_TcpAcceptProc,
                                                      callbackData:
                                                          ClientData)
                                                     -> Tcl_Channel>,
    pub tcl_Preserve: ::std::option::Option<extern "C" fn(data: ClientData)
                                                -> ()>,
    pub tcl_PrintDouble: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    value: ::libc::c_double,
                                                    dst: *mut ::libc::c_char)
                                                   -> ()>,
    pub tcl_PutEnv: ::std::option::Option<extern "C" fn
                                              (assignment:
                                                   *const ::libc::c_char)
                                              -> ::libc::c_int>,
    pub tcl_PosixError: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp)
                                                  -> *const ::libc::c_char>,
    pub tcl_QueueEvent: ::std::option::Option<extern "C" fn
                                                  (evPtr: *mut Tcl_Event,
                                                   position:
                                                       Tcl_QueuePosition)
                                                  -> ()>,
    pub tcl_Read: ::std::option::Option<extern "C" fn
                                            (chan: Tcl_Channel,
                                             bufPtr: *mut ::libc::c_char,
                                             toRead: ::libc::c_int)
                                            -> ::libc::c_int>,
    pub tcl_ReapDetachedProcs: ::std::option::Option<extern "C" fn() -> ()>,
    pub tcl_RecordAndEval: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      cmd:
                                                          *const ::libc::c_char,
                                                      flags: ::libc::c_int)
                                                     -> ::libc::c_int>,
    pub tcl_RecordAndEvalObj: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         cmdPtr: *mut Tcl_Obj,
                                                         flags: ::libc::c_int)
                                                        -> ::libc::c_int>,
    pub tcl_RegisterChannel: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        chan: Tcl_Channel)
                                                       -> ()>,
    pub tcl_RegisterObjType: ::std::option::Option<extern "C" fn
                                                       (typePtr:
                                                            *const Tcl_ObjType)
                                                       -> ()>,
    pub tcl_RegExpCompile: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      pattern:
                                                          *const ::libc::c_char)
                                                     -> Tcl_RegExp>,
    pub tcl_RegExpExec: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   regexp: Tcl_RegExp,
                                                   text:
                                                       *const ::libc::c_char,
                                                   start:
                                                       *const ::libc::c_char)
                                                  -> ::libc::c_int>,
    pub tcl_RegExpMatch: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    text:
                                                        *const ::libc::c_char,
                                                    pattern:
                                                        *const ::libc::c_char)
                                                   -> ::libc::c_int>,
    pub tcl_RegExpRange: ::std::option::Option<extern "C" fn
                                                   (regexp: Tcl_RegExp,
                                                    index: ::libc::c_int,
                                                    startPtr:
                                                        *mut *const ::libc::c_char,
                                                    endPtr:
                                                        *mut *const ::libc::c_char)
                                                   -> ()>,
    pub tcl_Release: ::std::option::Option<extern "C" fn
                                               (clientData: ClientData)
                                               -> ()>,
    pub tcl_ResetResult: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp)
                                                   -> ()>,
    pub tcl_ScanElement: ::std::option::Option<extern "C" fn
                                                   (src:
                                                        *const ::libc::c_char,
                                                    flagPtr:
                                                        *mut ::libc::c_int)
                                                   -> ::libc::c_int>,
    pub tcl_ScanCountedElement: ::std::option::Option<extern "C" fn
                                                          (src:
                                                               *const ::libc::c_char,
                                                           length:
                                                               ::libc::c_int,
                                                           flagPtr:
                                                               *mut ::libc::c_int)
                                                          -> ::libc::c_int>,
    pub tcl_SeekOld: ::std::option::Option<extern "C" fn
                                               (chan: Tcl_Channel,
                                                offset: ::libc::c_int,
                                                mode: ::libc::c_int)
                                               -> ::libc::c_int>,
    pub tcl_ServiceAll: ::std::option::Option<extern "C" fn()
                                                  -> ::libc::c_int>,
    pub tcl_ServiceEvent: ::std::option::Option<extern "C" fn
                                                    (flags: ::libc::c_int)
                                                    -> ::libc::c_int>,
    pub tcl_SetAssocData: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     name:
                                                         *const ::libc::c_char,
                                                     _proc:
                                                         *mut Tcl_InterpDeleteProc,
                                                     clientData: ClientData)
                                                    -> ()>,
    pub tcl_SetChannelBufferSize: ::std::option::Option<extern "C" fn
                                                            (chan:
                                                                 Tcl_Channel,
                                                             sz:
                                                                 ::libc::c_int)
                                                            -> ()>,
    pub tcl_SetChannelOption: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         chan: Tcl_Channel,
                                                         optionName:
                                                             *const ::libc::c_char,
                                                         newValue:
                                                             *const ::libc::c_char)
                                                        -> ::libc::c_int>,
    pub tcl_SetCommandInfo: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       cmdName:
                                                           *const ::libc::c_char,
                                                       infoPtr:
                                                           *const Tcl_CmdInfo)
                                                      -> ::libc::c_int>,
    pub tcl_SetErrno: ::std::option::Option<extern "C" fn(err: ::libc::c_int)
                                                -> ()>,
    pub tcl_SetErrorCode: ::std::option::Option<extern "C" fn
                                                    (interp:
                                                         *mut Tcl_Interp, ...)
                                                    -> ()>,
    pub tcl_SetMaxBlockTime: ::std::option::Option<extern "C" fn
                                                       (timePtr:
                                                            *const Tcl_Time)
                                                       -> ()>,
    pub tcl_SetPanicProc: ::std::option::Option<extern "C" fn
                                                    (panicProc:
                                                         *mut Tcl_PanicProc)
                                                    -> ()>,
    pub tcl_SetRecursionLimit: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          depth:
                                                              ::libc::c_int)
                                                         -> ::libc::c_int>,
    pub tcl_SetResult: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  result: *mut ::libc::c_char,
                                                  freeProc: *mut Tcl_FreeProc)
                                                 -> ()>,
    pub tcl_SetServiceMode: ::std::option::Option<extern "C" fn
                                                      (mode: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_SetObjErrorCode: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        errorObjPtr:
                                                            *mut Tcl_Obj)
                                                       -> ()>,
    pub tcl_SetObjResult: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     resultObjPtr:
                                                         *mut Tcl_Obj) -> ()>,
    pub tcl_SetStdChannel: ::std::option::Option<extern "C" fn
                                                     (channel: Tcl_Channel,
                                                      _type: ::libc::c_int)
                                                     -> ()>,
    pub tcl_SetVar: ::std::option::Option<extern "C" fn
                                              (interp: *mut Tcl_Interp,
                                               varName: *const ::libc::c_char,
                                               newValue:
                                                   *const ::libc::c_char,
                                               flags: ::libc::c_int)
                                              -> *const ::libc::c_char>,
    pub tcl_SetVar2: ::std::option::Option<extern "C" fn
                                               (interp: *mut Tcl_Interp,
                                                part1: *const ::libc::c_char,
                                                part2: *const ::libc::c_char,
                                                newValue:
                                                    *const ::libc::c_char,
                                                flags: ::libc::c_int)
                                               -> *const ::libc::c_char>,
    pub tcl_SignalId: ::std::option::Option<extern "C" fn(sig: ::libc::c_int)
                                                -> *const ::libc::c_char>,
    pub tcl_SignalMsg: ::std::option::Option<extern "C" fn(sig: ::libc::c_int)
                                                 -> *const ::libc::c_char>,
    pub tcl_SourceRCFile: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp)
                                                    -> ()>,
    pub tcl_SplitList: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  listStr:
                                                      *const ::libc::c_char,
                                                  argcPtr: *mut ::libc::c_int,
                                                  argvPtr:
                                                      *mut *mut *const ::libc::c_char)
                                                 -> ::libc::c_int>,
    pub tcl_SplitPath: ::std::option::Option<extern "C" fn
                                                 (path: *const ::libc::c_char,
                                                  argcPtr: *mut ::libc::c_int,
                                                  argvPtr:
                                                      *mut *mut *const ::libc::c_char)
                                                 -> ()>,
    pub tcl_StaticPackage: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      pkgName:
                                                          *const ::libc::c_char,
                                                      initProc:
                                                          *mut Tcl_PackageInitProc,
                                                      safeInitProc:
                                                          *mut Tcl_PackageInitProc)
                                                     -> ()>,
    pub tcl_StringMatch: ::std::option::Option<extern "C" fn
                                                   (str:
                                                        *const ::libc::c_char,
                                                    pattern:
                                                        *const ::libc::c_char)
                                                   -> ::libc::c_int>,
    pub tcl_TellOld: ::std::option::Option<extern "C" fn(chan: Tcl_Channel)
                                               -> ::libc::c_int>,
    pub tcl_TraceVar: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 varName:
                                                     *const ::libc::c_char,
                                                 flags: ::libc::c_int,
                                                 _proc: *mut Tcl_VarTraceProc,
                                                 clientData: ClientData)
                                                -> ::libc::c_int>,
    pub tcl_TraceVar2: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  part1:
                                                      *const ::libc::c_char,
                                                  part2:
                                                      *const ::libc::c_char,
                                                  flags: ::libc::c_int,
                                                  _proc:
                                                      *mut Tcl_VarTraceProc,
                                                  clientData: ClientData)
                                                 -> ::libc::c_int>,
    pub tcl_TranslateFileName: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          name:
                                                              *const ::libc::c_char,
                                                          bufferPtr:
                                                              *mut Tcl_DString)
                                                         ->
                                                             *mut ::libc::c_char>,
    pub tcl_Ungets: ::std::option::Option<extern "C" fn
                                              (chan: Tcl_Channel,
                                               str: *const ::libc::c_char,
                                               len: ::libc::c_int,
                                               atHead: ::libc::c_int)
                                              -> ::libc::c_int>,
    pub tcl_UnlinkVar: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  varName:
                                                      *const ::libc::c_char)
                                                 -> ()>,
    pub tcl_UnregisterChannel: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          chan: Tcl_Channel)
                                                         -> ::libc::c_int>,
    pub tcl_UnsetVar: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 varName:
                                                     *const ::libc::c_char,
                                                 flags: ::libc::c_int)
                                                -> ::libc::c_int>,
    pub tcl_UnsetVar2: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  part1:
                                                      *const ::libc::c_char,
                                                  part2:
                                                      *const ::libc::c_char,
                                                  flags: ::libc::c_int)
                                                 -> ::libc::c_int>,
    pub tcl_UntraceVar: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   varName:
                                                       *const ::libc::c_char,
                                                   flags: ::libc::c_int,
                                                   _proc:
                                                       *mut Tcl_VarTraceProc,
                                                   clientData: ClientData)
                                                  -> ()>,
    pub tcl_UntraceVar2: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    part1:
                                                        *const ::libc::c_char,
                                                    part2:
                                                        *const ::libc::c_char,
                                                    flags: ::libc::c_int,
                                                    _proc:
                                                        *mut Tcl_VarTraceProc,
                                                    clientData: ClientData)
                                                   -> ()>,
    pub tcl_UpdateLinkedVar: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        varName:
                                                            *const ::libc::c_char)
                                                       -> ()>,
    pub tcl_UpVar: ::std::option::Option<extern "C" fn
                                             (interp: *mut Tcl_Interp,
                                              frameName:
                                                  *const ::libc::c_char,
                                              varName: *const ::libc::c_char,
                                              localName:
                                                  *const ::libc::c_char,
                                              flags: ::libc::c_int)
                                             -> ::libc::c_int>,
    pub tcl_UpVar2: ::std::option::Option<extern "C" fn
                                              (interp: *mut Tcl_Interp,
                                               frameName:
                                                   *const ::libc::c_char,
                                               part1: *const ::libc::c_char,
                                               part2: *const ::libc::c_char,
                                               localName:
                                                   *const ::libc::c_char,
                                               flags: ::libc::c_int)
                                              -> ::libc::c_int>,
    pub tcl_VarEval: ::std::option::Option<extern "C" fn
                                               (interp: *mut Tcl_Interp, ...)
                                               -> ::libc::c_int>,
    pub tcl_VarTraceInfo: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     varName:
                                                         *const ::libc::c_char,
                                                     flags: ::libc::c_int,
                                                     procPtr:
                                                         *mut Tcl_VarTraceProc,
                                                     prevClientData:
                                                         ClientData)
                                                    -> ClientData>,
    pub tcl_VarTraceInfo2: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      part1:
                                                          *const ::libc::c_char,
                                                      part2:
                                                          *const ::libc::c_char,
                                                      flags: ::libc::c_int,
                                                      procPtr:
                                                          *mut Tcl_VarTraceProc,
                                                      prevClientData:
                                                          ClientData)
                                                     -> ClientData>,
    pub tcl_Write: ::std::option::Option<extern "C" fn
                                             (chan: Tcl_Channel,
                                              s: *const ::libc::c_char,
                                              slen: ::libc::c_int)
                                             -> ::libc::c_int>,
    pub tcl_WrongNumArgs: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     objc: ::libc::c_int,
                                                     objv:
                                                         *const *mut Tcl_Obj,
                                                     message:
                                                         *const ::libc::c_char)
                                                    -> ()>,
    pub tcl_DumpActiveMemory: ::std::option::Option<extern "C" fn
                                                        (fileName:
                                                             *const ::libc::c_char)
                                                        -> ::libc::c_int>,
    pub tcl_ValidateAllMemory: ::std::option::Option<extern "C" fn
                                                         (file:
                                                              *const ::libc::c_char,
                                                          line: ::libc::c_int)
                                                         -> ()>,
/*    pub tcl_AppendResultVA: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       argList: va_list)
                                                      -> ()>,*/
/*    pub tcl_AppendStringsToObjVA: ::std::option::Option<extern "C" fn
                                                            (objPtr:
                                                                 *mut Tcl_Obj,
                                                             argList: va_list)
                                                            -> ()>,*/
    pub tcl_HashStats: ::std::option::Option<extern "C" fn
                                                 (tablePtr:
                                                      *mut Tcl_HashTable)
                                                 -> *mut ::libc::c_char>,
    pub tcl_ParseVar: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 start: *const ::libc::c_char,
                                                 termPtr:
                                                     *mut *const ::libc::c_char)
                                                -> *const ::libc::c_char>,
    pub tcl_PkgPresent: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   name:
                                                       *const ::libc::c_char,
                                                   version:
                                                       *const ::libc::c_char,
                                                   exact: ::libc::c_int)
                                                  -> *const ::libc::c_char>,
    pub tcl_PkgPresentEx: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     name:
                                                         *const ::libc::c_char,
                                                     version:
                                                         *const ::libc::c_char,
                                                     exact: ::libc::c_int,
                                                     clientDataPtr:
                                                         *mut ::libc::c_void)
                                                    -> *const ::libc::c_char>,
    pub tcl_PkgProvide: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   name:
                                                       *const ::libc::c_char,
                                                   version:
                                                       *const ::libc::c_char)
                                                  -> ::libc::c_int>,
    pub tcl_PkgRequire: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   name:
                                                       *const ::libc::c_char,
                                                   version:
                                                       *const ::libc::c_char,
                                                   exact: ::libc::c_int)
                                                  -> *const ::libc::c_char>,
/*    pub tcl_SetErrorCodeVA: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       argList: va_list)
                                                      -> ()>,*/
/*    pub tcl_VarEvalVA: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  argList: va_list)
                                                 -> ::libc::c_int>,*/
    pub tcl_WaitPid: ::std::option::Option<extern "C" fn
                                               (pid: Tcl_Pid,
                                                statPtr: *mut ::libc::c_int,
                                                options: ::libc::c_int)
                                               -> Tcl_Pid>,
/*    pub tcl_PanicVA: ::std::option::Option<extern "C" fn
                                               (format: *const ::libc::c_char,
                                                argList: va_list) -> ()>,*/
    pub tcl_GetVersion: ::std::option::Option<extern "C" fn
                                                  (major: *mut ::libc::c_int,
                                                   minor: *mut ::libc::c_int,
                                                   patchLevel:
                                                       *mut ::libc::c_int,
                                                   _type: *mut ::libc::c_int)
                                                  -> ()>,
    pub tcl_InitMemory: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp)
                                                  -> ()>,
    pub tcl_StackChannel: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     typePtr:
                                                         *const Tcl_ChannelType,
                                                     instanceData: ClientData,
                                                     mask: ::libc::c_int,
                                                     prevChan: Tcl_Channel)
                                                    -> Tcl_Channel>,
    pub tcl_UnstackChannel: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       chan: Tcl_Channel)
                                                      -> ::libc::c_int>,
    pub tcl_GetStackedChannel: ::std::option::Option<extern "C" fn
                                                         (chan: Tcl_Channel)
                                                         -> Tcl_Channel>,
    pub tcl_SetMainLoop: ::std::option::Option<extern "C" fn
                                                   (_proc:
                                                        *mut Tcl_MainLoopProc)
                                                   -> ()>,
    pub reserved285: ::std::option::Option<extern "C" fn() -> ()>,
    pub tcl_AppendObjToObj: ::std::option::Option<extern "C" fn
                                                      (objPtr: *mut Tcl_Obj,
                                                       appendObjPtr:
                                                           *mut Tcl_Obj)
                                                      -> ()>,
    pub tcl_CreateEncoding: ::std::option::Option<extern "C" fn
                                                      (typePtr:
                                                           *const Tcl_EncodingType)
                                                      -> Tcl_Encoding>,
    pub tcl_CreateThreadExitHandler: ::std::option::Option<extern "C" fn
                                                               (_proc:
                                                                    *mut Tcl_ExitProc,
                                                                clientData:
                                                                    ClientData)
                                                               -> ()>,
    pub tcl_DeleteThreadExitHandler: ::std::option::Option<extern "C" fn
                                                               (_proc:
                                                                    *mut Tcl_ExitProc,
                                                                clientData:
                                                                    ClientData)
                                                               -> ()>,
    pub tcl_DiscardResult: ::std::option::Option<extern "C" fn
                                                     (statePtr:
                                                          *mut Tcl_SavedResult)
                                                     -> ()>,
    pub tcl_EvalEx: ::std::option::Option<extern "C" fn
                                              (interp: *mut Tcl_Interp,
                                               script: *const ::libc::c_char,
                                               numBytes: ::libc::c_int,
                                               flags: ::libc::c_int)
                                              -> ::libc::c_int>,
    pub tcl_EvalObjv: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 objc: ::libc::c_int,
                                                 objv: *const *mut Tcl_Obj,
                                                 flags: ::libc::c_int)
                                                -> ::libc::c_int>,
    pub tcl_EvalObjEx: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  objPtr: *mut Tcl_Obj,
                                                  flags: ::libc::c_int)
                                                 -> ::libc::c_int>,
    pub tcl_ExitThread: ::std::option::Option<extern "C" fn
                                                  (status: ::libc::c_int)
                                                  -> ()>,
    pub tcl_ExternalToUtf: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      encoding: Tcl_Encoding,
                                                      src:
                                                          *const ::libc::c_char,
                                                      srcLen: ::libc::c_int,
                                                      flags: ::libc::c_int,
                                                      statePtr:
                                                          *mut Tcl_EncodingState,
                                                      dst:
                                                          *mut ::libc::c_char,
                                                      dstLen: ::libc::c_int,
                                                      srcReadPtr:
                                                          *mut ::libc::c_int,
                                                      dstWrotePtr:
                                                          *mut ::libc::c_int,
                                                      dstCharsPtr:
                                                          *mut ::libc::c_int)
                                                     -> ::libc::c_int>,
    pub tcl_ExternalToUtfDString: ::std::option::Option<extern "C" fn
                                                            (encoding:
                                                                 Tcl_Encoding,
                                                             src:
                                                                 *const ::libc::c_char,
                                                             srcLen:
                                                                 ::libc::c_int,
                                                             dsPtr:
                                                                 *mut Tcl_DString)
                                                            ->
                                                                *mut ::libc::c_char>,
    pub tcl_FinalizeThread: ::std::option::Option<extern "C" fn() -> ()>,
    pub tcl_FinalizeNotifier: ::std::option::Option<extern "C" fn
                                                        (clientData:
                                                             ClientData)
                                                        -> ()>,
    pub tcl_FreeEncoding: ::std::option::Option<extern "C" fn
                                                    (encoding: Tcl_Encoding)
                                                    -> ()>,
    pub tcl_GetCurrentThread: ::std::option::Option<extern "C" fn()
                                                        -> Tcl_ThreadId>,
    pub tcl_GetEncoding: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    name:
                                                        *const ::libc::c_char)
                                                   -> Tcl_Encoding>,
    pub tcl_GetEncodingName: ::std::option::Option<extern "C" fn
                                                       (encoding:
                                                            Tcl_Encoding)
                                                       ->
                                                           *const ::libc::c_char>,
    pub tcl_GetEncodingNames: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp)
                                                        -> ()>,
    pub tcl_GetIndexFromObjStruct: ::std::option::Option<extern "C" fn
                                                             (interp:
                                                                  *mut Tcl_Interp,
                                                              objPtr:
                                                                  *mut Tcl_Obj,
                                                              tablePtr:
                                                                  *const ::libc::c_void,
                                                              offset:
                                                                  ::libc::c_int,
                                                              msg:
                                                                  *const ::libc::c_char,
                                                              flags:
                                                                  ::libc::c_int,
                                                              indexPtr:
                                                                  *mut ::libc::c_int)
                                                             ->
                                                                 ::libc::c_int>,
    pub tcl_GetThreadData: ::std::option::Option<extern "C" fn
                                                     (keyPtr:
                                                          *mut Tcl_ThreadDataKey,
                                                      size: ::libc::c_int)
                                                     -> *mut ::libc::c_void>,
    pub tcl_GetVar2Ex: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  part1:
                                                      *const ::libc::c_char,
                                                  part2:
                                                      *const ::libc::c_char,
                                                  flags: ::libc::c_int)
                                                 -> *mut Tcl_Obj>,
    pub tcl_InitNotifier: ::std::option::Option<extern "C" fn()
                                                    -> ClientData>,
    pub tcl_MutexLock: ::std::option::Option<extern "C" fn
                                                 (mutexPtr: *mut Tcl_Mutex)
                                                 -> ()>,
    pub tcl_MutexUnlock: ::std::option::Option<extern "C" fn
                                                   (mutexPtr: *mut Tcl_Mutex)
                                                   -> ()>,
    pub tcl_ConditionNotify: ::std::option::Option<extern "C" fn
                                                       (condPtr:
                                                            *mut Tcl_Condition)
                                                       -> ()>,
    pub tcl_ConditionWait: ::std::option::Option<extern "C" fn
                                                     (condPtr:
                                                          *mut Tcl_Condition,
                                                      mutexPtr:
                                                          *mut Tcl_Mutex,
                                                      timePtr:
                                                          *const Tcl_Time)
                                                     -> ()>,
    pub tcl_NumUtfChars: ::std::option::Option<extern "C" fn
                                                   (src:
                                                        *const ::libc::c_char,
                                                    length: ::libc::c_int)
                                                   -> ::libc::c_int>,
    pub tcl_ReadChars: ::std::option::Option<extern "C" fn
                                                 (channel: Tcl_Channel,
                                                  objPtr: *mut Tcl_Obj,
                                                  charsToRead: ::libc::c_int,
                                                  appendFlag: ::libc::c_int)
                                                 -> ::libc::c_int>,
    pub tcl_RestoreResult: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      statePtr:
                                                          *mut Tcl_SavedResult)
                                                     -> ()>,
    pub tcl_SaveResult: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   statePtr:
                                                       *mut Tcl_SavedResult)
                                                  -> ()>,
    pub tcl_SetSystemEncoding: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          name:
                                                              *const ::libc::c_char)
                                                         -> ::libc::c_int>,
    pub tcl_SetVar2Ex: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  part1:
                                                      *const ::libc::c_char,
                                                  part2:
                                                      *const ::libc::c_char,
                                                  newValuePtr: *mut Tcl_Obj,
                                                  flags: ::libc::c_int)
                                                 -> *mut Tcl_Obj>,
    pub tcl_ThreadAlert: ::std::option::Option<extern "C" fn
                                                   (threadId: Tcl_ThreadId)
                                                   -> ()>,
    pub tcl_ThreadQueueEvent: ::std::option::Option<extern "C" fn
                                                        (threadId:
                                                             Tcl_ThreadId,
                                                         evPtr:
                                                             *mut Tcl_Event,
                                                         position:
                                                             Tcl_QueuePosition)
                                                        -> ()>,
    pub tcl_UniCharAtIndex: ::std::option::Option<extern "C" fn
                                                      (src:
                                                           *const ::libc::c_char,
                                                       index: ::libc::c_int)
                                                      -> Tcl_UniChar>,
    pub tcl_UniCharToLower: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> Tcl_UniChar>,
    pub tcl_UniCharToTitle: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> Tcl_UniChar>,
    pub tcl_UniCharToUpper: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> Tcl_UniChar>,
    pub tcl_UniCharToUtf: ::std::option::Option<extern "C" fn
                                                    (ch: ::libc::c_int,
                                                     buf: *mut ::libc::c_char)
                                                    -> ::libc::c_int>,
    pub tcl_UtfAtIndex: ::std::option::Option<extern "C" fn
                                                  (src: *const ::libc::c_char,
                                                   index: ::libc::c_int)
                                                  -> *const ::libc::c_char>,
    pub tcl_UtfCharComplete: ::std::option::Option<extern "C" fn
                                                       (src:
                                                            *const ::libc::c_char,
                                                        length: ::libc::c_int)
                                                       -> ::libc::c_int>,
    pub tcl_UtfBackslash: ::std::option::Option<extern "C" fn
                                                    (src:
                                                         *const ::libc::c_char,
                                                     readPtr:
                                                         *mut ::libc::c_int,
                                                     dst: *mut ::libc::c_char)
                                                    -> ::libc::c_int>,
    pub tcl_UtfFindFirst: ::std::option::Option<extern "C" fn
                                                    (src:
                                                         *const ::libc::c_char,
                                                     ch: ::libc::c_int)
                                                    -> *const ::libc::c_char>,
    pub tcl_UtfFindLast: ::std::option::Option<extern "C" fn
                                                   (src:
                                                        *const ::libc::c_char,
                                                    ch: ::libc::c_int)
                                                   -> *const ::libc::c_char>,
    pub tcl_UtfNext: ::std::option::Option<extern "C" fn
                                               (src: *const ::libc::c_char)
                                               -> *const ::libc::c_char>,
    pub tcl_UtfPrev: ::std::option::Option<extern "C" fn
                                               (src: *const ::libc::c_char,
                                                start: *const ::libc::c_char)
                                               -> *const ::libc::c_char>,
    pub tcl_UtfToExternal: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      encoding: Tcl_Encoding,
                                                      src:
                                                          *const ::libc::c_char,
                                                      srcLen: ::libc::c_int,
                                                      flags: ::libc::c_int,
                                                      statePtr:
                                                          *mut Tcl_EncodingState,
                                                      dst:
                                                          *mut ::libc::c_char,
                                                      dstLen: ::libc::c_int,
                                                      srcReadPtr:
                                                          *mut ::libc::c_int,
                                                      dstWrotePtr:
                                                          *mut ::libc::c_int,
                                                      dstCharsPtr:
                                                          *mut ::libc::c_int)
                                                     -> ::libc::c_int>,
    pub tcl_UtfToExternalDString: ::std::option::Option<extern "C" fn
                                                            (encoding:
                                                                 Tcl_Encoding,
                                                             src:
                                                                 *const ::libc::c_char,
                                                             srcLen:
                                                                 ::libc::c_int,
                                                             dsPtr:
                                                                 *mut Tcl_DString)
                                                            ->
                                                                *mut ::libc::c_char>,
    pub tcl_UtfToLower: ::std::option::Option<extern "C" fn
                                                  (src: *mut ::libc::c_char)
                                                  -> ::libc::c_int>,
    pub tcl_UtfToTitle: ::std::option::Option<extern "C" fn
                                                  (src: *mut ::libc::c_char)
                                                  -> ::libc::c_int>,
    pub tcl_UtfToUniChar: ::std::option::Option<extern "C" fn
                                                    (src:
                                                         *const ::libc::c_char,
                                                     chPtr: *mut Tcl_UniChar)
                                                    -> ::libc::c_int>,
    pub tcl_UtfToUpper: ::std::option::Option<extern "C" fn
                                                  (src: *mut ::libc::c_char)
                                                  -> ::libc::c_int>,
    pub tcl_WriteChars: ::std::option::Option<extern "C" fn
                                                  (chan: Tcl_Channel,
                                                   src: *const ::libc::c_char,
                                                   srcLen: ::libc::c_int)
                                                  -> ::libc::c_int>,
    pub tcl_WriteObj: ::std::option::Option<extern "C" fn
                                                (chan: Tcl_Channel,
                                                 objPtr: *mut Tcl_Obj)
                                                -> ::libc::c_int>,
    pub tcl_GetString: ::std::option::Option<extern "C" fn
                                                 (objPtr: *mut Tcl_Obj)
                                                 -> *mut ::libc::c_char>,
    pub tcl_GetDefaultEncodingDir: ::std::option::Option<extern "C" fn()
                                                             ->
                                                                 *const ::libc::c_char>,
    pub tcl_SetDefaultEncodingDir: ::std::option::Option<extern "C" fn
                                                             (path:
                                                                  *const ::libc::c_char)
                                                             -> ()>,
    pub tcl_AlertNotifier: ::std::option::Option<extern "C" fn
                                                     (clientData: ClientData)
                                                     -> ()>,
    pub tcl_ServiceModeHook: ::std::option::Option<extern "C" fn
                                                       (mode: ::libc::c_int)
                                                       -> ()>,
    pub tcl_UniCharIsAlnum: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_UniCharIsAlpha: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_UniCharIsDigit: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_UniCharIsLower: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_UniCharIsSpace: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_UniCharIsUpper: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_UniCharIsWordChar: ::std::option::Option<extern "C" fn
                                                         (ch: ::libc::c_int)
                                                         -> ::libc::c_int>,
    pub tcl_UniCharLen: ::std::option::Option<extern "C" fn
                                                  (uniStr: *const Tcl_UniChar)
                                                  -> ::libc::c_int>,
    pub tcl_UniCharNcmp: ::std::option::Option<extern "C" fn
                                                   (ucs: *const Tcl_UniChar,
                                                    uct: *const Tcl_UniChar,
                                                    numChars: ::libc::c_ulong)
                                                   -> ::libc::c_int>,
    pub tcl_UniCharToUtfDString: ::std::option::Option<extern "C" fn
                                                           (uniStr:
                                                                *const Tcl_UniChar,
                                                            uniLength:
                                                                ::libc::c_int,
                                                            dsPtr:
                                                                *mut Tcl_DString)
                                                           ->
                                                               *mut ::libc::c_char>,
    pub tcl_UtfToUniCharDString: ::std::option::Option<extern "C" fn
                                                           (src:
                                                                *const ::libc::c_char,
                                                            length:
                                                                ::libc::c_int,
                                                            dsPtr:
                                                                *mut Tcl_DString)
                                                           ->
                                                               *mut Tcl_UniChar>,
    pub tcl_GetRegExpFromObj: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         patObj: *mut Tcl_Obj,
                                                         flags: ::libc::c_int)
                                                        -> Tcl_RegExp>,
    pub tcl_EvalTokens: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   tokenPtr: *mut Tcl_Token,
                                                   count: ::libc::c_int)
                                                  -> *mut Tcl_Obj>,
    pub tcl_FreeParse: ::std::option::Option<extern "C" fn
                                                 (parsePtr: *mut Tcl_Parse)
                                                 -> ()>,
    pub tcl_LogCommandInfo: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       script:
                                                           *const ::libc::c_char,
                                                       command:
                                                           *const ::libc::c_char,
                                                       length: ::libc::c_int)
                                                      -> ()>,
    pub tcl_ParseBraces: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    start:
                                                        *const ::libc::c_char,
                                                    numBytes: ::libc::c_int,
                                                    parsePtr: *mut Tcl_Parse,
                                                    append: ::libc::c_int,
                                                    termPtr:
                                                        *mut *const ::libc::c_char)
                                                   -> ::libc::c_int>,
    pub tcl_ParseCommand: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     start:
                                                         *const ::libc::c_char,
                                                     numBytes: ::libc::c_int,
                                                     nested: ::libc::c_int,
                                                     parsePtr: *mut Tcl_Parse)
                                                    -> ::libc::c_int>,
    pub tcl_ParseExpr: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  start:
                                                      *const ::libc::c_char,
                                                  numBytes: ::libc::c_int,
                                                  parsePtr: *mut Tcl_Parse)
                                                 -> ::libc::c_int>,
    pub tcl_ParseQuotedString: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          start:
                                                              *const ::libc::c_char,
                                                          numBytes:
                                                              ::libc::c_int,
                                                          parsePtr:
                                                              *mut Tcl_Parse,
                                                          append:
                                                              ::libc::c_int,
                                                          termPtr:
                                                              *mut *const ::libc::c_char)
                                                         -> ::libc::c_int>,
    pub tcl_ParseVarName: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     start:
                                                         *const ::libc::c_char,
                                                     numBytes: ::libc::c_int,
                                                     parsePtr: *mut Tcl_Parse,
                                                     append: ::libc::c_int)
                                                    -> ::libc::c_int>,
    pub tcl_GetCwd: ::std::option::Option<extern "C" fn
                                              (interp: *mut Tcl_Interp,
                                               cwdPtr: *mut Tcl_DString)
                                              -> *mut ::libc::c_char>,
    pub tcl_Chdir: ::std::option::Option<extern "C" fn
                                             (dirName: *const ::libc::c_char)
                                             -> ::libc::c_int>,
    pub tcl_Access: ::std::option::Option<extern "C" fn
                                              (path: *const ::libc::c_char,
                                               mode: ::libc::c_int)
                                              -> ::libc::c_int>,
    pub tcl_Stat: ::std::option::Option<extern "C" fn
                                            (path: *const ::libc::c_char,
                                             bufPtr: *mut Struct_stat)
                                            -> ::libc::c_int>,
    pub tcl_UtfNcmp: ::std::option::Option<extern "C" fn
                                               (s1: *const ::libc::c_char,
                                                s2: *const ::libc::c_char,
                                                n: ::libc::c_ulong)
                                               -> ::libc::c_int>,
    pub tcl_UtfNcasecmp: ::std::option::Option<extern "C" fn
                                                   (s1: *const ::libc::c_char,
                                                    s2: *const ::libc::c_char,
                                                    n: ::libc::c_ulong)
                                                   -> ::libc::c_int>,
    pub tcl_StringCaseMatch: ::std::option::Option<extern "C" fn
                                                       (str:
                                                            *const ::libc::c_char,
                                                        pattern:
                                                            *const ::libc::c_char,
                                                        nocase: ::libc::c_int)
                                                       -> ::libc::c_int>,
    pub tcl_UniCharIsControl: ::std::option::Option<extern "C" fn
                                                        (ch: ::libc::c_int)
                                                        -> ::libc::c_int>,
    pub tcl_UniCharIsGraph: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_UniCharIsPrint: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_UniCharIsPunct: ::std::option::Option<extern "C" fn
                                                      (ch: ::libc::c_int)
                                                      -> ::libc::c_int>,
    pub tcl_RegExpExecObj: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      regexp: Tcl_RegExp,
                                                      textObj: *mut Tcl_Obj,
                                                      offset: ::libc::c_int,
                                                      nmatches: ::libc::c_int,
                                                      flags: ::libc::c_int)
                                                     -> ::libc::c_int>,
    pub tcl_RegExpGetInfo: ::std::option::Option<extern "C" fn
                                                     (regexp: Tcl_RegExp,
                                                      infoPtr:
                                                          *mut Tcl_RegExpInfo)
                                                     -> ()>,
    pub tcl_NewUnicodeObj: ::std::option::Option<extern "C" fn
                                                     (unicode:
                                                          *const Tcl_UniChar,
                                                      numChars: ::libc::c_int)
                                                     -> *mut Tcl_Obj>,
    pub tcl_SetUnicodeObj: ::std::option::Option<extern "C" fn
                                                     (objPtr: *mut Tcl_Obj,
                                                      unicode:
                                                          *const Tcl_UniChar,
                                                      numChars: ::libc::c_int)
                                                     -> ()>,
    pub tcl_GetCharLength: ::std::option::Option<extern "C" fn
                                                     (objPtr: *mut Tcl_Obj)
                                                     -> ::libc::c_int>,
    pub tcl_GetUniChar: ::std::option::Option<extern "C" fn
                                                  (objPtr: *mut Tcl_Obj,
                                                   index: ::libc::c_int)
                                                  -> Tcl_UniChar>,
    pub tcl_GetUnicode: ::std::option::Option<extern "C" fn
                                                  (objPtr: *mut Tcl_Obj)
                                                  -> *mut Tcl_UniChar>,
    pub tcl_GetRange: ::std::option::Option<extern "C" fn
                                                (objPtr: *mut Tcl_Obj,
                                                 first: ::libc::c_int,
                                                 last: ::libc::c_int)
                                                -> *mut Tcl_Obj>,
    pub tcl_AppendUnicodeToObj: ::std::option::Option<extern "C" fn
                                                          (objPtr:
                                                               *mut Tcl_Obj,
                                                           unicode:
                                                               *const Tcl_UniChar,
                                                           length:
                                                               ::libc::c_int)
                                                          -> ()>,
    pub tcl_RegExpMatchObj: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       textObj: *mut Tcl_Obj,
                                                       patternObj:
                                                           *mut Tcl_Obj)
                                                      -> ::libc::c_int>,
    pub tcl_SetNotifier: ::std::option::Option<extern "C" fn
                                                   (notifierProcPtr:
                                                        *mut Tcl_NotifierProcs)
                                                   -> ()>,
    pub tcl_GetAllocMutex: ::std::option::Option<extern "C" fn()
                                                     -> *mut Tcl_Mutex>,
    pub tcl_GetChannelNames: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp)
                                                       -> ::libc::c_int>,
    pub tcl_GetChannelNamesEx: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          pattern:
                                                              *const ::libc::c_char)
                                                         -> ::libc::c_int>,
    pub tcl_ProcObjCmd: ::std::option::Option<extern "C" fn
                                                  (clientData: ClientData,
                                                   interp: *mut Tcl_Interp,
                                                   objc: ::libc::c_int,
                                                   objv: *const *mut Tcl_Obj)
                                                  -> ::libc::c_int>,
    pub tcl_ConditionFinalize: ::std::option::Option<extern "C" fn
                                                         (condPtr:
                                                              *mut Tcl_Condition)
                                                         -> ()>,
    pub tcl_MutexFinalize: ::std::option::Option<extern "C" fn
                                                     (mutex: *mut Tcl_Mutex)
                                                     -> ()>,
    pub tcl_CreateThread: ::std::option::Option<extern "C" fn
                                                    (idPtr: *mut Tcl_ThreadId,
                                                     _proc:
                                                         *mut Tcl_ThreadCreateProc,
                                                     clientData: ClientData,
                                                     stackSize: ::libc::c_int,
                                                     flags: ::libc::c_int)
                                                    -> ::libc::c_int>,
    pub tcl_ReadRaw: ::std::option::Option<extern "C" fn
                                               (chan: Tcl_Channel,
                                                dst: *mut ::libc::c_char,
                                                bytesToRead: ::libc::c_int)
                                               -> ::libc::c_int>,
    pub tcl_WriteRaw: ::std::option::Option<extern "C" fn
                                                (chan: Tcl_Channel,
                                                 src: *const ::libc::c_char,
                                                 srcLen: ::libc::c_int)
                                                -> ::libc::c_int>,
    pub tcl_GetTopChannel: ::std::option::Option<extern "C" fn
                                                     (chan: Tcl_Channel)
                                                     -> Tcl_Channel>,
    pub tcl_ChannelBuffered: ::std::option::Option<extern "C" fn
                                                       (chan: Tcl_Channel)
                                                       -> ::libc::c_int>,
    pub tcl_ChannelName: ::std::option::Option<extern "C" fn
                                                   (chanTypePtr:
                                                        *const Tcl_ChannelType)
                                                   -> *const ::libc::c_char>,
    pub tcl_ChannelVersion: ::std::option::Option<extern "C" fn
                                                      (chanTypePtr:
                                                           *const Tcl_ChannelType)
                                                      ->
                                                          Tcl_ChannelTypeVersion>,
    pub tcl_ChannelBlockModeProc: ::std::option::Option<extern "C" fn
                                                            (chanTypePtr:
                                                                 *const Tcl_ChannelType)
                                                            ->
                                                                *mut Tcl_DriverBlockModeProc>,
    pub tcl_ChannelCloseProc: ::std::option::Option<extern "C" fn
                                                        (chanTypePtr:
                                                             *const Tcl_ChannelType)
                                                        ->
                                                            *mut Tcl_DriverCloseProc>,
    pub tcl_ChannelClose2Proc: ::std::option::Option<extern "C" fn
                                                         (chanTypePtr:
                                                              *const Tcl_ChannelType)
                                                         ->
                                                             *mut Tcl_DriverClose2Proc>,
    pub tcl_ChannelInputProc: ::std::option::Option<extern "C" fn
                                                        (chanTypePtr:
                                                             *const Tcl_ChannelType)
                                                        ->
                                                            *mut Tcl_DriverInputProc>,
    pub tcl_ChannelOutputProc: ::std::option::Option<extern "C" fn
                                                         (chanTypePtr:
                                                              *const Tcl_ChannelType)
                                                         ->
                                                             *mut Tcl_DriverOutputProc>,
    pub tcl_ChannelSeekProc: ::std::option::Option<extern "C" fn
                                                       (chanTypePtr:
                                                            *const Tcl_ChannelType)
                                                       ->
                                                           *mut Tcl_DriverSeekProc>,
    pub tcl_ChannelSetOptionProc: ::std::option::Option<extern "C" fn
                                                            (chanTypePtr:
                                                                 *const Tcl_ChannelType)
                                                            ->
                                                                *mut Tcl_DriverSetOptionProc>,
    pub tcl_ChannelGetOptionProc: ::std::option::Option<extern "C" fn
                                                            (chanTypePtr:
                                                                 *const Tcl_ChannelType)
                                                            ->
                                                                *mut Tcl_DriverGetOptionProc>,
    pub tcl_ChannelWatchProc: ::std::option::Option<extern "C" fn
                                                        (chanTypePtr:
                                                             *const Tcl_ChannelType)
                                                        ->
                                                            *mut Tcl_DriverWatchProc>,
    pub tcl_ChannelGetHandleProc: ::std::option::Option<extern "C" fn
                                                            (chanTypePtr:
                                                                 *const Tcl_ChannelType)
                                                            ->
                                                                *mut Tcl_DriverGetHandleProc>,
    pub tcl_ChannelFlushProc: ::std::option::Option<extern "C" fn
                                                        (chanTypePtr:
                                                             *const Tcl_ChannelType)
                                                        ->
                                                            *mut Tcl_DriverFlushProc>,
    pub tcl_ChannelHandlerProc: ::std::option::Option<extern "C" fn
                                                          (chanTypePtr:
                                                               *const Tcl_ChannelType)
                                                          ->
                                                              *mut Tcl_DriverHandlerProc>,
    pub tcl_JoinThread: ::std::option::Option<extern "C" fn
                                                  (threadId: Tcl_ThreadId,
                                                   result: *mut ::libc::c_int)
                                                  -> ::libc::c_int>,
    pub tcl_IsChannelShared: ::std::option::Option<extern "C" fn
                                                       (channel: Tcl_Channel)
                                                       -> ::libc::c_int>,
    pub tcl_IsChannelRegistered: ::std::option::Option<extern "C" fn
                                                           (interp:
                                                                *mut Tcl_Interp,
                                                            channel:
                                                                Tcl_Channel)
                                                           -> ::libc::c_int>,
    pub tcl_CutChannel: ::std::option::Option<extern "C" fn
                                                  (channel: Tcl_Channel)
                                                  -> ()>,
    pub tcl_SpliceChannel: ::std::option::Option<extern "C" fn
                                                     (channel: Tcl_Channel)
                                                     -> ()>,
    pub tcl_ClearChannelHandlers: ::std::option::Option<extern "C" fn
                                                            (channel:
                                                                 Tcl_Channel)
                                                            -> ()>,
    pub tcl_IsChannelExisting: ::std::option::Option<extern "C" fn
                                                         (channelName:
                                                              *const ::libc::c_char)
                                                         -> ::libc::c_int>,
    pub tcl_UniCharNcasecmp: ::std::option::Option<extern "C" fn
                                                       (ucs:
                                                            *const Tcl_UniChar,
                                                        uct:
                                                            *const Tcl_UniChar,
                                                        numChars:
                                                            ::libc::c_ulong)
                                                       -> ::libc::c_int>,
    pub tcl_UniCharCaseMatch: ::std::option::Option<extern "C" fn
                                                        (uniStr:
                                                             *const Tcl_UniChar,
                                                         uniPattern:
                                                             *const Tcl_UniChar,
                                                         nocase:
                                                             ::libc::c_int)
                                                        -> ::libc::c_int>,
    pub tcl_FindHashEntry: ::std::option::Option<extern "C" fn
                                                     (tablePtr:
                                                          *mut Tcl_HashTable,
                                                      key:
                                                          *const ::libc::c_void)
                                                     -> *mut Tcl_HashEntry>,
    pub tcl_CreateHashEntry: ::std::option::Option<extern "C" fn
                                                       (tablePtr:
                                                            *mut Tcl_HashTable,
                                                        key:
                                                            *const ::libc::c_void,
                                                        newPtr:
                                                            *mut ::libc::c_int)
                                                       -> *mut Tcl_HashEntry>,
    pub tcl_InitCustomHashTable: ::std::option::Option<extern "C" fn
                                                           (tablePtr:
                                                                *mut Tcl_HashTable,
                                                            keyType:
                                                                ::libc::c_int,
                                                            typePtr:
                                                                *const Tcl_HashKeyType)
                                                           -> ()>,
    pub tcl_InitObjHashTable: ::std::option::Option<extern "C" fn
                                                        (tablePtr:
                                                             *mut Tcl_HashTable)
                                                        -> ()>,
    pub tcl_CommandTraceInfo: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         varName:
                                                             *const ::libc::c_char,
                                                         flags: ::libc::c_int,
                                                         procPtr:
                                                             *mut Tcl_CommandTraceProc,
                                                         prevClientData:
                                                             ClientData)
                                                        -> ClientData>,
    pub tcl_TraceCommand: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     varName:
                                                         *const ::libc::c_char,
                                                     flags: ::libc::c_int,
                                                     _proc:
                                                         *mut Tcl_CommandTraceProc,
                                                     clientData: ClientData)
                                                    -> ::libc::c_int>,
    pub tcl_UntraceCommand: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       varName:
                                                           *const ::libc::c_char,
                                                       flags: ::libc::c_int,
                                                       _proc:
                                                           *mut Tcl_CommandTraceProc,
                                                       clientData: ClientData)
                                                      -> ()>,
    pub tcl_AttemptAlloc: ::std::option::Option<extern "C" fn
                                                    (size: ::libc::c_uint)
                                                    -> *mut ::libc::c_char>,
    pub tcl_AttemptDbCkalloc: ::std::option::Option<extern "C" fn
                                                        (size: ::libc::c_uint,
                                                         file:
                                                             *const ::libc::c_char,
                                                         line: ::libc::c_int)
                                                        ->
                                                            *mut ::libc::c_char>,
    pub tcl_AttemptRealloc: ::std::option::Option<extern "C" fn
                                                      (ptr:
                                                           *mut ::libc::c_char,
                                                       size: ::libc::c_uint)
                                                      -> *mut ::libc::c_char>,
    pub tcl_AttemptDbCkrealloc: ::std::option::Option<extern "C" fn
                                                          (ptr:
                                                               *mut ::libc::c_char,
                                                           size:
                                                               ::libc::c_uint,
                                                           file:
                                                               *const ::libc::c_char,
                                                           line:
                                                               ::libc::c_int)
                                                          ->
                                                              *mut ::libc::c_char>,
    pub tcl_AttemptSetObjLength: ::std::option::Option<extern "C" fn
                                                           (objPtr:
                                                                *mut Tcl_Obj,
                                                            length:
                                                                ::libc::c_int)
                                                           -> ::libc::c_int>,
    pub tcl_GetChannelThread: ::std::option::Option<extern "C" fn
                                                        (channel: Tcl_Channel)
                                                        -> Tcl_ThreadId>,
    pub tcl_GetUnicodeFromObj: ::std::option::Option<extern "C" fn
                                                         (objPtr:
                                                              *mut Tcl_Obj,
                                                          lengthPtr:
                                                              *mut ::libc::c_int)
                                                         -> *mut Tcl_UniChar>,
    pub tcl_GetMathFuncInfo: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        name:
                                                            *const ::libc::c_char,
                                                        numArgsPtr:
                                                            *mut ::libc::c_int,
                                                        argTypesPtr:
                                                            *mut *mut Tcl_ValueType,
                                                        procPtr:
                                                            *mut *mut Tcl_MathProc,
                                                        clientDataPtr:
                                                            *mut ClientData)
                                                       -> ::libc::c_int>,
    pub tcl_ListMathFuncs: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      pattern:
                                                          *const ::libc::c_char)
                                                     -> *mut Tcl_Obj>,
    pub tcl_SubstObj: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 objPtr: *mut Tcl_Obj,
                                                 flags: ::libc::c_int)
                                                -> *mut Tcl_Obj>,
    pub tcl_DetachChannel: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      channel: Tcl_Channel)
                                                     -> ::libc::c_int>,
    pub tcl_IsStandardChannel: ::std::option::Option<extern "C" fn
                                                         (channel:
                                                              Tcl_Channel)
                                                         -> ::libc::c_int>,
    pub tcl_FSCopyFile: ::std::option::Option<extern "C" fn
                                                  (srcPathPtr: *mut Tcl_Obj,
                                                   destPathPtr: *mut Tcl_Obj)
                                                  -> ::libc::c_int>,
    pub tcl_FSCopyDirectory: ::std::option::Option<extern "C" fn
                                                       (srcPathPtr:
                                                            *mut Tcl_Obj,
                                                        destPathPtr:
                                                            *mut Tcl_Obj,
                                                        errorPtr:
                                                            *mut *mut Tcl_Obj)
                                                       -> ::libc::c_int>,
    pub tcl_FSCreateDirectory: ::std::option::Option<extern "C" fn
                                                         (pathPtr:
                                                              *mut Tcl_Obj)
                                                         -> ::libc::c_int>,
    pub tcl_FSDeleteFile: ::std::option::Option<extern "C" fn
                                                    (pathPtr: *mut Tcl_Obj)
                                                    -> ::libc::c_int>,
    pub tcl_FSLoadFile: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   pathPtr: *mut Tcl_Obj,
                                                   sym1:
                                                       *const ::libc::c_char,
                                                   sym2:
                                                       *const ::libc::c_char,
                                                   proc1Ptr:
                                                       *mut *mut Tcl_PackageInitProc,
                                                   proc2Ptr:
                                                       *mut *mut Tcl_PackageInitProc,
                                                   handlePtr:
                                                       *mut Tcl_LoadHandle,
                                                   unloadProcPtr:
                                                       *mut *mut Tcl_FSUnloadFileProc)
                                                  -> ::libc::c_int>,
    pub tcl_FSMatchInDirectory: ::std::option::Option<extern "C" fn
                                                          (interp:
                                                               *mut Tcl_Interp,
                                                           result:
                                                               *mut Tcl_Obj,
                                                           pathPtr:
                                                               *mut Tcl_Obj,
                                                           pattern:
                                                               *const ::libc::c_char,
                                                           types:
                                                               *mut Tcl_GlobTypeData)
                                                          -> ::libc::c_int>,
    pub tcl_FSLink: ::std::option::Option<extern "C" fn
                                              (pathPtr: *mut Tcl_Obj,
                                               toPtr: *mut Tcl_Obj,
                                               linkAction: ::libc::c_int)
                                              -> *mut Tcl_Obj>,
    pub tcl_FSRemoveDirectory: ::std::option::Option<extern "C" fn
                                                         (pathPtr:
                                                              *mut Tcl_Obj,
                                                          recursive:
                                                              ::libc::c_int,
                                                          errorPtr:
                                                              *mut *mut Tcl_Obj)
                                                         -> ::libc::c_int>,
    pub tcl_FSRenameFile: ::std::option::Option<extern "C" fn
                                                    (srcPathPtr: *mut Tcl_Obj,
                                                     destPathPtr:
                                                         *mut Tcl_Obj)
                                                    -> ::libc::c_int>,
    pub tcl_FSLstat: ::std::option::Option<extern "C" fn
                                               (pathPtr: *mut Tcl_Obj,
                                                buf: *mut Tcl_StatBuf)
                                               -> ::libc::c_int>,
    pub tcl_FSUtime: ::std::option::Option<extern "C" fn
                                               (pathPtr: *mut Tcl_Obj,
                                                tval: *mut Struct_utimbuf)
                                               -> ::libc::c_int>,
    pub tcl_FSFileAttrsGet: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       index: ::libc::c_int,
                                                       pathPtr: *mut Tcl_Obj,
                                                       objPtrRef:
                                                           *mut *mut Tcl_Obj)
                                                      -> ::libc::c_int>,
    pub tcl_FSFileAttrsSet: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       index: ::libc::c_int,
                                                       pathPtr: *mut Tcl_Obj,
                                                       objPtr: *mut Tcl_Obj)
                                                      -> ::libc::c_int>,
    pub tcl_FSFileAttrStrings: ::std::option::Option<extern "C" fn
                                                         (pathPtr:
                                                              *mut Tcl_Obj,
                                                          objPtrRef:
                                                              *mut *mut Tcl_Obj)
                                                         ->
                                                             *const *const ::libc::c_char>,
    pub tcl_FSStat: ::std::option::Option<extern "C" fn
                                              (pathPtr: *mut Tcl_Obj,
                                               buf: *mut Tcl_StatBuf)
                                              -> ::libc::c_int>,
    pub tcl_FSAccess: ::std::option::Option<extern "C" fn
                                                (pathPtr: *mut Tcl_Obj,
                                                 mode: ::libc::c_int)
                                                -> ::libc::c_int>,
    pub tcl_FSOpenFileChannel: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          pathPtr:
                                                              *mut Tcl_Obj,
                                                          modeString:
                                                              *const ::libc::c_char,
                                                          permissions:
                                                              ::libc::c_int)
                                                         -> Tcl_Channel>,
    pub tcl_FSGetCwd: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp)
                                                -> *mut Tcl_Obj>,
    pub tcl_FSChdir: ::std::option::Option<extern "C" fn
                                               (pathPtr: *mut Tcl_Obj)
                                               -> ::libc::c_int>,
    pub tcl_FSConvertToPathType: ::std::option::Option<extern "C" fn
                                                           (interp:
                                                                *mut Tcl_Interp,
                                                            pathPtr:
                                                                *mut Tcl_Obj)
                                                           -> ::libc::c_int>,
    pub tcl_FSJoinPath: ::std::option::Option<extern "C" fn
                                                  (listObj: *mut Tcl_Obj,
                                                   elements: ::libc::c_int)
                                                  -> *mut Tcl_Obj>,
    pub tcl_FSSplitPath: ::std::option::Option<extern "C" fn
                                                   (pathPtr: *mut Tcl_Obj,
                                                    lenPtr:
                                                        *mut ::libc::c_int)
                                                   -> *mut Tcl_Obj>,
    pub tcl_FSEqualPaths: ::std::option::Option<extern "C" fn
                                                    (firstPtr: *mut Tcl_Obj,
                                                     secondPtr: *mut Tcl_Obj)
                                                    -> ::libc::c_int>,
    pub tcl_FSGetNormalizedPath: ::std::option::Option<extern "C" fn
                                                           (interp:
                                                                *mut Tcl_Interp,
                                                            pathPtr:
                                                                *mut Tcl_Obj)
                                                           -> *mut Tcl_Obj>,
    pub tcl_FSJoinToPath: ::std::option::Option<extern "C" fn
                                                    (pathPtr: *mut Tcl_Obj,
                                                     objc: ::libc::c_int,
                                                     objv:
                                                         *const *mut Tcl_Obj)
                                                    -> *mut Tcl_Obj>,
    pub tcl_FSGetInternalRep: ::std::option::Option<extern "C" fn
                                                        (pathPtr:
                                                             *mut Tcl_Obj,
                                                         fsPtr:
                                                             *const Tcl_Filesystem)
                                                        -> ClientData>,
    pub tcl_FSGetTranslatedPath: ::std::option::Option<extern "C" fn
                                                           (interp:
                                                                *mut Tcl_Interp,
                                                            pathPtr:
                                                                *mut Tcl_Obj)
                                                           -> *mut Tcl_Obj>,
    pub tcl_FSEvalFile: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   fileName: *mut Tcl_Obj)
                                                  -> ::libc::c_int>,
    pub tcl_FSNewNativePath: ::std::option::Option<extern "C" fn
                                                       (fromFilesystem:
                                                            *const Tcl_Filesystem,
                                                        clientData:
                                                            ClientData)
                                                       -> *mut Tcl_Obj>,
    pub tcl_FSGetNativePath: ::std::option::Option<extern "C" fn
                                                       (pathPtr: *mut Tcl_Obj)
                                                       ->
                                                           *const ::libc::c_void>,
    pub tcl_FSFileSystemInfo: ::std::option::Option<extern "C" fn
                                                        (pathPtr:
                                                             *mut Tcl_Obj)
                                                        -> *mut Tcl_Obj>,
    pub tcl_FSPathSeparator: ::std::option::Option<extern "C" fn
                                                       (pathPtr: *mut Tcl_Obj)
                                                       -> *mut Tcl_Obj>,
    pub tcl_FSListVolumes: ::std::option::Option<extern "C" fn()
                                                     -> *mut Tcl_Obj>,
    pub tcl_FSRegister: ::std::option::Option<extern "C" fn
                                                  (clientData: ClientData,
                                                   fsPtr:
                                                       *const Tcl_Filesystem)
                                                  -> ::libc::c_int>,
    pub tcl_FSUnregister: ::std::option::Option<extern "C" fn
                                                    (fsPtr:
                                                         *const Tcl_Filesystem)
                                                    -> ::libc::c_int>,
    pub tcl_FSData: ::std::option::Option<extern "C" fn
                                              (fsPtr: *const Tcl_Filesystem)
                                              -> ClientData>,
    pub tcl_FSGetTranslatedStringPath: ::std::option::Option<extern "C" fn
                                                                 (interp:
                                                                      *mut Tcl_Interp,
                                                                  pathPtr:
                                                                      *mut Tcl_Obj)
                                                                 ->
                                                                     *const ::libc::c_char>,
    pub tcl_FSGetFileSystemForPath: ::std::option::Option<extern "C" fn
                                                              (pathPtr:
                                                                   *mut Tcl_Obj)
                                                              ->
                                                                  *const Tcl_Filesystem>,
    pub tcl_FSGetPathType: ::std::option::Option<extern "C" fn
                                                     (pathPtr: *mut Tcl_Obj)
                                                     -> Tcl_PathType>,
    pub tcl_OutputBuffered: ::std::option::Option<extern "C" fn
                                                      (chan: Tcl_Channel)
                                                      -> ::libc::c_int>,
    pub tcl_FSMountsChanged: ::std::option::Option<extern "C" fn
                                                       (fsPtr:
                                                            *const Tcl_Filesystem)
                                                       -> ()>,
    pub tcl_EvalTokensStandard: ::std::option::Option<extern "C" fn
                                                          (interp:
                                                               *mut Tcl_Interp,
                                                           tokenPtr:
                                                               *mut Tcl_Token,
                                                           count:
                                                               ::libc::c_int)
                                                          -> ::libc::c_int>,
    pub tcl_GetTime: ::std::option::Option<extern "C" fn
                                               (timeBuf: *mut Tcl_Time)
                                               -> ()>,
    pub tcl_CreateObjTrace: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       level: ::libc::c_int,
                                                       flags: ::libc::c_int,
                                                       objProc:
                                                           *mut Tcl_CmdObjTraceProc,
                                                       clientData: ClientData,
                                                       delProc:
                                                           *mut Tcl_CmdObjTraceDeleteProc)
                                                      -> Tcl_Trace>,
    pub tcl_GetCommandInfoFromToken: ::std::option::Option<extern "C" fn
                                                               (token:
                                                                    Tcl_Command,
                                                                infoPtr:
                                                                    *mut Tcl_CmdInfo)
                                                               ->
                                                                   ::libc::c_int>,
    pub tcl_SetCommandInfoFromToken: ::std::option::Option<extern "C" fn
                                                               (token:
                                                                    Tcl_Command,
                                                                infoPtr:
                                                                    *const Tcl_CmdInfo)
                                                               ->
                                                                   ::libc::c_int>,
    pub tcl_DbNewWideIntObj: ::std::option::Option<extern "C" fn
                                                       (wideValue:
                                                            Tcl_WideInt,
                                                        file:
                                                            *const ::libc::c_char,
                                                        line: ::libc::c_int)
                                                       -> *mut Tcl_Obj>,
    pub tcl_GetWideIntFromObj: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          objPtr:
                                                              *mut Tcl_Obj,
                                                          widePtr:
                                                              *mut Tcl_WideInt)
                                                         -> ::libc::c_int>,
    pub tcl_NewWideIntObj: ::std::option::Option<extern "C" fn
                                                     (wideValue: Tcl_WideInt)
                                                     -> *mut Tcl_Obj>,
    pub tcl_SetWideIntObj: ::std::option::Option<extern "C" fn
                                                     (objPtr: *mut Tcl_Obj,
                                                      wideValue: Tcl_WideInt)
                                                     -> ()>,
    pub tcl_AllocStatBuf: ::std::option::Option<extern "C" fn()
                                                    -> *mut Tcl_StatBuf>,
    pub tcl_Seek: ::std::option::Option<extern "C" fn
                                            (chan: Tcl_Channel,
                                             offset: Tcl_WideInt,
                                             mode: ::libc::c_int)
                                            -> Tcl_WideInt>,
    pub tcl_Tell: ::std::option::Option<extern "C" fn(chan: Tcl_Channel)
                                            -> Tcl_WideInt>,
    pub tcl_ChannelWideSeekProc: ::std::option::Option<extern "C" fn
                                                           (chanTypePtr:
                                                                *const Tcl_ChannelType)
                                                           ->
                                                               *mut Tcl_DriverWideSeekProc>,
    pub tcl_DictObjPut: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   dictPtr: *mut Tcl_Obj,
                                                   keyPtr: *mut Tcl_Obj,
                                                   valuePtr: *mut Tcl_Obj)
                                                  -> ::libc::c_int>,
    pub tcl_DictObjGet: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   dictPtr: *mut Tcl_Obj,
                                                   keyPtr: *mut Tcl_Obj,
                                                   valuePtrPtr:
                                                       *mut *mut Tcl_Obj)
                                                  -> ::libc::c_int>,
    pub tcl_DictObjRemove: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      dictPtr: *mut Tcl_Obj,
                                                      keyPtr: *mut Tcl_Obj)
                                                     -> ::libc::c_int>,
    pub tcl_DictObjSize: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    dictPtr: *mut Tcl_Obj,
                                                    sizePtr:
                                                        *mut ::libc::c_int)
                                                   -> ::libc::c_int>,
    pub tcl_DictObjFirst: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     dictPtr: *mut Tcl_Obj,
                                                     searchPtr:
                                                         *mut Tcl_DictSearch,
                                                     keyPtrPtr:
                                                         *mut *mut Tcl_Obj,
                                                     valuePtrPtr:
                                                         *mut *mut Tcl_Obj,
                                                     donePtr:
                                                         *mut ::libc::c_int)
                                                    -> ::libc::c_int>,
    pub tcl_DictObjNext: ::std::option::Option<extern "C" fn
                                                   (searchPtr:
                                                        *mut Tcl_DictSearch,
                                                    keyPtrPtr:
                                                        *mut *mut Tcl_Obj,
                                                    valuePtrPtr:
                                                        *mut *mut Tcl_Obj,
                                                    donePtr:
                                                        *mut ::libc::c_int)
                                                   -> ()>,
    pub tcl_DictObjDone: ::std::option::Option<extern "C" fn
                                                   (searchPtr:
                                                        *mut Tcl_DictSearch)
                                                   -> ()>,
    pub tcl_DictObjPutKeyList: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          dictPtr:
                                                              *mut Tcl_Obj,
                                                          keyc: ::libc::c_int,
                                                          keyv:
                                                              *const *mut Tcl_Obj,
                                                          valuePtr:
                                                              *mut Tcl_Obj)
                                                         -> ::libc::c_int>,
    pub tcl_DictObjRemoveKeyList: ::std::option::Option<extern "C" fn
                                                            (interp:
                                                                 *mut Tcl_Interp,
                                                             dictPtr:
                                                                 *mut Tcl_Obj,
                                                             keyc:
                                                                 ::libc::c_int,
                                                             keyv:
                                                                 *const *mut Tcl_Obj)
                                                            -> ::libc::c_int>,
    pub tcl_NewDictObj: ::std::option::Option<extern "C" fn()
                                                  -> *mut Tcl_Obj>,
    pub tcl_DbNewDictObj: ::std::option::Option<extern "C" fn
                                                    (file:
                                                         *const ::libc::c_char,
                                                     line: ::libc::c_int)
                                                    -> *mut Tcl_Obj>,
    pub tcl_RegisterConfig: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       pkgName:
                                                           *const ::libc::c_char,
                                                       configuration:
                                                           *const Tcl_Config,
                                                       valEncoding:
                                                           *const ::libc::c_char)
                                                      -> ()>,
    pub tcl_CreateNamespace: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        name:
                                                            *const ::libc::c_char,
                                                        clientData:
                                                            ClientData,
                                                        deleteProc:
                                                            *mut Tcl_NamespaceDeleteProc)
                                                       -> *mut Tcl_Namespace>,
    pub tcl_DeleteNamespace: ::std::option::Option<extern "C" fn
                                                       (nsPtr:
                                                            *mut Tcl_Namespace)
                                                       -> ()>,
    pub tcl_AppendExportList: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         nsPtr:
                                                             *mut Tcl_Namespace,
                                                         objPtr: *mut Tcl_Obj)
                                                        -> ::libc::c_int>,
    pub tcl_Export: ::std::option::Option<extern "C" fn
                                              (interp: *mut Tcl_Interp,
                                               nsPtr: *mut Tcl_Namespace,
                                               pattern: *const ::libc::c_char,
                                               resetListFirst: ::libc::c_int)
                                              -> ::libc::c_int>,
    pub tcl_Import: ::std::option::Option<extern "C" fn
                                              (interp: *mut Tcl_Interp,
                                               nsPtr: *mut Tcl_Namespace,
                                               pattern: *const ::libc::c_char,
                                               allowOverwrite: ::libc::c_int)
                                              -> ::libc::c_int>,
    pub tcl_ForgetImport: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     nsPtr:
                                                         *mut Tcl_Namespace,
                                                     pattern:
                                                         *const ::libc::c_char)
                                                    -> ::libc::c_int>,
    pub tcl_GetCurrentNamespace: ::std::option::Option<extern "C" fn
                                                           (interp:
                                                                *mut Tcl_Interp)
                                                           ->
                                                               *mut Tcl_Namespace>,
    pub tcl_GetGlobalNamespace: ::std::option::Option<extern "C" fn
                                                          (interp:
                                                               *mut Tcl_Interp)
                                                          ->
                                                              *mut Tcl_Namespace>,
    pub tcl_FindNamespace: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      name:
                                                          *const ::libc::c_char,
                                                      contextNsPtr:
                                                          *mut Tcl_Namespace,
                                                      flags: ::libc::c_int)
                                                     -> *mut Tcl_Namespace>,
    pub tcl_FindCommand: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    name:
                                                        *const ::libc::c_char,
                                                    contextNsPtr:
                                                        *mut Tcl_Namespace,
                                                    flags: ::libc::c_int)
                                                   -> Tcl_Command>,
    pub tcl_GetCommandFromObj: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          objPtr:
                                                              *mut Tcl_Obj)
                                                         -> Tcl_Command>,
    pub tcl_GetCommandFullName: ::std::option::Option<extern "C" fn
                                                          (interp:
                                                               *mut Tcl_Interp,
                                                           command:
                                                               Tcl_Command,
                                                           objPtr:
                                                               *mut Tcl_Obj)
                                                          -> ()>,
    pub tcl_FSEvalFileEx: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     fileName: *mut Tcl_Obj,
                                                     encodingName:
                                                         *const ::libc::c_char)
                                                    -> ::libc::c_int>,
    pub tcl_SetExitProc: ::std::option::Option<extern "C" fn
                                                   (_proc: *mut Tcl_ExitProc)
                                                   -> *mut Tcl_ExitProc>,
    pub tcl_LimitAddHandler: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        _type: ::libc::c_int,
                                                        handlerProc:
                                                            *mut Tcl_LimitHandlerProc,
                                                        clientData:
                                                            ClientData,
                                                        deleteProc:
                                                            *mut Tcl_LimitHandlerDeleteProc)
                                                       -> ()>,
    pub tcl_LimitRemoveHandler: ::std::option::Option<extern "C" fn
                                                          (interp:
                                                               *mut Tcl_Interp,
                                                           _type:
                                                               ::libc::c_int,
                                                           handlerProc:
                                                               *mut Tcl_LimitHandlerProc,
                                                           clientData:
                                                               ClientData)
                                                          -> ()>,
    pub tcl_LimitReady: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp)
                                                  -> ::libc::c_int>,
    pub tcl_LimitCheck: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp)
                                                  -> ::libc::c_int>,
    pub tcl_LimitExceeded: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp)
                                                     -> ::libc::c_int>,
    pub tcl_LimitSetCommands: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         commandLimit:
                                                             ::libc::c_int)
                                                        -> ()>,
    pub tcl_LimitSetTime: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     timeLimitPtr:
                                                         *mut Tcl_Time)
                                                    -> ()>,
    pub tcl_LimitSetGranularity: ::std::option::Option<extern "C" fn
                                                           (interp:
                                                                *mut Tcl_Interp,
                                                            _type:
                                                                ::libc::c_int,
                                                            granularity:
                                                                ::libc::c_int)
                                                           -> ()>,
    pub tcl_LimitTypeEnabled: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         _type: ::libc::c_int)
                                                        -> ::libc::c_int>,
    pub tcl_LimitTypeExceeded: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          _type:
                                                              ::libc::c_int)
                                                         -> ::libc::c_int>,
    pub tcl_LimitTypeSet: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     _type: ::libc::c_int)
                                                    -> ()>,
    pub tcl_LimitTypeReset: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       _type: ::libc::c_int)
                                                      -> ()>,
    pub tcl_LimitGetCommands: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp)
                                                        -> ::libc::c_int>,
    pub tcl_LimitGetTime: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     timeLimitPtr:
                                                         *mut Tcl_Time)
                                                    -> ()>,
    pub tcl_LimitGetGranularity: ::std::option::Option<extern "C" fn
                                                           (interp:
                                                                *mut Tcl_Interp,
                                                            _type:
                                                                ::libc::c_int)
                                                           -> ::libc::c_int>,
    pub tcl_SaveInterpState: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        status: ::libc::c_int)
                                                       -> Tcl_InterpState>,
    pub tcl_RestoreInterpState: ::std::option::Option<extern "C" fn
                                                          (interp:
                                                               *mut Tcl_Interp,
                                                           state:
                                                               Tcl_InterpState)
                                                          -> ::libc::c_int>,
    pub tcl_DiscardInterpState: ::std::option::Option<extern "C" fn
                                                          (state:
                                                               Tcl_InterpState)
                                                          -> ()>,
    pub tcl_SetReturnOptions: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         options:
                                                             *mut Tcl_Obj)
                                                        -> ::libc::c_int>,
    pub tcl_GetReturnOptions: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         result:
                                                             ::libc::c_int)
                                                        -> *mut Tcl_Obj>,
    pub tcl_IsEnsemble: ::std::option::Option<extern "C" fn
                                                  (token: Tcl_Command)
                                                  -> ::libc::c_int>,
    pub tcl_CreateEnsemble: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       name:
                                                           *const ::libc::c_char,
                                                       namespacePtr:
                                                           *mut Tcl_Namespace,
                                                       flags: ::libc::c_int)
                                                      -> Tcl_Command>,
    pub tcl_FindEnsemble: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     cmdNameObj: *mut Tcl_Obj,
                                                     flags: ::libc::c_int)
                                                    -> Tcl_Command>,
    pub tcl_SetEnsembleSubcommandList: ::std::option::Option<extern "C" fn
                                                                 (interp:
                                                                      *mut Tcl_Interp,
                                                                  token:
                                                                      Tcl_Command,
                                                                  subcmdList:
                                                                      *mut Tcl_Obj)
                                                                 ->
                                                                     ::libc::c_int>,
    pub tcl_SetEnsembleMappingDict: ::std::option::Option<extern "C" fn
                                                              (interp:
                                                                   *mut Tcl_Interp,
                                                               token:
                                                                   Tcl_Command,
                                                               mapDict:
                                                                   *mut Tcl_Obj)
                                                              ->
                                                                  ::libc::c_int>,
    pub tcl_SetEnsembleUnknownHandler: ::std::option::Option<extern "C" fn
                                                                 (interp:
                                                                      *mut Tcl_Interp,
                                                                  token:
                                                                      Tcl_Command,
                                                                  unknownList:
                                                                      *mut Tcl_Obj)
                                                                 ->
                                                                     ::libc::c_int>,
    pub tcl_SetEnsembleFlags: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         token: Tcl_Command,
                                                         flags: ::libc::c_int)
                                                        -> ::libc::c_int>,
    pub tcl_GetEnsembleSubcommandList: ::std::option::Option<extern "C" fn
                                                                 (interp:
                                                                      *mut Tcl_Interp,
                                                                  token:
                                                                      Tcl_Command,
                                                                  subcmdListPtr:
                                                                      *mut *mut Tcl_Obj)
                                                                 ->
                                                                     ::libc::c_int>,
    pub tcl_GetEnsembleMappingDict: ::std::option::Option<extern "C" fn
                                                              (interp:
                                                                   *mut Tcl_Interp,
                                                               token:
                                                                   Tcl_Command,
                                                               mapDictPtr:
                                                                   *mut *mut Tcl_Obj)
                                                              ->
                                                                  ::libc::c_int>,
    pub tcl_GetEnsembleUnknownHandler: ::std::option::Option<extern "C" fn
                                                                 (interp:
                                                                      *mut Tcl_Interp,
                                                                  token:
                                                                      Tcl_Command,
                                                                  unknownListPtr:
                                                                      *mut *mut Tcl_Obj)
                                                                 ->
                                                                     ::libc::c_int>,
    pub tcl_GetEnsembleFlags: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         token: Tcl_Command,
                                                         flagsPtr:
                                                             *mut ::libc::c_int)
                                                        -> ::libc::c_int>,
    pub tcl_GetEnsembleNamespace: ::std::option::Option<extern "C" fn
                                                            (interp:
                                                                 *mut Tcl_Interp,
                                                             token:
                                                                 Tcl_Command,
                                                             namespacePtrPtr:
                                                                 *mut *mut Tcl_Namespace)
                                                            -> ::libc::c_int>,
    pub tcl_SetTimeProc: ::std::option::Option<extern "C" fn
                                                   (getProc:
                                                        *mut Tcl_GetTimeProc,
                                                    scaleProc:
                                                        *mut Tcl_ScaleTimeProc,
                                                    clientData: ClientData)
                                                   -> ()>,
    pub tcl_QueryTimeProc: ::std::option::Option<extern "C" fn
                                                     (getProc:
                                                          *mut *mut Tcl_GetTimeProc,
                                                      scaleProc:
                                                          *mut *mut Tcl_ScaleTimeProc,
                                                      clientData:
                                                          *mut ClientData)
                                                     -> ()>,
    pub tcl_ChannelThreadActionProc: ::std::option::Option<extern "C" fn
                                                               (chanTypePtr:
                                                                    *const Tcl_ChannelType)
                                                               ->
                                                                   *mut Tcl_DriverThreadActionProc>,
    pub tcl_NewBignumObj: ::std::option::Option<extern "C" fn
                                                    (value: *mut mp_int)
                                                    -> *mut Tcl_Obj>,
    pub tcl_DbNewBignumObj: ::std::option::Option<extern "C" fn
                                                      (value: *mut mp_int,
                                                       file:
                                                           *const ::libc::c_char,
                                                       line: ::libc::c_int)
                                                      -> *mut Tcl_Obj>,
    pub tcl_SetBignumObj: ::std::option::Option<extern "C" fn
                                                    (obj: *mut Tcl_Obj,
                                                     value: *mut mp_int)
                                                    -> ()>,
    pub tcl_GetBignumFromObj: ::std::option::Option<extern "C" fn
                                                        (interp:
                                                             *mut Tcl_Interp,
                                                         obj: *mut Tcl_Obj,
                                                         value: *mut mp_int)
                                                        -> ::libc::c_int>,
    pub tcl_TakeBignumFromObj: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          obj: *mut Tcl_Obj,
                                                          value: *mut mp_int)
                                                         -> ::libc::c_int>,
    pub tcl_TruncateChannel: ::std::option::Option<extern "C" fn
                                                       (chan: Tcl_Channel,
                                                        length: Tcl_WideInt)
                                                       -> ::libc::c_int>,
    pub tcl_ChannelTruncateProc: ::std::option::Option<extern "C" fn
                                                           (chanTypePtr:
                                                                *const Tcl_ChannelType)
                                                           ->
                                                               *mut Tcl_DriverTruncateProc>,
    pub tcl_SetChannelErrorInterp: ::std::option::Option<extern "C" fn
                                                             (interp:
                                                                  *mut Tcl_Interp,
                                                              msg:
                                                                  *mut Tcl_Obj)
                                                             -> ()>,
    pub tcl_GetChannelErrorInterp: ::std::option::Option<extern "C" fn
                                                             (interp:
                                                                  *mut Tcl_Interp,
                                                              msg:
                                                                  *mut *mut Tcl_Obj)
                                                             -> ()>,
    pub tcl_SetChannelError: ::std::option::Option<extern "C" fn
                                                       (chan: Tcl_Channel,
                                                        msg: *mut Tcl_Obj)
                                                       -> ()>,
    pub tcl_GetChannelError: ::std::option::Option<extern "C" fn
                                                       (chan: Tcl_Channel,
                                                        msg:
                                                            *mut *mut Tcl_Obj)
                                                       -> ()>,
    pub tcl_InitBignumFromDouble: ::std::option::Option<extern "C" fn
                                                            (interp:
                                                                 *mut Tcl_Interp,
                                                             initval:
                                                                 ::libc::c_double,
                                                             toInit:
                                                                 *mut mp_int)
                                                            -> ::libc::c_int>,
    pub tcl_GetNamespaceUnknownHandler: ::std::option::Option<extern "C" fn
                                                                  (interp:
                                                                       *mut Tcl_Interp,
                                                                   nsPtr:
                                                                       *mut Tcl_Namespace)
                                                                  ->
                                                                      *mut Tcl_Obj>,
    pub tcl_SetNamespaceUnknownHandler: ::std::option::Option<extern "C" fn
                                                                  (interp:
                                                                       *mut Tcl_Interp,
                                                                   nsPtr:
                                                                       *mut Tcl_Namespace,
                                                                   handlerPtr:
                                                                       *mut Tcl_Obj)
                                                                  ->
                                                                      ::libc::c_int>,
    pub tcl_GetEncodingFromObj: ::std::option::Option<extern "C" fn
                                                          (interp:
                                                               *mut Tcl_Interp,
                                                           objPtr:
                                                               *mut Tcl_Obj,
                                                           encodingPtr:
                                                               *mut Tcl_Encoding)
                                                          -> ::libc::c_int>,
    pub tcl_GetEncodingSearchPath: ::std::option::Option<extern "C" fn()
                                                             -> *mut Tcl_Obj>,
    pub tcl_SetEncodingSearchPath: ::std::option::Option<extern "C" fn
                                                             (searchPath:
                                                                  *mut Tcl_Obj)
                                                             ->
                                                                 ::libc::c_int>,
    pub tcl_GetEncodingNameFromEnvironment: ::std::option::Option<extern "C" fn
                                                                      (bufPtr:
                                                                           *mut Tcl_DString)
                                                                      ->
                                                                          *const ::libc::c_char>,
    pub tcl_PkgRequireProc: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       name:
                                                           *const ::libc::c_char,
                                                       objc: ::libc::c_int,
                                                       objv:
                                                           *const *mut Tcl_Obj,
                                                       clientDataPtr:
                                                           *mut ::libc::c_void)
                                                      -> ::libc::c_int>,
    pub tcl_AppendObjToErrorInfo: ::std::option::Option<extern "C" fn
                                                            (interp:
                                                                 *mut Tcl_Interp,
                                                             objPtr:
                                                                 *mut Tcl_Obj)
                                                            -> ()>,
    pub tcl_AppendLimitedToObj: ::std::option::Option<extern "C" fn
                                                          (objPtr:
                                                               *mut Tcl_Obj,
                                                           bytes:
                                                               *const ::libc::c_char,
                                                           length:
                                                               ::libc::c_int,
                                                           limit:
                                                               ::libc::c_int,
                                                           ellipsis:
                                                               *const ::libc::c_char)
                                                          -> ()>,
    pub tcl_Format: ::std::option::Option<extern "C" fn
                                              (interp: *mut Tcl_Interp,
                                               format: *const ::libc::c_char,
                                               objc: ::libc::c_int,
                                               objv: *const *mut Tcl_Obj)
                                              -> *mut Tcl_Obj>,
    pub tcl_AppendFormatToObj: ::std::option::Option<extern "C" fn
                                                         (interp:
                                                              *mut Tcl_Interp,
                                                          objPtr:
                                                              *mut Tcl_Obj,
                                                          format:
                                                              *const ::libc::c_char,
                                                          objc: ::libc::c_int,
                                                          objv:
                                                              *const *mut Tcl_Obj)
                                                         -> ::libc::c_int>,
    pub tcl_ObjPrintf: ::std::option::Option<extern "C" fn
                                                 (format:
                                                      *const ::libc::c_char, ...)
                                                 -> *mut Tcl_Obj>,
    pub tcl_AppendPrintfToObj: ::std::option::Option<extern "C" fn
                                                         (objPtr:
                                                              *mut Tcl_Obj,
                                                          format:
                                                              *const ::libc::c_char, ...)
                                                         -> ()>,
    pub tcl_CancelEval: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   resultObjPtr: *mut Tcl_Obj,
                                                   clientData: ClientData,
                                                   flags: ::libc::c_int)
                                                  -> ::libc::c_int>,
    pub tcl_Canceled: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 flags: ::libc::c_int)
                                                -> ::libc::c_int>,
    pub tcl_CreatePipe: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   rchan: *mut Tcl_Channel,
                                                   wchan: *mut Tcl_Channel,
                                                   flags: ::libc::c_int)
                                                  -> ::libc::c_int>,
    pub tcl_NRCreateCommand: ::std::option::Option<extern "C" fn
                                                       (interp:
                                                            *mut Tcl_Interp,
                                                        cmdName:
                                                            *const ::libc::c_char,
                                                        _proc:
                                                            *mut Tcl_ObjCmdProc,
                                                        nreProc:
                                                            *mut Tcl_ObjCmdProc,
                                                        clientData:
                                                            ClientData,
                                                        deleteProc:
                                                            *mut Tcl_CmdDeleteProc)
                                                       -> Tcl_Command>,
    pub tcl_NREvalObj: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  objPtr: *mut Tcl_Obj,
                                                  flags: ::libc::c_int)
                                                 -> ::libc::c_int>,
    pub tcl_NREvalObjv: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   objc: ::libc::c_int,
                                                   objv: *const *mut Tcl_Obj,
                                                   flags: ::libc::c_int)
                                                  -> ::libc::c_int>,
    pub tcl_NRCmdSwap: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  cmd: Tcl_Command,
                                                  objc: ::libc::c_int,
                                                  objv: *const *mut Tcl_Obj,
                                                  flags: ::libc::c_int)
                                                 -> ::libc::c_int>,
    pub tcl_NRAddCallback: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      postProcPtr:
                                                          *mut Tcl_NRPostProc,
                                                      data0: ClientData,
                                                      data1: ClientData,
                                                      data2: ClientData,
                                                      data3: ClientData)
                                                     -> ()>,
    pub tcl_NRCallObjProc: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      objProc:
                                                          *mut Tcl_ObjCmdProc,
                                                      clientData: ClientData,
                                                      objc: ::libc::c_int,
                                                      objv:
                                                          *const *mut Tcl_Obj)
                                                     -> ::libc::c_int>,
    pub tcl_GetFSDeviceFromStat: ::std::option::Option<extern "C" fn
                                                           (statPtr:
                                                                *const Tcl_StatBuf)
                                                           -> ::libc::c_uint>,
    pub tcl_GetFSInodeFromStat: ::std::option::Option<extern "C" fn
                                                          (statPtr:
                                                               *const Tcl_StatBuf)
                                                          -> ::libc::c_uint>,
    pub tcl_GetModeFromStat: ::std::option::Option<extern "C" fn
                                                       (statPtr:
                                                            *const Tcl_StatBuf)
                                                       -> ::libc::c_uint>,
    pub tcl_GetLinkCountFromStat: ::std::option::Option<extern "C" fn
                                                            (statPtr:
                                                                 *const Tcl_StatBuf)
                                                            -> ::libc::c_int>,
    pub tcl_GetUserIdFromStat: ::std::option::Option<extern "C" fn
                                                         (statPtr:
                                                              *const Tcl_StatBuf)
                                                         -> ::libc::c_int>,
    pub tcl_GetGroupIdFromStat: ::std::option::Option<extern "C" fn
                                                          (statPtr:
                                                               *const Tcl_StatBuf)
                                                          -> ::libc::c_int>,
    pub tcl_GetDeviceTypeFromStat: ::std::option::Option<extern "C" fn
                                                             (statPtr:
                                                                  *const Tcl_StatBuf)
                                                             ->
                                                                 ::libc::c_int>,
    pub tcl_GetAccessTimeFromStat: ::std::option::Option<extern "C" fn
                                                             (statPtr:
                                                                  *const Tcl_StatBuf)
                                                             -> Tcl_WideInt>,
    pub tcl_GetModificationTimeFromStat: ::std::option::Option<extern "C" fn
                                                                   (statPtr:
                                                                        *const Tcl_StatBuf)
                                                                   ->
                                                                       Tcl_WideInt>,
    pub tcl_GetChangeTimeFromStat: ::std::option::Option<extern "C" fn
                                                             (statPtr:
                                                                  *const Tcl_StatBuf)
                                                             -> Tcl_WideInt>,
    pub tcl_GetSizeFromStat: ::std::option::Option<extern "C" fn
                                                       (statPtr:
                                                            *const Tcl_StatBuf)
                                                       -> Tcl_WideUInt>,
    pub tcl_GetBlocksFromStat: ::std::option::Option<extern "C" fn
                                                         (statPtr:
                                                              *const Tcl_StatBuf)
                                                         -> Tcl_WideUInt>,
    pub tcl_GetBlockSizeFromStat: ::std::option::Option<extern "C" fn
                                                            (statPtr:
                                                                 *const Tcl_StatBuf)
                                                            ->
                                                                ::libc::c_uint>,
    pub tcl_SetEnsembleParameterList: ::std::option::Option<extern "C" fn
                                                                (interp:
                                                                     *mut Tcl_Interp,
                                                                 token:
                                                                     Tcl_Command,
                                                                 paramList:
                                                                     *mut Tcl_Obj)
                                                                ->
                                                                    ::libc::c_int>,
    pub tcl_GetEnsembleParameterList: ::std::option::Option<extern "C" fn
                                                                (interp:
                                                                     *mut Tcl_Interp,
                                                                 token:
                                                                     Tcl_Command,
                                                                 paramListPtr:
                                                                     *mut *mut Tcl_Obj)
                                                                ->
                                                                    ::libc::c_int>,
    pub tcl_ParseArgsObjv: ::std::option::Option<extern "C" fn
                                                     (interp: *mut Tcl_Interp,
                                                      argTable:
                                                          *const Tcl_ArgvInfo,
                                                      objcPtr:
                                                          *mut ::libc::c_int,
                                                      objv:
                                                          *const *mut Tcl_Obj,
                                                      remObjv:
                                                          *mut *mut *mut Tcl_Obj)
                                                     -> ::libc::c_int>,
    pub tcl_GetErrorLine: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp)
                                                    -> ::libc::c_int>,
    pub tcl_SetErrorLine: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     lineNum: ::libc::c_int)
                                                    -> ()>,
    pub tcl_TransferResult: ::std::option::Option<extern "C" fn
                                                      (sourceInterp:
                                                           *mut Tcl_Interp,
                                                       result: ::libc::c_int,
                                                       targetInterp:
                                                           *mut Tcl_Interp)
                                                      -> ()>,
    pub tcl_InterpActive: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp)
                                                    -> ::libc::c_int>,
    pub tcl_BackgroundException: ::std::option::Option<extern "C" fn
                                                           (interp:
                                                                *mut Tcl_Interp,
                                                            code:
                                                                ::libc::c_int)
                                                           -> ()>,
    pub tcl_ZlibDeflate: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    format: ::libc::c_int,
                                                    data: *mut Tcl_Obj,
                                                    level: ::libc::c_int,
                                                    gzipHeaderDictObj:
                                                        *mut Tcl_Obj)
                                                   -> ::libc::c_int>,
    pub tcl_ZlibInflate: ::std::option::Option<extern "C" fn
                                                   (interp: *mut Tcl_Interp,
                                                    format: ::libc::c_int,
                                                    data: *mut Tcl_Obj,
                                                    buffersize: ::libc::c_int,
                                                    gzipHeaderDictObj:
                                                        *mut Tcl_Obj)
                                                   -> ::libc::c_int>,
    pub tcl_ZlibCRC32: ::std::option::Option<extern "C" fn
                                                 (crc: ::libc::c_uint,
                                                  buf: *const ::libc::c_uchar,
                                                  len: ::libc::c_int)
                                                 -> ::libc::c_uint>,
    pub tcl_ZlibAdler32: ::std::option::Option<extern "C" fn
                                                   (adler: ::libc::c_uint,
                                                    buf:
                                                        *const ::libc::c_uchar,
                                                    len: ::libc::c_int)
                                                   -> ::libc::c_uint>,
    pub tcl_ZlibStreamInit: ::std::option::Option<extern "C" fn
                                                      (interp:
                                                           *mut Tcl_Interp,
                                                       mode: ::libc::c_int,
                                                       format: ::libc::c_int,
                                                       level: ::libc::c_int,
                                                       dictObj: *mut Tcl_Obj,
                                                       zshandle:
                                                           *mut Tcl_ZlibStream)
                                                      -> ::libc::c_int>,
    pub tcl_ZlibStreamGetCommandName: ::std::option::Option<extern "C" fn
                                                                (zshandle:
                                                                     Tcl_ZlibStream)
                                                                ->
                                                                    *mut Tcl_Obj>,
    pub tcl_ZlibStreamEof: ::std::option::Option<extern "C" fn
                                                     (zshandle:
                                                          Tcl_ZlibStream)
                                                     -> ::libc::c_int>,
    pub tcl_ZlibStreamChecksum: ::std::option::Option<extern "C" fn
                                                          (zshandle:
                                                               Tcl_ZlibStream)
                                                          -> ::libc::c_int>,
    pub tcl_ZlibStreamPut: ::std::option::Option<extern "C" fn
                                                     (zshandle:
                                                          Tcl_ZlibStream,
                                                      data: *mut Tcl_Obj,
                                                      flush: ::libc::c_int)
                                                     -> ::libc::c_int>,
    pub tcl_ZlibStreamGet: ::std::option::Option<extern "C" fn
                                                     (zshandle:
                                                          Tcl_ZlibStream,
                                                      data: *mut Tcl_Obj,
                                                      count: ::libc::c_int)
                                                     -> ::libc::c_int>,
    pub tcl_ZlibStreamClose: ::std::option::Option<extern "C" fn
                                                       (zshandle:
                                                            Tcl_ZlibStream)
                                                       -> ::libc::c_int>,
    pub tcl_ZlibStreamReset: ::std::option::Option<extern "C" fn
                                                       (zshandle:
                                                            Tcl_ZlibStream)
                                                       -> ::libc::c_int>,
    pub tcl_SetStartupScript: ::std::option::Option<extern "C" fn
                                                        (path: *mut Tcl_Obj,
                                                         encoding:
                                                             *const ::libc::c_char)
                                                        -> ()>,
    pub tcl_GetStartupScript: ::std::option::Option<extern "C" fn
                                                        (encodingPtr:
                                                             *mut *const ::libc::c_char)
                                                        -> *mut Tcl_Obj>,
    pub tcl_CloseEx: ::std::option::Option<extern "C" fn
                                               (interp: *mut Tcl_Interp,
                                                chan: Tcl_Channel,
                                                flags: ::libc::c_int)
                                               -> ::libc::c_int>,
    pub tcl_NRExprObj: ::std::option::Option<extern "C" fn
                                                 (interp: *mut Tcl_Interp,
                                                  objPtr: *mut Tcl_Obj,
                                                  resultPtr: *mut Tcl_Obj)
                                                 -> ::libc::c_int>,
    pub tcl_NRSubstObj: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   objPtr: *mut Tcl_Obj,
                                                   flags: ::libc::c_int)
                                                  -> ::libc::c_int>,
    pub tcl_LoadFile: ::std::option::Option<extern "C" fn
                                                (interp: *mut Tcl_Interp,
                                                 pathPtr: *mut Tcl_Obj,
                                                 symv:
                                                     *const *const ::libc::c_char,
                                                 flags: ::libc::c_int,
                                                 procPtrs:
                                                     *mut ::libc::c_void,
                                                 handlePtr:
                                                     *mut Tcl_LoadHandle)
                                                -> ::libc::c_int>,
    pub tcl_FindSymbol: ::std::option::Option<extern "C" fn
                                                  (interp: *mut Tcl_Interp,
                                                   handle: Tcl_LoadHandle,
                                                   symbol:
                                                       *const ::libc::c_char)
                                                  -> *mut ::libc::c_void>,
    pub tcl_FSUnloadFile: ::std::option::Option<extern "C" fn
                                                    (interp: *mut Tcl_Interp,
                                                     handlePtr:
                                                         Tcl_LoadHandle)
                                                    -> ::libc::c_int>,
    pub tcl_ZlibStreamSetCompressionDictionary: ::std::option::Option<extern "C" fn
                                                                          (zhandle:
                                                                               Tcl_ZlibStream,
                                                                           compressionDictionaryObj:
                                                                               *mut Tcl_Obj)
                                                                          ->
                                                                              ()>,
}
impl ::std::default::Default for Struct_TclStubs {
    fn default() -> Struct_TclStubs { unsafe { ::std::mem::zeroed() } }
}
pub type TclStubs = Struct_TclStubs;
#[repr(C)]
pub struct Struct_TclPlatStubs {
    pub magic: ::libc::c_int,
    pub hooks: *mut ::libc::c_void,
}
impl ::std::default::Default for Struct_TclPlatStubs {
    fn default() -> Struct_TclPlatStubs { unsafe { ::std::mem::zeroed() } }
}
pub type TclPlatStubs = Struct_TclPlatStubs;
extern "C" {
    pub static mut __stdinp: *mut FILE;
    pub static mut __stdoutp: *mut FILE;
    pub static mut __stderrp: *mut FILE;
    pub static sys_nerr: ::libc::c_int;
    pub static mut sys_errlist: *const *const ::libc::c_char;
    pub static mut tclStubsPtr: *const TclStubs;
    pub static mut tclPlatStubsPtr: *const TclPlatStubs;
}
extern "C" {
    pub fn renameat(arg1: ::libc::c_int, arg2: *const ::libc::c_char,
                    arg3: ::libc::c_int, arg4: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn clearerr(arg1: *mut FILE) -> ();
    pub fn fclose(arg1: *mut FILE) -> ::libc::c_int;
    pub fn feof(arg1: *mut FILE) -> ::libc::c_int;
    pub fn ferror(arg1: *mut FILE) -> ::libc::c_int;
    pub fn fflush(arg1: *mut FILE) -> ::libc::c_int;
    pub fn fgetc(arg1: *mut FILE) -> ::libc::c_int;
    pub fn fgetpos(arg1: *mut FILE, arg2: *mut fpos_t) -> ::libc::c_int;
    pub fn fgets(arg1: *mut ::libc::c_char, arg2: ::libc::c_int,
                 arg3: *mut FILE) -> *mut ::libc::c_char;
    pub fn fopen(arg1: *const ::libc::c_char, arg2: *const ::libc::c_char)
     -> *mut FILE;
    pub fn fprintf(arg1: *mut FILE, arg2: *const ::libc::c_char, ...)
     -> ::libc::c_int;
    pub fn fputc(arg1: ::libc::c_int, arg2: *mut FILE) -> ::libc::c_int;
    pub fn fputs(arg1: *const ::libc::c_char, arg2: *mut FILE)
     -> ::libc::c_int;
    pub fn fread(arg1: *mut ::libc::c_void, arg2: size_t, arg3: size_t,
                 arg4: *mut FILE) -> size_t;
    pub fn freopen(arg1: *const ::libc::c_char, arg2: *const ::libc::c_char,
                   arg3: *mut FILE) -> *mut FILE;
    pub fn fscanf(arg1: *mut FILE, arg2: *const ::libc::c_char, ...)
     -> ::libc::c_int;
    pub fn fseek(arg1: *mut FILE, arg2: ::libc::c_long, arg3: ::libc::c_int)
     -> ::libc::c_int;
    pub fn fsetpos(arg1: *mut FILE, arg2: *const fpos_t) -> ::libc::c_int;
    pub fn ftell(arg1: *mut FILE) -> ::libc::c_long;
    pub fn fwrite(arg1: *const ::libc::c_void, arg2: size_t, arg3: size_t,
                  arg4: *mut FILE) -> size_t;
    pub fn getc(arg1: *mut FILE) -> ::libc::c_int;
    pub fn getchar() -> ::libc::c_int;
    pub fn gets(arg1: *mut ::libc::c_char) -> *mut ::libc::c_char;
    pub fn perror(arg1: *const ::libc::c_char) -> ();
    pub fn printf(arg1: *const ::libc::c_char, ...) -> ::libc::c_int;
    pub fn putc(arg1: ::libc::c_int, arg2: *mut FILE) -> ::libc::c_int;
    pub fn putchar(arg1: ::libc::c_int) -> ::libc::c_int;
    pub fn puts(arg1: *const ::libc::c_char) -> ::libc::c_int;
    pub fn remove(arg1: *const ::libc::c_char) -> ::libc::c_int;
    pub fn rename(arg1: *const ::libc::c_char, arg2: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn rewind(arg1: *mut FILE) -> ();
    pub fn scanf(arg1: *const ::libc::c_char, ...) -> ::libc::c_int;
    pub fn setbuf(arg1: *mut FILE, arg2: *mut ::libc::c_char) -> ();
    pub fn setvbuf(arg1: *mut FILE, arg2: *mut ::libc::c_char,
                   arg3: ::libc::c_int, arg4: size_t) -> ::libc::c_int;
    pub fn sprintf(arg1: *mut ::libc::c_char,
                   arg2: *const ::libc::c_char, ...) -> ::libc::c_int;
    pub fn sscanf(arg1: *const ::libc::c_char,
                  arg2: *const ::libc::c_char, ...) -> ::libc::c_int;
    pub fn tmpfile() -> *mut FILE;
    pub fn tmpnam(arg1: *mut ::libc::c_char) -> *mut ::libc::c_char;
    pub fn ungetc(arg1: ::libc::c_int, arg2: *mut FILE) -> ::libc::c_int;
/*    pub fn vfprintf(arg1: *mut FILE, arg2: *const ::libc::c_char,
                    arg3: va_list) -> ::libc::c_int;*/
/*    pub fn vprintf(arg1: *const ::libc::c_char, arg2: va_list)
     -> ::libc::c_int;*/
/*    pub fn vsprintf(arg1: *mut ::libc::c_char, arg2: *const ::libc::c_char,
                    arg3: va_list) -> ::libc::c_int;*/
    pub fn ctermid(arg1: *mut ::libc::c_char) -> *mut ::libc::c_char;
    pub fn fdopen(arg1: ::libc::c_int, arg2: *const ::libc::c_char)
     -> *mut FILE;
    pub fn fileno(arg1: *mut FILE) -> ::libc::c_int;
    pub fn pclose(arg1: *mut FILE) -> ::libc::c_int;
    pub fn popen(arg1: *const ::libc::c_char, arg2: *const ::libc::c_char)
     -> *mut FILE;
    pub fn __srget(arg1: *mut FILE) -> ::libc::c_int;
/*    pub fn __svfscanf(arg1: *mut FILE, arg2: *const ::libc::c_char,
                      arg3: va_list) -> ::libc::c_int;*/
    pub fn __swbuf(arg1: ::libc::c_int, arg2: *mut FILE) -> ::libc::c_int;
    pub fn __sputc(_c: ::libc::c_int, _p: *mut FILE) -> ::libc::c_int;
    pub fn flockfile(arg1: *mut FILE) -> ();
    pub fn ftrylockfile(arg1: *mut FILE) -> ::libc::c_int;
    pub fn funlockfile(arg1: *mut FILE) -> ();
    pub fn getc_unlocked(arg1: *mut FILE) -> ::libc::c_int;
    pub fn getchar_unlocked() -> ::libc::c_int;
    pub fn putc_unlocked(arg1: ::libc::c_int, arg2: *mut FILE)
     -> ::libc::c_int;
    pub fn putchar_unlocked(arg1: ::libc::c_int) -> ::libc::c_int;
    pub fn getw(arg1: *mut FILE) -> ::libc::c_int;
    pub fn putw(arg1: ::libc::c_int, arg2: *mut FILE) -> ::libc::c_int;
    pub fn tempnam(arg1: *const ::libc::c_char, arg2: *const ::libc::c_char)
     -> *mut ::libc::c_char;
    pub fn fseeko(arg1: *mut FILE, arg2: off_t, arg3: ::libc::c_int)
     -> ::libc::c_int;
    pub fn ftello(arg1: *mut FILE) -> off_t;
    pub fn snprintf(arg1: *mut ::libc::c_char, arg2: size_t,
                    arg3: *const ::libc::c_char, ...) -> ::libc::c_int;
/*    pub fn vfscanf(arg1: *mut FILE, arg2: *const ::libc::c_char,
                   arg3: va_list) -> ::libc::c_int;*/
/*    pub fn vscanf(arg1: *const ::libc::c_char, arg2: va_list)
     -> ::libc::c_int;*/
/*    pub fn vsnprintf(arg1: *mut ::libc::c_char, arg2: size_t,
                     arg3: *const ::libc::c_char, arg4: va_list)
     -> ::libc::c_int;*/
/*    pub fn vsscanf(arg1: *const ::libc::c_char, arg2: *const ::libc::c_char,
                   arg3: va_list) -> ::libc::c_int;*/
    pub fn dprintf(arg1: ::libc::c_int, arg2: *const ::libc::c_char, ...)
     -> ::libc::c_int;
/*    pub fn vdprintf(arg1: ::libc::c_int, arg2: *const ::libc::c_char,
                    arg3: va_list) -> ::libc::c_int;*/
    pub fn getdelim(arg1: *mut *mut ::libc::c_char, arg2: *mut size_t,
                    arg3: ::libc::c_int, arg4: *mut FILE) -> ssize_t;
    pub fn getline(arg1: *mut *mut ::libc::c_char, arg2: *mut size_t,
                   arg3: *mut FILE) -> ssize_t;
    pub fn asprintf(arg1: *mut *mut ::libc::c_char,
                    arg2: *const ::libc::c_char, ...) -> ::libc::c_int;
    pub fn ctermid_r(arg1: *mut ::libc::c_char) -> *mut ::libc::c_char;
    pub fn fgetln(arg1: *mut FILE, arg2: *mut size_t) -> *mut ::libc::c_char;
    pub fn fmtcheck(arg1: *const ::libc::c_char, arg2: *const ::libc::c_char)
     -> *const ::libc::c_char;
    pub fn fpurge(arg1: *mut FILE) -> ::libc::c_int;
    pub fn setbuffer(arg1: *mut FILE, arg2: *mut ::libc::c_char,
                     arg3: ::libc::c_int) -> ();
    pub fn setlinebuf(arg1: *mut FILE) -> ::libc::c_int;
/*    pub fn vasprintf(arg1: *mut *mut ::libc::c_char,
                     arg2: *const ::libc::c_char, arg3: va_list)
     -> ::libc::c_int;*/
    pub fn zopen(arg1: *const ::libc::c_char, arg2: *const ::libc::c_char,
                 arg3: ::libc::c_int) -> *mut FILE;
    pub fn funopen(arg1: *const ::libc::c_void,
                   arg2:
                       ::std::option::Option<extern "C" fn
                                                 (arg1: *mut ::libc::c_void,
                                                  arg2: *mut ::libc::c_char,
                                                  arg3: ::libc::c_int)
                                                 -> ::libc::c_int>,
                   arg3:
                       ::std::option::Option<extern "C" fn
                                                 (arg1: *mut ::libc::c_void,
                                                  arg2: *const ::libc::c_char,
                                                  arg3: ::libc::c_int)
                                                 -> ::libc::c_int>,
                   arg4:
                       ::std::option::Option<extern "C" fn
                                                 (arg1: *mut ::libc::c_void,
                                                  arg2: fpos_t,
                                                  arg3: ::libc::c_int)
                                                 -> fpos_t>,
                   arg5:
                       ::std::option::Option<extern "C" fn
                                                 (arg1: *mut ::libc::c_void)
                                                 -> ::libc::c_int>)
     -> *mut FILE;
    pub fn __sprintf_chk(arg1: *mut ::libc::c_char, arg2: ::libc::c_int,
                         arg3: size_t, arg4: *const ::libc::c_char, ...)
     -> ::libc::c_int;
    pub fn __snprintf_chk(arg1: *mut ::libc::c_char, arg2: size_t,
                          arg3: ::libc::c_int, arg4: size_t,
                          arg5: *const ::libc::c_char, ...) -> ::libc::c_int;
/*    pub fn __vsprintf_chk(arg1: *mut ::libc::c_char, arg2: ::libc::c_int,
                          arg3: size_t, arg4: *const ::libc::c_char,
                          arg5: va_list) -> ::libc::c_int;*/
/*    pub fn __vsnprintf_chk(arg1: *mut ::libc::c_char, arg2: size_t,
                           arg3: ::libc::c_int, arg4: size_t,
                           arg5: *const ::libc::c_char, arg6: va_list)
     -> ::libc::c_int;*/
    //pub fn Tcl_IncrRefCount(objPtr: *mut Tcl_Obj) -> (); //NOTICE: These two functions are defined as a macro :(
    //pub fn Tcl_DecrRefCount(objPtr: *mut Tcl_Obj) -> ();
    //pub fn Tcl_IsShared(objPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_InitStubs(interp: *mut Tcl_Interp,
                         version: *const ::libc::c_char, exact: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn TclTomMathInitializeStubs(interp: *mut Tcl_Interp,
                                     version: *const ::libc::c_char,
                                     epoch: ::libc::c_int,
                                     revision: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn Tcl_MainEx(argc: ::libc::c_int, argv: *mut *mut ::libc::c_char,
                      appInitProc: *mut Tcl_AppInitProc,
                      interp: *mut Tcl_Interp) -> ();
    pub fn Tcl_PkgInitStubsCheck(interp: *mut Tcl_Interp,
                                 version: *const ::libc::c_char,
                                 exact: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn Tcl_PkgProvideEx(interp: *mut Tcl_Interp,
                            name: *const ::libc::c_char,
                            version: *const ::libc::c_char,
                            clientData: *const ::libc::c_void)
     -> ::libc::c_int;
    pub fn Tcl_PkgRequireEx(interp: *mut Tcl_Interp,
                            name: *const ::libc::c_char,
                            version: *const ::libc::c_char,
                            exact: ::libc::c_int,
                            clientDataPtr: *mut ::libc::c_void)
     -> *const ::libc::c_char;
    pub fn Tcl_Panic(format: *const ::libc::c_char, ...) -> ();
    pub fn Tcl_Alloc(size: ::libc::c_uint) -> *mut ::libc::c_char;
    pub fn Tcl_Free(ptr: *mut ::libc::c_char) -> ();
    pub fn Tcl_Realloc(ptr: *mut ::libc::c_char, size: ::libc::c_uint)
     -> *mut ::libc::c_char;
    pub fn Tcl_DbCkalloc(size: ::libc::c_uint, file: *const ::libc::c_char,
                         line: ::libc::c_int) -> *mut ::libc::c_char;
    pub fn Tcl_DbCkfree(ptr: *mut ::libc::c_char, file: *const ::libc::c_char,
                        line: ::libc::c_int) -> ();
    pub fn Tcl_DbCkrealloc(ptr: *mut ::libc::c_char, size: ::libc::c_uint,
                           file: *const ::libc::c_char, line: ::libc::c_int)
     -> *mut ::libc::c_char;
    pub fn Tcl_CreateFileHandler(fd: ::libc::c_int, mask: ::libc::c_int,
                                 _proc: *mut Tcl_FileProc,
                                 clientData: ClientData) -> ();
    pub fn Tcl_DeleteFileHandler(fd: ::libc::c_int) -> ();
    pub fn Tcl_SetTimer(timePtr: *const Tcl_Time) -> ();
    pub fn Tcl_Sleep(ms: ::libc::c_int) -> ();
    pub fn Tcl_WaitForEvent(timePtr: *const Tcl_Time) -> ::libc::c_int;
    pub fn Tcl_AppendAllObjTypes(interp: *mut Tcl_Interp,
                                 objPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_AppendStringsToObj(objPtr: *mut Tcl_Obj, ...) -> ();
    pub fn Tcl_AppendToObj(objPtr: *mut Tcl_Obj, bytes: *const ::libc::c_char,
                           length: ::libc::c_int) -> ();
    pub fn Tcl_ConcatObj(objc: ::libc::c_int, objv: *const *mut Tcl_Obj)
     -> *mut Tcl_Obj;
    pub fn Tcl_ConvertToType(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                             typePtr: *const Tcl_ObjType) -> ::libc::c_int;
    pub fn Tcl_DbDecrRefCount(objPtr: *mut Tcl_Obj,
                              file: *const ::libc::c_char,
                              line: ::libc::c_int) -> ();
    pub fn Tcl_DbIncrRefCount(objPtr: *mut Tcl_Obj,
                              file: *const ::libc::c_char,
                              line: ::libc::c_int) -> ();
    pub fn Tcl_DbIsShared(objPtr: *mut Tcl_Obj, file: *const ::libc::c_char,
                          line: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_DbNewBooleanObj(boolValue: ::libc::c_int,
                               file: *const ::libc::c_char,
                               line: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_DbNewByteArrayObj(bytes: *const ::libc::c_uchar,
                                 length: ::libc::c_int,
                                 file: *const ::libc::c_char,
                                 line: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_DbNewDoubleObj(doubleValue: ::libc::c_double,
                              file: *const ::libc::c_char,
                              line: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_DbNewListObj(objc: ::libc::c_int, objv: *const *mut Tcl_Obj,
                            file: *const ::libc::c_char, line: ::libc::c_int)
     -> *mut Tcl_Obj;
    pub fn Tcl_DbNewLongObj(longValue: ::libc::c_long,
                            file: *const ::libc::c_char, line: ::libc::c_int)
     -> *mut Tcl_Obj;
    pub fn Tcl_DbNewObj(file: *const ::libc::c_char, line: ::libc::c_int)
     -> *mut Tcl_Obj;
    pub fn Tcl_DbNewStringObj(bytes: *const ::libc::c_char,
                              length: ::libc::c_int,
                              file: *const ::libc::c_char,
                              line: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_DuplicateObj(objPtr: *mut Tcl_Obj) -> *mut Tcl_Obj;
    pub fn TclFreeObj(objPtr: *mut Tcl_Obj) -> ();
    pub fn Tcl_GetBoolean(interp: *mut Tcl_Interp, src: *const ::libc::c_char,
                          boolPtr: *mut ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_GetBooleanFromObj(interp: *mut Tcl_Interp,
                                 objPtr: *mut Tcl_Obj,
                                 boolPtr: *mut ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_GetByteArrayFromObj(objPtr: *mut Tcl_Obj,
                                   lengthPtr: *mut ::libc::c_int)
     -> *mut ::libc::c_uchar;
    pub fn Tcl_GetDouble(interp: *mut Tcl_Interp, src: *const ::libc::c_char,
                         doublePtr: *mut ::libc::c_double) -> ::libc::c_int;
    pub fn Tcl_GetDoubleFromObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                                doublePtr: *mut ::libc::c_double)
     -> ::libc::c_int;
    pub fn Tcl_GetIndexFromObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                               tablePtr: *const *const ::libc::c_char,
                               msg: *const ::libc::c_char,
                               flags: ::libc::c_int,
                               indexPtr: *mut ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_GetInt(interp: *mut Tcl_Interp, src: *const ::libc::c_char,
                      intPtr: *mut ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_GetIntFromObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                             intPtr: *mut ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_GetLongFromObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                              longPtr: *mut ::libc::c_long) -> ::libc::c_int;
    pub fn Tcl_GetObjType(typeName: *const ::libc::c_char)
     -> *const Tcl_ObjType;
    pub fn Tcl_GetStringFromObj(objPtr: *mut Tcl_Obj,
                                lengthPtr: *mut ::libc::c_int)
     -> *mut ::libc::c_char;
    pub fn Tcl_InvalidateStringRep(objPtr: *mut Tcl_Obj) -> ();
    pub fn Tcl_ListObjAppendList(interp: *mut Tcl_Interp,
                                 listPtr: *mut Tcl_Obj,
                                 elemListPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_ListObjAppendElement(interp: *mut Tcl_Interp,
                                    listPtr: *mut Tcl_Obj,
                                    objPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_ListObjGetElements(interp: *mut Tcl_Interp,
                                  listPtr: *mut Tcl_Obj,
                                  objcPtr: *mut ::libc::c_int,
                                  objvPtr: *mut *mut *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_ListObjIndex(interp: *mut Tcl_Interp, listPtr: *mut Tcl_Obj,
                            index: ::libc::c_int,
                            objPtrPtr: *mut *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_ListObjLength(interp: *mut Tcl_Interp, listPtr: *mut Tcl_Obj,
                             lengthPtr: *mut ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ListObjReplace(interp: *mut Tcl_Interp, listPtr: *mut Tcl_Obj,
                              first: ::libc::c_int, count: ::libc::c_int,
                              objc: ::libc::c_int, objv: *const *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_NewBooleanObj(boolValue: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_NewByteArrayObj(bytes: *const ::libc::c_uchar,
                               length: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_NewDoubleObj(doubleValue: ::libc::c_double) -> *mut Tcl_Obj;
    pub fn Tcl_NewIntObj(intValue: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_NewListObj(objc: ::libc::c_int, objv: *const *mut Tcl_Obj)
     -> *mut Tcl_Obj;
    pub fn Tcl_NewLongObj(longValue: ::libc::c_long) -> *mut Tcl_Obj;
    pub fn Tcl_NewObj() -> *mut Tcl_Obj;
    pub fn Tcl_NewStringObj(bytes: *const ::libc::c_char,
                            length: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_SetBooleanObj(objPtr: *mut Tcl_Obj, boolValue: ::libc::c_int)
     -> ();
    pub fn Tcl_SetByteArrayLength(objPtr: *mut Tcl_Obj, length: ::libc::c_int)
     -> *mut ::libc::c_uchar;
    pub fn Tcl_SetByteArrayObj(objPtr: *mut Tcl_Obj,
                               bytes: *const ::libc::c_uchar,
                               length: ::libc::c_int) -> ();
    pub fn Tcl_SetDoubleObj(objPtr: *mut Tcl_Obj,
                            doubleValue: ::libc::c_double) -> ();
    pub fn Tcl_SetIntObj(objPtr: *mut Tcl_Obj, intValue: ::libc::c_int) -> ();
    pub fn Tcl_SetListObj(objPtr: *mut Tcl_Obj, objc: ::libc::c_int,
                          objv: *const *mut Tcl_Obj) -> ();
    pub fn Tcl_SetLongObj(objPtr: *mut Tcl_Obj, longValue: ::libc::c_long)
     -> ();
    pub fn Tcl_SetObjLength(objPtr: *mut Tcl_Obj, length: ::libc::c_int)
     -> ();
    pub fn Tcl_SetStringObj(objPtr: *mut Tcl_Obj,
                            bytes: *const ::libc::c_char,
                            length: ::libc::c_int) -> ();
    pub fn Tcl_AddErrorInfo(interp: *mut Tcl_Interp,
                            message: *const ::libc::c_char) -> ();
    pub fn Tcl_AddObjErrorInfo(interp: *mut Tcl_Interp,
                               message: *const ::libc::c_char,
                               length: ::libc::c_int) -> ();
    pub fn Tcl_AllowExceptions(interp: *mut Tcl_Interp) -> ();
    pub fn Tcl_AppendElement(interp: *mut Tcl_Interp,
                             element: *const ::libc::c_char) -> ();
    pub fn Tcl_AppendResult(interp: *mut Tcl_Interp, ...) -> ();
    pub fn Tcl_AsyncCreate(_proc: *mut Tcl_AsyncProc, clientData: ClientData)
     -> Tcl_AsyncHandler;
    pub fn Tcl_AsyncDelete(async: Tcl_AsyncHandler) -> ();
    pub fn Tcl_AsyncInvoke(interp: *mut Tcl_Interp, code: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_AsyncMark(async: Tcl_AsyncHandler) -> ();
    pub fn Tcl_AsyncReady() -> ::libc::c_int;
    pub fn Tcl_BackgroundError(interp: *mut Tcl_Interp) -> ();
    pub fn Tcl_Backslash(src: *const ::libc::c_char,
                         readPtr: *mut ::libc::c_int) -> ::libc::c_char;
    pub fn Tcl_BadChannelOption(interp: *mut Tcl_Interp,
                                optionName: *const ::libc::c_char,
                                optionList: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_CallWhenDeleted(interp: *mut Tcl_Interp,
                               _proc: *mut Tcl_InterpDeleteProc,
                               clientData: ClientData) -> ();
    pub fn Tcl_CancelIdleCall(idleProc: *mut Tcl_IdleProc,
                              clientData: ClientData) -> ();
    pub fn Tcl_Close(interp: *mut Tcl_Interp, chan: Tcl_Channel)
     -> ::libc::c_int;
    pub fn Tcl_CommandComplete(cmd: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_Concat(argc: ::libc::c_int, argv: *const *const ::libc::c_char)
     -> *mut ::libc::c_char;
    pub fn Tcl_ConvertElement(src: *const ::libc::c_char,
                              dst: *mut ::libc::c_char, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_ConvertCountedElement(src: *const ::libc::c_char,
                                     length: ::libc::c_int,
                                     dst: *mut ::libc::c_char,
                                     flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_CreateAlias(slave: *mut Tcl_Interp,
                           slaveCmd: *const ::libc::c_char,
                           target: *mut Tcl_Interp,
                           targetCmd: *const ::libc::c_char,
                           argc: ::libc::c_int,
                           argv: *const *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_CreateAliasObj(slave: *mut Tcl_Interp,
                              slaveCmd: *const ::libc::c_char,
                              target: *mut Tcl_Interp,
                              targetCmd: *const ::libc::c_char,
                              objc: ::libc::c_int, objv: *const *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_CreateChannel(typePtr: *const Tcl_ChannelType,
                             chanName: *const ::libc::c_char,
                             instanceData: ClientData, mask: ::libc::c_int)
     -> Tcl_Channel;
    pub fn Tcl_CreateChannelHandler(chan: Tcl_Channel, mask: ::libc::c_int,
                                    _proc: *mut Tcl_ChannelProc,
                                    clientData: ClientData) -> ();
    pub fn Tcl_CreateCloseHandler(chan: Tcl_Channel,
                                  _proc: *mut Tcl_CloseProc,
                                  clientData: ClientData) -> ();
    pub fn Tcl_CreateCommand(interp: *mut Tcl_Interp,
                             cmdName: *const ::libc::c_char,
                             _proc: *mut Tcl_CmdProc, clientData: ClientData,
                             deleteProc: *mut Tcl_CmdDeleteProc)
     -> Tcl_Command;
    pub fn Tcl_CreateEventSource(setupProc: *mut Tcl_EventSetupProc,
                                 checkProc: *mut Tcl_EventCheckProc,
                                 clientData: ClientData) -> ();
    pub fn Tcl_CreateExitHandler(_proc: *mut Tcl_ExitProc,
                                 clientData: ClientData) -> ();
    pub fn Tcl_CreateInterp() -> *mut Tcl_Interp;
    pub fn Tcl_CreateMathFunc(interp: *mut Tcl_Interp,
                              name: *const ::libc::c_char,
                              numArgs: ::libc::c_int,
                              argTypes: *mut Tcl_ValueType,
                              _proc: *mut Tcl_MathProc,
                              clientData: ClientData) -> ();
    pub fn Tcl_CreateObjCommand(interp: *mut Tcl_Interp,
                                cmdName: *const ::libc::c_char,
                                _proc: *mut Tcl_ObjCmdProc,
                                clientData: ClientData,
                                deleteProc: *mut Tcl_CmdDeleteProc)
     -> Tcl_Command;
    pub fn Tcl_CreateSlave(interp: *mut Tcl_Interp,
                           slaveName: *const ::libc::c_char,
                           isSafe: ::libc::c_int) -> *mut Tcl_Interp;
    pub fn Tcl_CreateTimerHandler(milliseconds: ::libc::c_int,
                                  _proc: *mut Tcl_TimerProc,
                                  clientData: ClientData) -> Tcl_TimerToken;
    pub fn Tcl_CreateTrace(interp: *mut Tcl_Interp, level: ::libc::c_int,
                           _proc: *mut Tcl_CmdTraceProc,
                           clientData: ClientData) -> Tcl_Trace;
    pub fn Tcl_DeleteAssocData(interp: *mut Tcl_Interp,
                               name: *const ::libc::c_char) -> ();
    pub fn Tcl_DeleteChannelHandler(chan: Tcl_Channel,
                                    _proc: *mut Tcl_ChannelProc,
                                    clientData: ClientData) -> ();
    pub fn Tcl_DeleteCloseHandler(chan: Tcl_Channel,
                                  _proc: *mut Tcl_CloseProc,
                                  clientData: ClientData) -> ();
    pub fn Tcl_DeleteCommand(interp: *mut Tcl_Interp,
                             cmdName: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_DeleteCommandFromToken(interp: *mut Tcl_Interp,
                                      command: Tcl_Command) -> ::libc::c_int;
    pub fn Tcl_DeleteEvents(_proc: *mut Tcl_EventDeleteProc,
                            clientData: ClientData) -> ();
    pub fn Tcl_DeleteEventSource(setupProc: *mut Tcl_EventSetupProc,
                                 checkProc: *mut Tcl_EventCheckProc,
                                 clientData: ClientData) -> ();
    pub fn Tcl_DeleteExitHandler(_proc: *mut Tcl_ExitProc,
                                 clientData: ClientData) -> ();
    pub fn Tcl_DeleteHashEntry(entryPtr: *mut Tcl_HashEntry) -> ();
    pub fn Tcl_DeleteHashTable(tablePtr: *mut Tcl_HashTable) -> ();
    pub fn Tcl_DeleteInterp(interp: *mut Tcl_Interp) -> ();
    pub fn Tcl_DetachPids(numPids: ::libc::c_int, pidPtr: *mut Tcl_Pid) -> ();
    pub fn Tcl_DeleteTimerHandler(token: Tcl_TimerToken) -> ();
    pub fn Tcl_DeleteTrace(interp: *mut Tcl_Interp, trace: Tcl_Trace) -> ();
    pub fn Tcl_DontCallWhenDeleted(interp: *mut Tcl_Interp,
                                   _proc: *mut Tcl_InterpDeleteProc,
                                   clientData: ClientData) -> ();
    pub fn Tcl_DoOneEvent(flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_DoWhenIdle(_proc: *mut Tcl_IdleProc, clientData: ClientData)
     -> ();
    pub fn Tcl_DStringAppend(dsPtr: *mut Tcl_DString,
                             bytes: *const ::libc::c_char,
                             length: ::libc::c_int) -> *mut ::libc::c_char;
    pub fn Tcl_DStringAppendElement(dsPtr: *mut Tcl_DString,
                                    element: *const ::libc::c_char)
     -> *mut ::libc::c_char;
    pub fn Tcl_DStringEndSublist(dsPtr: *mut Tcl_DString) -> ();
    pub fn Tcl_DStringFree(dsPtr: *mut Tcl_DString) -> ();
    pub fn Tcl_DStringGetResult(interp: *mut Tcl_Interp,
                                dsPtr: *mut Tcl_DString) -> ();
    pub fn Tcl_DStringInit(dsPtr: *mut Tcl_DString) -> ();
    pub fn Tcl_DStringResult(interp: *mut Tcl_Interp, dsPtr: *mut Tcl_DString)
     -> ();
    pub fn Tcl_DStringSetLength(dsPtr: *mut Tcl_DString,
                                length: ::libc::c_int) -> ();
    pub fn Tcl_DStringStartSublist(dsPtr: *mut Tcl_DString) -> ();
    pub fn Tcl_Eof(chan: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_ErrnoId() -> *const ::libc::c_char;
    pub fn Tcl_ErrnoMsg(err: ::libc::c_int) -> *const ::libc::c_char;
    pub fn Tcl_Eval(interp: *mut Tcl_Interp, script: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_EvalFile(interp: *mut Tcl_Interp,
                        fileName: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_EvalObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_EventuallyFree(clientData: ClientData,
                              freeProc: *mut Tcl_FreeProc) -> ();
    pub fn Tcl_Exit(status: ::libc::c_int) -> ();
    pub fn Tcl_ExposeCommand(interp: *mut Tcl_Interp,
                             hiddenCmdToken: *const ::libc::c_char,
                             cmdName: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_ExprBoolean(interp: *mut Tcl_Interp,
                           expr: *const ::libc::c_char,
                           ptr: *mut ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ExprBooleanObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                              ptr: *mut ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ExprDouble(interp: *mut Tcl_Interp,
                          expr: *const ::libc::c_char,
                          ptr: *mut ::libc::c_double) -> ::libc::c_int;
    pub fn Tcl_ExprDoubleObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                             ptr: *mut ::libc::c_double) -> ::libc::c_int;
    pub fn Tcl_ExprLong(interp: *mut Tcl_Interp, expr: *const ::libc::c_char,
                        ptr: *mut ::libc::c_long) -> ::libc::c_int;
    pub fn Tcl_ExprLongObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                           ptr: *mut ::libc::c_long) -> ::libc::c_int;
    pub fn Tcl_ExprObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                       resultPtrPtr: *mut *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_ExprString(interp: *mut Tcl_Interp,
                          expr: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_Finalize() -> ();
    pub fn Tcl_FindExecutable(argv0: *const ::libc::c_char) -> ();
    pub fn Tcl_FirstHashEntry(tablePtr: *mut Tcl_HashTable,
                              searchPtr: *mut Tcl_HashSearch)
     -> *mut Tcl_HashEntry;
    pub fn Tcl_Flush(chan: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_FreeResult(interp: *mut Tcl_Interp) -> ();
    pub fn Tcl_GetAlias(interp: *mut Tcl_Interp,
                        slaveCmd: *const ::libc::c_char,
                        targetInterpPtr: *mut *mut Tcl_Interp,
                        targetCmdPtr: *mut *const ::libc::c_char,
                        argcPtr: *mut ::libc::c_int,
                        argvPtr: *mut *mut *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_GetAliasObj(interp: *mut Tcl_Interp,
                           slaveCmd: *const ::libc::c_char,
                           targetInterpPtr: *mut *mut Tcl_Interp,
                           targetCmdPtr: *mut *const ::libc::c_char,
                           objcPtr: *mut ::libc::c_int,
                           objv: *mut *mut *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_GetAssocData(interp: *mut Tcl_Interp,
                            name: *const ::libc::c_char,
                            procPtr: *mut *mut Tcl_InterpDeleteProc)
     -> ClientData;
    pub fn Tcl_GetChannel(interp: *mut Tcl_Interp,
                          chanName: *const ::libc::c_char,
                          modePtr: *mut ::libc::c_int) -> Tcl_Channel;
    pub fn Tcl_GetChannelBufferSize(chan: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_GetChannelHandle(chan: Tcl_Channel, direction: ::libc::c_int,
                                handlePtr: *mut ClientData) -> ::libc::c_int;
    pub fn Tcl_GetChannelInstanceData(chan: Tcl_Channel) -> ClientData;
    pub fn Tcl_GetChannelMode(chan: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_GetChannelName(chan: Tcl_Channel) -> *const ::libc::c_char;
    pub fn Tcl_GetChannelOption(interp: *mut Tcl_Interp, chan: Tcl_Channel,
                                optionName: *const ::libc::c_char,
                                dsPtr: *mut Tcl_DString) -> ::libc::c_int;
    pub fn Tcl_GetChannelType(chan: Tcl_Channel) -> *const Tcl_ChannelType;
    pub fn Tcl_GetCommandInfo(interp: *mut Tcl_Interp,
                              cmdName: *const ::libc::c_char,
                              infoPtr: *mut Tcl_CmdInfo) -> ::libc::c_int;
    pub fn Tcl_GetCommandName(interp: *mut Tcl_Interp, command: Tcl_Command)
     -> *const ::libc::c_char;
    pub fn Tcl_GetErrno() -> ::libc::c_int;
    pub fn Tcl_GetHostName() -> *const ::libc::c_char;
    pub fn Tcl_GetInterpPath(askInterp: *mut Tcl_Interp,
                             slaveInterp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_GetMaster(interp: *mut Tcl_Interp) -> *mut Tcl_Interp;
    pub fn Tcl_GetNameOfExecutable() -> *const ::libc::c_char;
    pub fn Tcl_GetObjResult(interp: *mut Tcl_Interp) -> *mut Tcl_Obj;
    pub fn Tcl_GetOpenFile(interp: *mut Tcl_Interp,
                           chanID: *const ::libc::c_char,
                           forWriting: ::libc::c_int,
                           checkUsage: ::libc::c_int,
                           filePtr: *mut ClientData) -> ::libc::c_int;
    pub fn Tcl_GetPathType(path: *const ::libc::c_char) -> Tcl_PathType;
    pub fn Tcl_Gets(chan: Tcl_Channel, dsPtr: *mut Tcl_DString)
     -> ::libc::c_int;
    pub fn Tcl_GetsObj(chan: Tcl_Channel, objPtr: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_GetServiceMode() -> ::libc::c_int;
    pub fn Tcl_GetSlave(interp: *mut Tcl_Interp,
                        slaveName: *const ::libc::c_char) -> *mut Tcl_Interp;
    pub fn Tcl_GetStdChannel(_type: ::libc::c_int) -> Tcl_Channel;
    pub fn Tcl_GetStringResult(interp: *mut Tcl_Interp)
     -> *const ::libc::c_char;
    pub fn Tcl_GetVar(interp: *mut Tcl_Interp, varName: *const ::libc::c_char,
                      flags: ::libc::c_int) -> *const ::libc::c_char;
    pub fn Tcl_GetVar2(interp: *mut Tcl_Interp, part1: *const ::libc::c_char,
                       part2: *const ::libc::c_char, flags: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn Tcl_GlobalEval(interp: *mut Tcl_Interp,
                          command: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_GlobalEvalObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_HideCommand(interp: *mut Tcl_Interp,
                           cmdName: *const ::libc::c_char,
                           hiddenCmdToken: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_Init(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_InitHashTable(tablePtr: *mut Tcl_HashTable,
                             keyType: ::libc::c_int) -> ();
    pub fn Tcl_InputBlocked(chan: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_InputBuffered(chan: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_InterpDeleted(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_IsSafe(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_JoinPath(argc: ::libc::c_int,
                        argv: *const *const ::libc::c_char,
                        resultPtr: *mut Tcl_DString) -> *mut ::libc::c_char;
    pub fn Tcl_LinkVar(interp: *mut Tcl_Interp,
                       varName: *const ::libc::c_char,
                       addr: *mut ::libc::c_char, _type: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_MakeFileChannel(handle: ClientData, mode: ::libc::c_int)
     -> Tcl_Channel;
    pub fn Tcl_MakeSafe(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_MakeTcpClientChannel(tcpSocket: ClientData) -> Tcl_Channel;
    pub fn Tcl_Merge(argc: ::libc::c_int, argv: *const *const ::libc::c_char)
     -> *mut ::libc::c_char;
    pub fn Tcl_NextHashEntry(searchPtr: *mut Tcl_HashSearch)
     -> *mut Tcl_HashEntry;
    pub fn Tcl_NotifyChannel(channel: Tcl_Channel, mask: ::libc::c_int) -> ();
    pub fn Tcl_ObjGetVar2(interp: *mut Tcl_Interp, part1Ptr: *mut Tcl_Obj,
                          part2Ptr: *mut Tcl_Obj, flags: ::libc::c_int)
     -> *mut Tcl_Obj;
    pub fn Tcl_ObjSetVar2(interp: *mut Tcl_Interp, part1Ptr: *mut Tcl_Obj,
                          part2Ptr: *mut Tcl_Obj, newValuePtr: *mut Tcl_Obj,
                          flags: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_OpenCommandChannel(interp: *mut Tcl_Interp,
                                  argc: ::libc::c_int,
                                  argv: *mut *const ::libc::c_char,
                                  flags: ::libc::c_int) -> Tcl_Channel;
    pub fn Tcl_OpenFileChannel(interp: *mut Tcl_Interp,
                               fileName: *const ::libc::c_char,
                               modeString: *const ::libc::c_char,
                               permissions: ::libc::c_int) -> Tcl_Channel;
    pub fn Tcl_OpenTcpClient(interp: *mut Tcl_Interp, port: ::libc::c_int,
                             address: *const ::libc::c_char,
                             myaddr: *const ::libc::c_char,
                             myport: ::libc::c_int, async: ::libc::c_int)
     -> Tcl_Channel;
    pub fn Tcl_OpenTcpServer(interp: *mut Tcl_Interp, port: ::libc::c_int,
                             host: *const ::libc::c_char,
                             acceptProc: *mut Tcl_TcpAcceptProc,
                             callbackData: ClientData) -> Tcl_Channel;
    pub fn Tcl_Preserve(data: ClientData) -> ();
    pub fn Tcl_PrintDouble(interp: *mut Tcl_Interp, value: ::libc::c_double,
                           dst: *mut ::libc::c_char) -> ();
    pub fn Tcl_PutEnv(assignment: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_PosixError(interp: *mut Tcl_Interp) -> *const ::libc::c_char;
    pub fn Tcl_QueueEvent(evPtr: *mut Tcl_Event, position: Tcl_QueuePosition)
     -> ();
    pub fn Tcl_Read(chan: Tcl_Channel, bufPtr: *mut ::libc::c_char,
                    toRead: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ReapDetachedProcs() -> ();
    pub fn Tcl_RecordAndEval(interp: *mut Tcl_Interp,
                             cmd: *const ::libc::c_char, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_RecordAndEvalObj(interp: *mut Tcl_Interp, cmdPtr: *mut Tcl_Obj,
                                flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_RegisterChannel(interp: *mut Tcl_Interp, chan: Tcl_Channel)
     -> ();
    pub fn Tcl_RegisterObjType(typePtr: *const Tcl_ObjType) -> ();
    pub fn Tcl_RegExpCompile(interp: *mut Tcl_Interp,
                             pattern: *const ::libc::c_char) -> Tcl_RegExp;
    pub fn Tcl_RegExpExec(interp: *mut Tcl_Interp, regexp: Tcl_RegExp,
                          text: *const ::libc::c_char,
                          start: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_RegExpMatch(interp: *mut Tcl_Interp,
                           text: *const ::libc::c_char,
                           pattern: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_RegExpRange(regexp: Tcl_RegExp, index: ::libc::c_int,
                           startPtr: *mut *const ::libc::c_char,
                           endPtr: *mut *const ::libc::c_char) -> ();
    pub fn Tcl_Release(clientData: ClientData) -> ();
    pub fn Tcl_ResetResult(interp: *mut Tcl_Interp) -> ();
    pub fn Tcl_ScanElement(src: *const ::libc::c_char,
                           flagPtr: *mut ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ScanCountedElement(src: *const ::libc::c_char,
                                  length: ::libc::c_int,
                                  flagPtr: *mut ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_SeekOld(chan: Tcl_Channel, offset: ::libc::c_int,
                       mode: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ServiceAll() -> ::libc::c_int;
    pub fn Tcl_ServiceEvent(flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_SetAssocData(interp: *mut Tcl_Interp,
                            name: *const ::libc::c_char,
                            _proc: *mut Tcl_InterpDeleteProc,
                            clientData: ClientData) -> ();
    pub fn Tcl_SetChannelBufferSize(chan: Tcl_Channel, sz: ::libc::c_int)
     -> ();
    pub fn Tcl_SetChannelOption(interp: *mut Tcl_Interp, chan: Tcl_Channel,
                                optionName: *const ::libc::c_char,
                                newValue: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_SetCommandInfo(interp: *mut Tcl_Interp,
                              cmdName: *const ::libc::c_char,
                              infoPtr: *const Tcl_CmdInfo) -> ::libc::c_int;
    pub fn Tcl_SetErrno(err: ::libc::c_int) -> ();
    pub fn Tcl_SetErrorCode(interp: *mut Tcl_Interp, ...) -> ();
    pub fn Tcl_SetMaxBlockTime(timePtr: *const Tcl_Time) -> ();
    pub fn Tcl_SetPanicProc(panicProc: *mut Tcl_PanicProc) -> ();
    pub fn Tcl_SetRecursionLimit(interp: *mut Tcl_Interp,
                                 depth: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_SetResult(interp: *mut Tcl_Interp, result: *mut ::libc::c_char,
                         freeProc: *mut Tcl_FreeProc) -> ();
    pub fn Tcl_SetServiceMode(mode: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_SetObjErrorCode(interp: *mut Tcl_Interp,
                               errorObjPtr: *mut Tcl_Obj) -> ();
    pub fn Tcl_SetObjResult(interp: *mut Tcl_Interp,
                            resultObjPtr: *mut Tcl_Obj) -> ();
    pub fn Tcl_SetStdChannel(channel: Tcl_Channel, _type: ::libc::c_int)
     -> ();
    pub fn Tcl_SetVar(interp: *mut Tcl_Interp, varName: *const ::libc::c_char,
                      newValue: *const ::libc::c_char, flags: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn Tcl_SetVar2(interp: *mut Tcl_Interp, part1: *const ::libc::c_char,
                       part2: *const ::libc::c_char,
                       newValue: *const ::libc::c_char, flags: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn Tcl_SignalId(sig: ::libc::c_int) -> *const ::libc::c_char;
    pub fn Tcl_SignalMsg(sig: ::libc::c_int) -> *const ::libc::c_char;
    pub fn Tcl_SourceRCFile(interp: *mut Tcl_Interp) -> ();
    pub fn Tcl_SplitList(interp: *mut Tcl_Interp,
                         listStr: *const ::libc::c_char,
                         argcPtr: *mut ::libc::c_int,
                         argvPtr: *mut *mut *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_SplitPath(path: *const ::libc::c_char,
                         argcPtr: *mut ::libc::c_int,
                         argvPtr: *mut *mut *const ::libc::c_char) -> ();
    pub fn Tcl_StaticPackage(interp: *mut Tcl_Interp,
                             pkgName: *const ::libc::c_char,
                             initProc: *mut Tcl_PackageInitProc,
                             safeInitProc: *mut Tcl_PackageInitProc) -> ();
    pub fn Tcl_StringMatch(str: *const ::libc::c_char,
                           pattern: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_TellOld(chan: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_TraceVar(interp: *mut Tcl_Interp,
                        varName: *const ::libc::c_char, flags: ::libc::c_int,
                        _proc: *mut Tcl_VarTraceProc, clientData: ClientData)
     -> ::libc::c_int;
    pub fn Tcl_TraceVar2(interp: *mut Tcl_Interp,
                         part1: *const ::libc::c_char,
                         part2: *const ::libc::c_char, flags: ::libc::c_int,
                         _proc: *mut Tcl_VarTraceProc, clientData: ClientData)
     -> ::libc::c_int;
    pub fn Tcl_TranslateFileName(interp: *mut Tcl_Interp,
                                 name: *const ::libc::c_char,
                                 bufferPtr: *mut Tcl_DString)
     -> *mut ::libc::c_char;
    pub fn Tcl_Ungets(chan: Tcl_Channel, str: *const ::libc::c_char,
                      len: ::libc::c_int, atHead: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_UnlinkVar(interp: *mut Tcl_Interp,
                         varName: *const ::libc::c_char) -> ();
    pub fn Tcl_UnregisterChannel(interp: *mut Tcl_Interp, chan: Tcl_Channel)
     -> ::libc::c_int;
    pub fn Tcl_UnsetVar(interp: *mut Tcl_Interp,
                        varName: *const ::libc::c_char, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_UnsetVar2(interp: *mut Tcl_Interp,
                         part1: *const ::libc::c_char,
                         part2: *const ::libc::c_char, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_UntraceVar(interp: *mut Tcl_Interp,
                          varName: *const ::libc::c_char,
                          flags: ::libc::c_int, _proc: *mut Tcl_VarTraceProc,
                          clientData: ClientData) -> ();
    pub fn Tcl_UntraceVar2(interp: *mut Tcl_Interp,
                           part1: *const ::libc::c_char,
                           part2: *const ::libc::c_char, flags: ::libc::c_int,
                           _proc: *mut Tcl_VarTraceProc,
                           clientData: ClientData) -> ();
    pub fn Tcl_UpdateLinkedVar(interp: *mut Tcl_Interp,
                               varName: *const ::libc::c_char) -> ();
    pub fn Tcl_UpVar(interp: *mut Tcl_Interp,
                     frameName: *const ::libc::c_char,
                     varName: *const ::libc::c_char,
                     localName: *const ::libc::c_char, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_UpVar2(interp: *mut Tcl_Interp,
                      frameName: *const ::libc::c_char,
                      part1: *const ::libc::c_char,
                      part2: *const ::libc::c_char,
                      localName: *const ::libc::c_char, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_VarEval(interp: *mut Tcl_Interp, ...) -> ::libc::c_int;
    pub fn Tcl_VarTraceInfo(interp: *mut Tcl_Interp,
                            varName: *const ::libc::c_char,
                            flags: ::libc::c_int,
                            procPtr: *mut Tcl_VarTraceProc,
                            prevClientData: ClientData) -> ClientData;
    pub fn Tcl_VarTraceInfo2(interp: *mut Tcl_Interp,
                             part1: *const ::libc::c_char,
                             part2: *const ::libc::c_char,
                             flags: ::libc::c_int,
                             procPtr: *mut Tcl_VarTraceProc,
                             prevClientData: ClientData) -> ClientData;
    pub fn Tcl_Write(chan: Tcl_Channel, s: *const ::libc::c_char,
                     slen: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_WrongNumArgs(interp: *mut Tcl_Interp, objc: ::libc::c_int,
                            objv: *const *mut Tcl_Obj,
                            message: *const ::libc::c_char) -> ();
    pub fn Tcl_DumpActiveMemory(fileName: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_ValidateAllMemory(file: *const ::libc::c_char,
                                 line: ::libc::c_int) -> ();
/*    pub fn Tcl_AppendResultVA(interp: *mut Tcl_Interp, argList: va_list)
     -> ();*/
/*    pub fn Tcl_AppendStringsToObjVA(objPtr: *mut Tcl_Obj, argList: va_list)
     -> ();*/
    pub fn Tcl_HashStats(tablePtr: *mut Tcl_HashTable) -> *mut ::libc::c_char;
    pub fn Tcl_ParseVar(interp: *mut Tcl_Interp, start: *const ::libc::c_char,
                        termPtr: *mut *const ::libc::c_char)
     -> *const ::libc::c_char;
    pub fn Tcl_PkgPresent(interp: *mut Tcl_Interp,
                          name: *const ::libc::c_char,
                          version: *const ::libc::c_char,
                          exact: ::libc::c_int) -> *const ::libc::c_char;
    pub fn Tcl_PkgPresentEx(interp: *mut Tcl_Interp,
                            name: *const ::libc::c_char,
                            version: *const ::libc::c_char,
                            exact: ::libc::c_int,
                            clientDataPtr: *mut ::libc::c_void)
     -> *const ::libc::c_char;
    pub fn Tcl_PkgProvide(interp: *mut Tcl_Interp,
                          name: *const ::libc::c_char,
                          version: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_PkgRequire(interp: *mut Tcl_Interp,
                          name: *const ::libc::c_char,
                          version: *const ::libc::c_char,
                          exact: ::libc::c_int) -> *const ::libc::c_char;
/*    pub fn Tcl_SetErrorCodeVA(interp: *mut Tcl_Interp, argList: va_list)
     -> ();*/
/*    pub fn Tcl_VarEvalVA(interp: *mut Tcl_Interp, argList: va_list)
     -> ::libc::c_int;*/
    pub fn Tcl_WaitPid(pid: Tcl_Pid, statPtr: *mut ::libc::c_int,
                       options: ::libc::c_int) -> Tcl_Pid;
/*    pub fn Tcl_PanicVA(format: *const ::libc::c_char, argList: va_list) -> ();*/
    pub fn Tcl_GetVersion(major: *mut ::libc::c_int,
                          minor: *mut ::libc::c_int,
                          patchLevel: *mut ::libc::c_int,
                          _type: *mut ::libc::c_int) -> ();
    pub fn Tcl_InitMemory(interp: *mut Tcl_Interp) -> ();
    pub fn Tcl_StackChannel(interp: *mut Tcl_Interp,
                            typePtr: *const Tcl_ChannelType,
                            instanceData: ClientData, mask: ::libc::c_int,
                            prevChan: Tcl_Channel) -> Tcl_Channel;
    pub fn Tcl_UnstackChannel(interp: *mut Tcl_Interp, chan: Tcl_Channel)
     -> ::libc::c_int;
    pub fn Tcl_GetStackedChannel(chan: Tcl_Channel) -> Tcl_Channel;
    pub fn Tcl_SetMainLoop(_proc: *mut Tcl_MainLoopProc) -> ();
    pub fn Tcl_AppendObjToObj(objPtr: *mut Tcl_Obj,
                              appendObjPtr: *mut Tcl_Obj) -> ();
    pub fn Tcl_CreateEncoding(typePtr: *const Tcl_EncodingType)
     -> Tcl_Encoding;
    pub fn Tcl_CreateThreadExitHandler(_proc: *mut Tcl_ExitProc,
                                       clientData: ClientData) -> ();
    pub fn Tcl_DeleteThreadExitHandler(_proc: *mut Tcl_ExitProc,
                                       clientData: ClientData) -> ();
    pub fn Tcl_DiscardResult(statePtr: *mut Tcl_SavedResult) -> ();
    pub fn Tcl_EvalEx(interp: *mut Tcl_Interp, script: *const ::libc::c_char,
                      numBytes: ::libc::c_int, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_EvalObjv(interp: *mut Tcl_Interp, objc: ::libc::c_int,
                        objv: *const *mut Tcl_Obj, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_EvalObjEx(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                         flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ExitThread(status: ::libc::c_int) -> ();
    pub fn Tcl_ExternalToUtf(interp: *mut Tcl_Interp, encoding: Tcl_Encoding,
                             src: *const ::libc::c_char,
                             srcLen: ::libc::c_int, flags: ::libc::c_int,
                             statePtr: *mut Tcl_EncodingState,
                             dst: *mut ::libc::c_char, dstLen: ::libc::c_int,
                             srcReadPtr: *mut ::libc::c_int,
                             dstWrotePtr: *mut ::libc::c_int,
                             dstCharsPtr: *mut ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_ExternalToUtfDString(encoding: Tcl_Encoding,
                                    src: *const ::libc::c_char,
                                    srcLen: ::libc::c_int,
                                    dsPtr: *mut Tcl_DString)
     -> *mut ::libc::c_char;
    pub fn Tcl_FinalizeThread() -> ();
    pub fn Tcl_FinalizeNotifier(clientData: ClientData) -> ();
    pub fn Tcl_FreeEncoding(encoding: Tcl_Encoding) -> ();
    pub fn Tcl_GetCurrentThread() -> Tcl_ThreadId;
    pub fn Tcl_GetEncoding(interp: *mut Tcl_Interp,
                           name: *const ::libc::c_char) -> Tcl_Encoding;
    pub fn Tcl_GetEncodingName(encoding: Tcl_Encoding)
     -> *const ::libc::c_char;
    pub fn Tcl_GetEncodingNames(interp: *mut Tcl_Interp) -> ();
    pub fn Tcl_GetIndexFromObjStruct(interp: *mut Tcl_Interp,
                                     objPtr: *mut Tcl_Obj,
                                     tablePtr: *const ::libc::c_void,
                                     offset: ::libc::c_int,
                                     msg: *const ::libc::c_char,
                                     flags: ::libc::c_int,
                                     indexPtr: *mut ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_GetThreadData(keyPtr: *mut Tcl_ThreadDataKey,
                             size: ::libc::c_int) -> *mut ::libc::c_void;
    pub fn Tcl_GetVar2Ex(interp: *mut Tcl_Interp,
                         part1: *const ::libc::c_char,
                         part2: *const ::libc::c_char, flags: ::libc::c_int)
     -> *mut Tcl_Obj;
    pub fn Tcl_InitNotifier() -> ClientData;
    pub fn Tcl_MutexLock(mutexPtr: *mut Tcl_Mutex) -> ();
    pub fn Tcl_MutexUnlock(mutexPtr: *mut Tcl_Mutex) -> ();
    pub fn Tcl_ConditionNotify(condPtr: *mut Tcl_Condition) -> ();
    pub fn Tcl_ConditionWait(condPtr: *mut Tcl_Condition,
                             mutexPtr: *mut Tcl_Mutex,
                             timePtr: *const Tcl_Time) -> ();
    pub fn Tcl_NumUtfChars(src: *const ::libc::c_char, length: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_ReadChars(channel: Tcl_Channel, objPtr: *mut Tcl_Obj,
                         charsToRead: ::libc::c_int,
                         appendFlag: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_RestoreResult(interp: *mut Tcl_Interp,
                             statePtr: *mut Tcl_SavedResult) -> ();
    pub fn Tcl_SaveResult(interp: *mut Tcl_Interp,
                          statePtr: *mut Tcl_SavedResult) -> ();
    pub fn Tcl_SetSystemEncoding(interp: *mut Tcl_Interp,
                                 name: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_SetVar2Ex(interp: *mut Tcl_Interp,
                         part1: *const ::libc::c_char,
                         part2: *const ::libc::c_char,
                         newValuePtr: *mut Tcl_Obj, flags: ::libc::c_int)
     -> *mut Tcl_Obj;
    pub fn Tcl_ThreadAlert(threadId: Tcl_ThreadId) -> ();
    pub fn Tcl_ThreadQueueEvent(threadId: Tcl_ThreadId, evPtr: *mut Tcl_Event,
                                position: Tcl_QueuePosition) -> ();
    pub fn Tcl_UniCharAtIndex(src: *const ::libc::c_char,
                              index: ::libc::c_int) -> Tcl_UniChar;
    pub fn Tcl_UniCharToLower(ch: ::libc::c_int) -> Tcl_UniChar;
    pub fn Tcl_UniCharToTitle(ch: ::libc::c_int) -> Tcl_UniChar;
    pub fn Tcl_UniCharToUpper(ch: ::libc::c_int) -> Tcl_UniChar;
    pub fn Tcl_UniCharToUtf(ch: ::libc::c_int, buf: *mut ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_UtfAtIndex(src: *const ::libc::c_char, index: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn Tcl_UtfCharComplete(src: *const ::libc::c_char,
                               length: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UtfBackslash(src: *const ::libc::c_char,
                            readPtr: *mut ::libc::c_int,
                            dst: *mut ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_UtfFindFirst(src: *const ::libc::c_char, ch: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn Tcl_UtfFindLast(src: *const ::libc::c_char, ch: ::libc::c_int)
     -> *const ::libc::c_char;
    pub fn Tcl_UtfNext(src: *const ::libc::c_char) -> *const ::libc::c_char;
    pub fn Tcl_UtfPrev(src: *const ::libc::c_char,
                       start: *const ::libc::c_char) -> *const ::libc::c_char;
    pub fn Tcl_UtfToExternal(interp: *mut Tcl_Interp, encoding: Tcl_Encoding,
                             src: *const ::libc::c_char,
                             srcLen: ::libc::c_int, flags: ::libc::c_int,
                             statePtr: *mut Tcl_EncodingState,
                             dst: *mut ::libc::c_char, dstLen: ::libc::c_int,
                             srcReadPtr: *mut ::libc::c_int,
                             dstWrotePtr: *mut ::libc::c_int,
                             dstCharsPtr: *mut ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_UtfToExternalDString(encoding: Tcl_Encoding,
                                    src: *const ::libc::c_char,
                                    srcLen: ::libc::c_int,
                                    dsPtr: *mut Tcl_DString)
     -> *mut ::libc::c_char;
    pub fn Tcl_UtfToLower(src: *mut ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_UtfToTitle(src: *mut ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_UtfToUniChar(src: *const ::libc::c_char,
                            chPtr: *mut Tcl_UniChar) -> ::libc::c_int;
    pub fn Tcl_UtfToUpper(src: *mut ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_WriteChars(chan: Tcl_Channel, src: *const ::libc::c_char,
                          srcLen: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_WriteObj(chan: Tcl_Channel, objPtr: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_GetString(objPtr: *mut Tcl_Obj) -> *mut ::libc::c_char;
    pub fn Tcl_GetDefaultEncodingDir() -> *const ::libc::c_char;
    pub fn Tcl_SetDefaultEncodingDir(path: *const ::libc::c_char) -> ();
    pub fn Tcl_AlertNotifier(clientData: ClientData) -> ();
    pub fn Tcl_ServiceModeHook(mode: ::libc::c_int) -> ();
    pub fn Tcl_UniCharIsAlnum(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharIsAlpha(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharIsDigit(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharIsLower(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharIsSpace(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharIsUpper(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharIsWordChar(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharLen(uniStr: *const Tcl_UniChar) -> ::libc::c_int;
    pub fn Tcl_UniCharNcmp(ucs: *const Tcl_UniChar, uct: *const Tcl_UniChar,
                           numChars: ::libc::c_ulong) -> ::libc::c_int;
    pub fn Tcl_UniCharToUtfDString(uniStr: *const Tcl_UniChar,
                                   uniLength: ::libc::c_int,
                                   dsPtr: *mut Tcl_DString)
     -> *mut ::libc::c_char;
    pub fn Tcl_UtfToUniCharDString(src: *const ::libc::c_char,
                                   length: ::libc::c_int,
                                   dsPtr: *mut Tcl_DString)
     -> *mut Tcl_UniChar;
    pub fn Tcl_GetRegExpFromObj(interp: *mut Tcl_Interp, patObj: *mut Tcl_Obj,
                                flags: ::libc::c_int) -> Tcl_RegExp;
    pub fn Tcl_EvalTokens(interp: *mut Tcl_Interp, tokenPtr: *mut Tcl_Token,
                          count: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_FreeParse(parsePtr: *mut Tcl_Parse) -> ();
    pub fn Tcl_LogCommandInfo(interp: *mut Tcl_Interp,
                              script: *const ::libc::c_char,
                              command: *const ::libc::c_char,
                              length: ::libc::c_int) -> ();
    pub fn Tcl_ParseBraces(interp: *mut Tcl_Interp,
                           start: *const ::libc::c_char,
                           numBytes: ::libc::c_int, parsePtr: *mut Tcl_Parse,
                           append: ::libc::c_int,
                           termPtr: *mut *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_ParseCommand(interp: *mut Tcl_Interp,
                            start: *const ::libc::c_char,
                            numBytes: ::libc::c_int, nested: ::libc::c_int,
                            parsePtr: *mut Tcl_Parse) -> ::libc::c_int;
    pub fn Tcl_ParseExpr(interp: *mut Tcl_Interp,
                         start: *const ::libc::c_char,
                         numBytes: ::libc::c_int, parsePtr: *mut Tcl_Parse)
     -> ::libc::c_int;
    pub fn Tcl_ParseQuotedString(interp: *mut Tcl_Interp,
                                 start: *const ::libc::c_char,
                                 numBytes: ::libc::c_int,
                                 parsePtr: *mut Tcl_Parse,
                                 append: ::libc::c_int,
                                 termPtr: *mut *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_ParseVarName(interp: *mut Tcl_Interp,
                            start: *const ::libc::c_char,
                            numBytes: ::libc::c_int, parsePtr: *mut Tcl_Parse,
                            append: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_GetCwd(interp: *mut Tcl_Interp, cwdPtr: *mut Tcl_DString)
     -> *mut ::libc::c_char;
    pub fn Tcl_Chdir(dirName: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_Access(path: *const ::libc::c_char, mode: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_Stat(path: *const ::libc::c_char, bufPtr: *mut Struct_stat)
     -> ::libc::c_int;
    pub fn Tcl_UtfNcmp(s1: *const ::libc::c_char, s2: *const ::libc::c_char,
                       n: ::libc::c_ulong) -> ::libc::c_int;
    pub fn Tcl_UtfNcasecmp(s1: *const ::libc::c_char,
                           s2: *const ::libc::c_char, n: ::libc::c_ulong)
     -> ::libc::c_int;
    pub fn Tcl_StringCaseMatch(str: *const ::libc::c_char,
                               pattern: *const ::libc::c_char,
                               nocase: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharIsControl(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharIsGraph(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharIsPrint(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_UniCharIsPunct(ch: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_RegExpExecObj(interp: *mut Tcl_Interp, regexp: Tcl_RegExp,
                             textObj: *mut Tcl_Obj, offset: ::libc::c_int,
                             nmatches: ::libc::c_int, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_RegExpGetInfo(regexp: Tcl_RegExp, infoPtr: *mut Tcl_RegExpInfo)
     -> ();
    pub fn Tcl_NewUnicodeObj(unicode: *const Tcl_UniChar,
                             numChars: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_SetUnicodeObj(objPtr: *mut Tcl_Obj,
                             unicode: *const Tcl_UniChar,
                             numChars: ::libc::c_int) -> ();
    pub fn Tcl_GetCharLength(objPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_GetUniChar(objPtr: *mut Tcl_Obj, index: ::libc::c_int)
     -> Tcl_UniChar;
    pub fn Tcl_GetUnicode(objPtr: *mut Tcl_Obj) -> *mut Tcl_UniChar;
    pub fn Tcl_GetRange(objPtr: *mut Tcl_Obj, first: ::libc::c_int,
                        last: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_AppendUnicodeToObj(objPtr: *mut Tcl_Obj,
                                  unicode: *const Tcl_UniChar,
                                  length: ::libc::c_int) -> ();
    pub fn Tcl_RegExpMatchObj(interp: *mut Tcl_Interp, textObj: *mut Tcl_Obj,
                              patternObj: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_SetNotifier(notifierProcPtr: *mut Tcl_NotifierProcs) -> ();
    pub fn Tcl_GetAllocMutex() -> *mut Tcl_Mutex;
    pub fn Tcl_GetChannelNames(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_GetChannelNamesEx(interp: *mut Tcl_Interp,
                                 pattern: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_ProcObjCmd(clientData: ClientData, interp: *mut Tcl_Interp,
                          objc: ::libc::c_int, objv: *const *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_ConditionFinalize(condPtr: *mut Tcl_Condition) -> ();
    pub fn Tcl_MutexFinalize(mutex: *mut Tcl_Mutex) -> ();
    pub fn Tcl_CreateThread(idPtr: *mut Tcl_ThreadId,
                            _proc: *mut Tcl_ThreadCreateProc,
                            clientData: ClientData, stackSize: ::libc::c_int,
                            flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ReadRaw(chan: Tcl_Channel, dst: *mut ::libc::c_char,
                       bytesToRead: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_WriteRaw(chan: Tcl_Channel, src: *const ::libc::c_char,
                        srcLen: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_GetTopChannel(chan: Tcl_Channel) -> Tcl_Channel;
    pub fn Tcl_ChannelBuffered(chan: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_ChannelName(chanTypePtr: *const Tcl_ChannelType)
     -> *const ::libc::c_char;
    pub fn Tcl_ChannelVersion(chanTypePtr: *const Tcl_ChannelType)
     -> Tcl_ChannelTypeVersion;
    pub fn Tcl_ChannelBlockModeProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverBlockModeProc;
    pub fn Tcl_ChannelCloseProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverCloseProc;
    pub fn Tcl_ChannelClose2Proc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverClose2Proc;
    pub fn Tcl_ChannelInputProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverInputProc;
    pub fn Tcl_ChannelOutputProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverOutputProc;
    pub fn Tcl_ChannelSeekProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverSeekProc;
    pub fn Tcl_ChannelSetOptionProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverSetOptionProc;
    pub fn Tcl_ChannelGetOptionProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverGetOptionProc;
    pub fn Tcl_ChannelWatchProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverWatchProc;
    pub fn Tcl_ChannelGetHandleProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverGetHandleProc;
    pub fn Tcl_ChannelFlushProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverFlushProc;
    pub fn Tcl_ChannelHandlerProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverHandlerProc;
    pub fn Tcl_JoinThread(threadId: Tcl_ThreadId, result: *mut ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_IsChannelShared(channel: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_IsChannelRegistered(interp: *mut Tcl_Interp,
                                   channel: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_CutChannel(channel: Tcl_Channel) -> ();
    pub fn Tcl_SpliceChannel(channel: Tcl_Channel) -> ();
    pub fn Tcl_ClearChannelHandlers(channel: Tcl_Channel) -> ();
    pub fn Tcl_IsChannelExisting(channelName: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_UniCharNcasecmp(ucs: *const Tcl_UniChar,
                               uct: *const Tcl_UniChar,
                               numChars: ::libc::c_ulong) -> ::libc::c_int;
    pub fn Tcl_UniCharCaseMatch(uniStr: *const Tcl_UniChar,
                                uniPattern: *const Tcl_UniChar,
                                nocase: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_FindHashEntry(tablePtr: *mut Tcl_HashTable,
                             key: *const ::libc::c_void)
     -> *mut Tcl_HashEntry;
    pub fn Tcl_CreateHashEntry(tablePtr: *mut Tcl_HashTable,
                               key: *const ::libc::c_void,
                               newPtr: *mut ::libc::c_int)
     -> *mut Tcl_HashEntry;
    pub fn Tcl_InitCustomHashTable(tablePtr: *mut Tcl_HashTable,
                                   keyType: ::libc::c_int,
                                   typePtr: *const Tcl_HashKeyType) -> ();
    pub fn Tcl_InitObjHashTable(tablePtr: *mut Tcl_HashTable) -> ();
    pub fn Tcl_CommandTraceInfo(interp: *mut Tcl_Interp,
                                varName: *const ::libc::c_char,
                                flags: ::libc::c_int,
                                procPtr: *mut Tcl_CommandTraceProc,
                                prevClientData: ClientData) -> ClientData;
    pub fn Tcl_TraceCommand(interp: *mut Tcl_Interp,
                            varName: *const ::libc::c_char,
                            flags: ::libc::c_int,
                            _proc: *mut Tcl_CommandTraceProc,
                            clientData: ClientData) -> ::libc::c_int;
    pub fn Tcl_UntraceCommand(interp: *mut Tcl_Interp,
                              varName: *const ::libc::c_char,
                              flags: ::libc::c_int,
                              _proc: *mut Tcl_CommandTraceProc,
                              clientData: ClientData) -> ();
    pub fn Tcl_AttemptAlloc(size: ::libc::c_uint) -> *mut ::libc::c_char;
    pub fn Tcl_AttemptDbCkalloc(size: ::libc::c_uint,
                                file: *const ::libc::c_char,
                                line: ::libc::c_int) -> *mut ::libc::c_char;
    pub fn Tcl_AttemptRealloc(ptr: *mut ::libc::c_char, size: ::libc::c_uint)
     -> *mut ::libc::c_char;
    pub fn Tcl_AttemptDbCkrealloc(ptr: *mut ::libc::c_char,
                                  size: ::libc::c_uint,
                                  file: *const ::libc::c_char,
                                  line: ::libc::c_int) -> *mut ::libc::c_char;
    pub fn Tcl_AttemptSetObjLength(objPtr: *mut Tcl_Obj,
                                   length: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_GetChannelThread(channel: Tcl_Channel) -> Tcl_ThreadId;
    pub fn Tcl_GetUnicodeFromObj(objPtr: *mut Tcl_Obj,
                                 lengthPtr: *mut ::libc::c_int)
     -> *mut Tcl_UniChar;
    pub fn Tcl_GetMathFuncInfo(interp: *mut Tcl_Interp,
                               name: *const ::libc::c_char,
                               numArgsPtr: *mut ::libc::c_int,
                               argTypesPtr: *mut *mut Tcl_ValueType,
                               procPtr: *mut *mut Tcl_MathProc,
                               clientDataPtr: *mut ClientData)
     -> ::libc::c_int;
    pub fn Tcl_ListMathFuncs(interp: *mut Tcl_Interp,
                             pattern: *const ::libc::c_char) -> *mut Tcl_Obj;
    pub fn Tcl_SubstObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                        flags: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_DetachChannel(interp: *mut Tcl_Interp, channel: Tcl_Channel)
     -> ::libc::c_int;
    pub fn Tcl_IsStandardChannel(channel: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_FSCopyFile(srcPathPtr: *mut Tcl_Obj, destPathPtr: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_FSCopyDirectory(srcPathPtr: *mut Tcl_Obj,
                               destPathPtr: *mut Tcl_Obj,
                               errorPtr: *mut *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_FSCreateDirectory(pathPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_FSDeleteFile(pathPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_FSLoadFile(interp: *mut Tcl_Interp, pathPtr: *mut Tcl_Obj,
                          sym1: *const ::libc::c_char,
                          sym2: *const ::libc::c_char,
                          proc1Ptr: *mut *mut Tcl_PackageInitProc,
                          proc2Ptr: *mut *mut Tcl_PackageInitProc,
                          handlePtr: *mut Tcl_LoadHandle,
                          unloadProcPtr: *mut *mut Tcl_FSUnloadFileProc)
     -> ::libc::c_int;
    pub fn Tcl_FSMatchInDirectory(interp: *mut Tcl_Interp,
                                  result: *mut Tcl_Obj, pathPtr: *mut Tcl_Obj,
                                  pattern: *const ::libc::c_char,
                                  types: *mut Tcl_GlobTypeData)
     -> ::libc::c_int;
    pub fn Tcl_FSLink(pathPtr: *mut Tcl_Obj, toPtr: *mut Tcl_Obj,
                      linkAction: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_FSRemoveDirectory(pathPtr: *mut Tcl_Obj,
                                 recursive: ::libc::c_int,
                                 errorPtr: *mut *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_FSRenameFile(srcPathPtr: *mut Tcl_Obj,
                            destPathPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_FSLstat(pathPtr: *mut Tcl_Obj, buf: *mut Tcl_StatBuf)
     -> ::libc::c_int;
    pub fn Tcl_FSUtime(pathPtr: *mut Tcl_Obj, tval: *mut Struct_utimbuf)
     -> ::libc::c_int;
    pub fn Tcl_FSFileAttrsGet(interp: *mut Tcl_Interp, index: ::libc::c_int,
                              pathPtr: *mut Tcl_Obj,
                              objPtrRef: *mut *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_FSFileAttrsSet(interp: *mut Tcl_Interp, index: ::libc::c_int,
                              pathPtr: *mut Tcl_Obj, objPtr: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_FSFileAttrStrings(pathPtr: *mut Tcl_Obj,
                                 objPtrRef: *mut *mut Tcl_Obj)
     -> *const *const ::libc::c_char;
    pub fn Tcl_FSStat(pathPtr: *mut Tcl_Obj, buf: *mut Tcl_StatBuf)
     -> ::libc::c_int;
    pub fn Tcl_FSAccess(pathPtr: *mut Tcl_Obj, mode: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_FSOpenFileChannel(interp: *mut Tcl_Interp,
                                 pathPtr: *mut Tcl_Obj,
                                 modeString: *const ::libc::c_char,
                                 permissions: ::libc::c_int) -> Tcl_Channel;
    pub fn Tcl_FSGetCwd(interp: *mut Tcl_Interp) -> *mut Tcl_Obj;
    pub fn Tcl_FSChdir(pathPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_FSConvertToPathType(interp: *mut Tcl_Interp,
                                   pathPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_FSJoinPath(listObj: *mut Tcl_Obj, elements: ::libc::c_int)
     -> *mut Tcl_Obj;
    pub fn Tcl_FSSplitPath(pathPtr: *mut Tcl_Obj, lenPtr: *mut ::libc::c_int)
     -> *mut Tcl_Obj;
    pub fn Tcl_FSEqualPaths(firstPtr: *mut Tcl_Obj, secondPtr: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_FSGetNormalizedPath(interp: *mut Tcl_Interp,
                                   pathPtr: *mut Tcl_Obj) -> *mut Tcl_Obj;
    pub fn Tcl_FSJoinToPath(pathPtr: *mut Tcl_Obj, objc: ::libc::c_int,
                            objv: *const *mut Tcl_Obj) -> *mut Tcl_Obj;
    pub fn Tcl_FSGetInternalRep(pathPtr: *mut Tcl_Obj,
                                fsPtr: *const Tcl_Filesystem) -> ClientData;
    pub fn Tcl_FSGetTranslatedPath(interp: *mut Tcl_Interp,
                                   pathPtr: *mut Tcl_Obj) -> *mut Tcl_Obj;
    pub fn Tcl_FSEvalFile(interp: *mut Tcl_Interp, fileName: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_FSNewNativePath(fromFilesystem: *const Tcl_Filesystem,
                               clientData: ClientData) -> *mut Tcl_Obj;
    pub fn Tcl_FSGetNativePath(pathPtr: *mut Tcl_Obj)
     -> *const ::libc::c_void;
    pub fn Tcl_FSFileSystemInfo(pathPtr: *mut Tcl_Obj) -> *mut Tcl_Obj;
    pub fn Tcl_FSPathSeparator(pathPtr: *mut Tcl_Obj) -> *mut Tcl_Obj;
    pub fn Tcl_FSListVolumes() -> *mut Tcl_Obj;
    pub fn Tcl_FSRegister(clientData: ClientData,
                          fsPtr: *const Tcl_Filesystem) -> ::libc::c_int;
    pub fn Tcl_FSUnregister(fsPtr: *const Tcl_Filesystem) -> ::libc::c_int;
    pub fn Tcl_FSData(fsPtr: *const Tcl_Filesystem) -> ClientData;
    pub fn Tcl_FSGetTranslatedStringPath(interp: *mut Tcl_Interp,
                                         pathPtr: *mut Tcl_Obj)
     -> *const ::libc::c_char;
    pub fn Tcl_FSGetFileSystemForPath(pathPtr: *mut Tcl_Obj)
     -> *const Tcl_Filesystem;
    pub fn Tcl_FSGetPathType(pathPtr: *mut Tcl_Obj) -> Tcl_PathType;
    pub fn Tcl_OutputBuffered(chan: Tcl_Channel) -> ::libc::c_int;
    pub fn Tcl_FSMountsChanged(fsPtr: *const Tcl_Filesystem) -> ();
    pub fn Tcl_EvalTokensStandard(interp: *mut Tcl_Interp,
                                  tokenPtr: *mut Tcl_Token,
                                  count: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_GetTime(timeBuf: *mut Tcl_Time) -> ();
    pub fn Tcl_CreateObjTrace(interp: *mut Tcl_Interp, level: ::libc::c_int,
                              flags: ::libc::c_int,
                              objProc: *mut Tcl_CmdObjTraceProc,
                              clientData: ClientData,
                              delProc: *mut Tcl_CmdObjTraceDeleteProc)
     -> Tcl_Trace;
    pub fn Tcl_GetCommandInfoFromToken(token: Tcl_Command,
                                       infoPtr: *mut Tcl_CmdInfo)
     -> ::libc::c_int;
    pub fn Tcl_SetCommandInfoFromToken(token: Tcl_Command,
                                       infoPtr: *const Tcl_CmdInfo)
     -> ::libc::c_int;
    pub fn Tcl_DbNewWideIntObj(wideValue: Tcl_WideInt,
                               file: *const ::libc::c_char,
                               line: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_GetWideIntFromObj(interp: *mut Tcl_Interp,
                                 objPtr: *mut Tcl_Obj,
                                 widePtr: *mut Tcl_WideInt) -> ::libc::c_int;
    pub fn Tcl_NewWideIntObj(wideValue: Tcl_WideInt) -> *mut Tcl_Obj;
    pub fn Tcl_SetWideIntObj(objPtr: *mut Tcl_Obj, wideValue: Tcl_WideInt)
     -> ();
    pub fn Tcl_AllocStatBuf() -> *mut Tcl_StatBuf;
    pub fn Tcl_Seek(chan: Tcl_Channel, offset: Tcl_WideInt,
                    mode: ::libc::c_int) -> Tcl_WideInt;
    pub fn Tcl_Tell(chan: Tcl_Channel) -> Tcl_WideInt;
    pub fn Tcl_ChannelWideSeekProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverWideSeekProc;
    pub fn Tcl_DictObjPut(interp: *mut Tcl_Interp, dictPtr: *mut Tcl_Obj,
                          keyPtr: *mut Tcl_Obj, valuePtr: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_DictObjGet(interp: *mut Tcl_Interp, dictPtr: *mut Tcl_Obj,
                          keyPtr: *mut Tcl_Obj,
                          valuePtrPtr: *mut *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_DictObjRemove(interp: *mut Tcl_Interp, dictPtr: *mut Tcl_Obj,
                             keyPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_DictObjSize(interp: *mut Tcl_Interp, dictPtr: *mut Tcl_Obj,
                           sizePtr: *mut ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_DictObjFirst(interp: *mut Tcl_Interp, dictPtr: *mut Tcl_Obj,
                            searchPtr: *mut Tcl_DictSearch,
                            keyPtrPtr: *mut *mut Tcl_Obj,
                            valuePtrPtr: *mut *mut Tcl_Obj,
                            donePtr: *mut ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_DictObjNext(searchPtr: *mut Tcl_DictSearch,
                           keyPtrPtr: *mut *mut Tcl_Obj,
                           valuePtrPtr: *mut *mut Tcl_Obj,
                           donePtr: *mut ::libc::c_int) -> ();
    pub fn Tcl_DictObjDone(searchPtr: *mut Tcl_DictSearch) -> ();
    pub fn Tcl_DictObjPutKeyList(interp: *mut Tcl_Interp,
                                 dictPtr: *mut Tcl_Obj, keyc: ::libc::c_int,
                                 keyv: *const *mut Tcl_Obj,
                                 valuePtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_DictObjRemoveKeyList(interp: *mut Tcl_Interp,
                                    dictPtr: *mut Tcl_Obj,
                                    keyc: ::libc::c_int,
                                    keyv: *const *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_NewDictObj() -> *mut Tcl_Obj;
    pub fn Tcl_DbNewDictObj(file: *const ::libc::c_char, line: ::libc::c_int)
     -> *mut Tcl_Obj;
    pub fn Tcl_RegisterConfig(interp: *mut Tcl_Interp,
                              pkgName: *const ::libc::c_char,
                              configuration: *const Tcl_Config,
                              valEncoding: *const ::libc::c_char) -> ();
    pub fn Tcl_CreateNamespace(interp: *mut Tcl_Interp,
                               name: *const ::libc::c_char,
                               clientData: ClientData,
                               deleteProc: *mut Tcl_NamespaceDeleteProc)
     -> *mut Tcl_Namespace;
    pub fn Tcl_DeleteNamespace(nsPtr: *mut Tcl_Namespace) -> ();
    pub fn Tcl_AppendExportList(interp: *mut Tcl_Interp,
                                nsPtr: *mut Tcl_Namespace,
                                objPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_Export(interp: *mut Tcl_Interp, nsPtr: *mut Tcl_Namespace,
                      pattern: *const ::libc::c_char,
                      resetListFirst: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_Import(interp: *mut Tcl_Interp, nsPtr: *mut Tcl_Namespace,
                      pattern: *const ::libc::c_char,
                      allowOverwrite: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ForgetImport(interp: *mut Tcl_Interp,
                            nsPtr: *mut Tcl_Namespace,
                            pattern: *const ::libc::c_char) -> ::libc::c_int;
    pub fn Tcl_GetCurrentNamespace(interp: *mut Tcl_Interp)
     -> *mut Tcl_Namespace;
    pub fn Tcl_GetGlobalNamespace(interp: *mut Tcl_Interp)
     -> *mut Tcl_Namespace;
    pub fn Tcl_FindNamespace(interp: *mut Tcl_Interp,
                             name: *const ::libc::c_char,
                             contextNsPtr: *mut Tcl_Namespace,
                             flags: ::libc::c_int) -> *mut Tcl_Namespace;
    pub fn Tcl_FindCommand(interp: *mut Tcl_Interp,
                           name: *const ::libc::c_char,
                           contextNsPtr: *mut Tcl_Namespace,
                           flags: ::libc::c_int) -> Tcl_Command;
    pub fn Tcl_GetCommandFromObj(interp: *mut Tcl_Interp,
                                 objPtr: *mut Tcl_Obj) -> Tcl_Command;
    pub fn Tcl_GetCommandFullName(interp: *mut Tcl_Interp,
                                  command: Tcl_Command, objPtr: *mut Tcl_Obj)
     -> ();
    pub fn Tcl_FSEvalFileEx(interp: *mut Tcl_Interp, fileName: *mut Tcl_Obj,
                            encodingName: *const ::libc::c_char)
     -> ::libc::c_int;
    pub fn Tcl_SetExitProc(_proc: *mut Tcl_ExitProc) -> *mut Tcl_ExitProc;
    pub fn Tcl_LimitAddHandler(interp: *mut Tcl_Interp, _type: ::libc::c_int,
                               handlerProc: *mut Tcl_LimitHandlerProc,
                               clientData: ClientData,
                               deleteProc: *mut Tcl_LimitHandlerDeleteProc)
     -> ();
    pub fn Tcl_LimitRemoveHandler(interp: *mut Tcl_Interp,
                                  _type: ::libc::c_int,
                                  handlerProc: *mut Tcl_LimitHandlerProc,
                                  clientData: ClientData) -> ();
    pub fn Tcl_LimitReady(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_LimitCheck(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_LimitExceeded(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_LimitSetCommands(interp: *mut Tcl_Interp,
                                commandLimit: ::libc::c_int) -> ();
    pub fn Tcl_LimitSetTime(interp: *mut Tcl_Interp,
                            timeLimitPtr: *mut Tcl_Time) -> ();
    pub fn Tcl_LimitSetGranularity(interp: *mut Tcl_Interp,
                                   _type: ::libc::c_int,
                                   granularity: ::libc::c_int) -> ();
    pub fn Tcl_LimitTypeEnabled(interp: *mut Tcl_Interp, _type: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_LimitTypeExceeded(interp: *mut Tcl_Interp,
                                 _type: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_LimitTypeSet(interp: *mut Tcl_Interp, _type: ::libc::c_int)
     -> ();
    pub fn Tcl_LimitTypeReset(interp: *mut Tcl_Interp, _type: ::libc::c_int)
     -> ();
    pub fn Tcl_LimitGetCommands(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_LimitGetTime(interp: *mut Tcl_Interp,
                            timeLimitPtr: *mut Tcl_Time) -> ();
    pub fn Tcl_LimitGetGranularity(interp: *mut Tcl_Interp,
                                   _type: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_SaveInterpState(interp: *mut Tcl_Interp, status: ::libc::c_int)
     -> Tcl_InterpState;
    pub fn Tcl_RestoreInterpState(interp: *mut Tcl_Interp,
                                  state: Tcl_InterpState) -> ::libc::c_int;
    pub fn Tcl_DiscardInterpState(state: Tcl_InterpState) -> ();
    pub fn Tcl_SetReturnOptions(interp: *mut Tcl_Interp,
                                options: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_GetReturnOptions(interp: *mut Tcl_Interp,
                                result: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_IsEnsemble(token: Tcl_Command) -> ::libc::c_int;
    pub fn Tcl_CreateEnsemble(interp: *mut Tcl_Interp,
                              name: *const ::libc::c_char,
                              namespacePtr: *mut Tcl_Namespace,
                              flags: ::libc::c_int) -> Tcl_Command;
    pub fn Tcl_FindEnsemble(interp: *mut Tcl_Interp, cmdNameObj: *mut Tcl_Obj,
                            flags: ::libc::c_int) -> Tcl_Command;
    pub fn Tcl_SetEnsembleSubcommandList(interp: *mut Tcl_Interp,
                                         token: Tcl_Command,
                                         subcmdList: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_SetEnsembleMappingDict(interp: *mut Tcl_Interp,
                                      token: Tcl_Command,
                                      mapDict: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_SetEnsembleUnknownHandler(interp: *mut Tcl_Interp,
                                         token: Tcl_Command,
                                         unknownList: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_SetEnsembleFlags(interp: *mut Tcl_Interp, token: Tcl_Command,
                                flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_GetEnsembleSubcommandList(interp: *mut Tcl_Interp,
                                         token: Tcl_Command,
                                         subcmdListPtr: *mut *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_GetEnsembleMappingDict(interp: *mut Tcl_Interp,
                                      token: Tcl_Command,
                                      mapDictPtr: *mut *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_GetEnsembleUnknownHandler(interp: *mut Tcl_Interp,
                                         token: Tcl_Command,
                                         unknownListPtr: *mut *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_GetEnsembleFlags(interp: *mut Tcl_Interp, token: Tcl_Command,
                                flagsPtr: *mut ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_GetEnsembleNamespace(interp: *mut Tcl_Interp,
                                    token: Tcl_Command,
                                    namespacePtrPtr: *mut *mut Tcl_Namespace)
     -> ::libc::c_int;
    pub fn Tcl_SetTimeProc(getProc: *mut Tcl_GetTimeProc,
                           scaleProc: *mut Tcl_ScaleTimeProc,
                           clientData: ClientData) -> ();
    pub fn Tcl_QueryTimeProc(getProc: *mut *mut Tcl_GetTimeProc,
                             scaleProc: *mut *mut Tcl_ScaleTimeProc,
                             clientData: *mut ClientData) -> ();
    pub fn Tcl_ChannelThreadActionProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverThreadActionProc;
    pub fn Tcl_NewBignumObj(value: *mut mp_int) -> *mut Tcl_Obj;
    pub fn Tcl_DbNewBignumObj(value: *mut mp_int, file: *const ::libc::c_char,
                              line: ::libc::c_int) -> *mut Tcl_Obj;
    pub fn Tcl_SetBignumObj(obj: *mut Tcl_Obj, value: *mut mp_int) -> ();
    pub fn Tcl_GetBignumFromObj(interp: *mut Tcl_Interp, obj: *mut Tcl_Obj,
                                value: *mut mp_int) -> ::libc::c_int;
    pub fn Tcl_TakeBignumFromObj(interp: *mut Tcl_Interp, obj: *mut Tcl_Obj,
                                 value: *mut mp_int) -> ::libc::c_int;
    pub fn Tcl_TruncateChannel(chan: Tcl_Channel, length: Tcl_WideInt)
     -> ::libc::c_int;
    pub fn Tcl_ChannelTruncateProc(chanTypePtr: *const Tcl_ChannelType)
     -> *mut Tcl_DriverTruncateProc;
    pub fn Tcl_SetChannelErrorInterp(interp: *mut Tcl_Interp,
                                     msg: *mut Tcl_Obj) -> ();
    pub fn Tcl_GetChannelErrorInterp(interp: *mut Tcl_Interp,
                                     msg: *mut *mut Tcl_Obj) -> ();
    pub fn Tcl_SetChannelError(chan: Tcl_Channel, msg: *mut Tcl_Obj) -> ();
    pub fn Tcl_GetChannelError(chan: Tcl_Channel, msg: *mut *mut Tcl_Obj)
     -> ();
    pub fn Tcl_InitBignumFromDouble(interp: *mut Tcl_Interp,
                                    initval: ::libc::c_double,
                                    toInit: *mut mp_int) -> ::libc::c_int;
    pub fn Tcl_GetNamespaceUnknownHandler(interp: *mut Tcl_Interp,
                                          nsPtr: *mut Tcl_Namespace)
     -> *mut Tcl_Obj;
    pub fn Tcl_SetNamespaceUnknownHandler(interp: *mut Tcl_Interp,
                                          nsPtr: *mut Tcl_Namespace,
                                          handlerPtr: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_GetEncodingFromObj(interp: *mut Tcl_Interp,
                                  objPtr: *mut Tcl_Obj,
                                  encodingPtr: *mut Tcl_Encoding)
     -> ::libc::c_int;
    pub fn Tcl_GetEncodingSearchPath() -> *mut Tcl_Obj;
    pub fn Tcl_SetEncodingSearchPath(searchPath: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_GetEncodingNameFromEnvironment(bufPtr: *mut Tcl_DString)
     -> *const ::libc::c_char;
    pub fn Tcl_PkgRequireProc(interp: *mut Tcl_Interp,
                              name: *const ::libc::c_char,
                              objc: ::libc::c_int, objv: *const *mut Tcl_Obj,
                              clientDataPtr: *mut ::libc::c_void)
     -> ::libc::c_int;
    pub fn Tcl_AppendObjToErrorInfo(interp: *mut Tcl_Interp,
                                    objPtr: *mut Tcl_Obj) -> ();
    pub fn Tcl_AppendLimitedToObj(objPtr: *mut Tcl_Obj,
                                  bytes: *const ::libc::c_char,
                                  length: ::libc::c_int, limit: ::libc::c_int,
                                  ellipsis: *const ::libc::c_char) -> ();
    pub fn Tcl_Format(interp: *mut Tcl_Interp, format: *const ::libc::c_char,
                      objc: ::libc::c_int, objv: *const *mut Tcl_Obj)
     -> *mut Tcl_Obj;
    pub fn Tcl_AppendFormatToObj(interp: *mut Tcl_Interp,
                                 objPtr: *mut Tcl_Obj,
                                 format: *const ::libc::c_char,
                                 objc: ::libc::c_int,
                                 objv: *const *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_ObjPrintf(format: *const ::libc::c_char, ...) -> *mut Tcl_Obj;
    pub fn Tcl_AppendPrintfToObj(objPtr: *mut Tcl_Obj,
                                 format: *const ::libc::c_char, ...) -> ();
    pub fn Tcl_CancelEval(interp: *mut Tcl_Interp, resultObjPtr: *mut Tcl_Obj,
                          clientData: ClientData, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_Canceled(interp: *mut Tcl_Interp, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_CreatePipe(interp: *mut Tcl_Interp, rchan: *mut Tcl_Channel,
                          wchan: *mut Tcl_Channel, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_NRCreateCommand(interp: *mut Tcl_Interp,
                               cmdName: *const ::libc::c_char,
                               _proc: *mut Tcl_ObjCmdProc,
                               nreProc: *mut Tcl_ObjCmdProc,
                               clientData: ClientData,
                               deleteProc: *mut Tcl_CmdDeleteProc)
     -> Tcl_Command;
    pub fn Tcl_NREvalObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                         flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_NREvalObjv(interp: *mut Tcl_Interp, objc: ::libc::c_int,
                          objv: *const *mut Tcl_Obj, flags: ::libc::c_int)
     -> ::libc::c_int;
    pub fn Tcl_NRCmdSwap(interp: *mut Tcl_Interp, cmd: Tcl_Command,
                         objc: ::libc::c_int, objv: *const *mut Tcl_Obj,
                         flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_NRAddCallback(interp: *mut Tcl_Interp,
                             postProcPtr: *mut Tcl_NRPostProc,
                             data0: ClientData, data1: ClientData,
                             data2: ClientData, data3: ClientData) -> ();
    pub fn Tcl_NRCallObjProc(interp: *mut Tcl_Interp,
                             objProc: *mut Tcl_ObjCmdProc,
                             clientData: ClientData, objc: ::libc::c_int,
                             objv: *const *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_GetFSDeviceFromStat(statPtr: *const Tcl_StatBuf)
     -> ::libc::c_uint;
    pub fn Tcl_GetFSInodeFromStat(statPtr: *const Tcl_StatBuf)
     -> ::libc::c_uint;
    pub fn Tcl_GetModeFromStat(statPtr: *const Tcl_StatBuf) -> ::libc::c_uint;
    pub fn Tcl_GetLinkCountFromStat(statPtr: *const Tcl_StatBuf)
     -> ::libc::c_int;
    pub fn Tcl_GetUserIdFromStat(statPtr: *const Tcl_StatBuf)
     -> ::libc::c_int;
    pub fn Tcl_GetGroupIdFromStat(statPtr: *const Tcl_StatBuf)
     -> ::libc::c_int;
    pub fn Tcl_GetDeviceTypeFromStat(statPtr: *const Tcl_StatBuf)
     -> ::libc::c_int;
    pub fn Tcl_GetAccessTimeFromStat(statPtr: *const Tcl_StatBuf)
     -> Tcl_WideInt;
    pub fn Tcl_GetModificationTimeFromStat(statPtr: *const Tcl_StatBuf)
     -> Tcl_WideInt;
    pub fn Tcl_GetChangeTimeFromStat(statPtr: *const Tcl_StatBuf)
     -> Tcl_WideInt;
    pub fn Tcl_GetSizeFromStat(statPtr: *const Tcl_StatBuf) -> Tcl_WideUInt;
    pub fn Tcl_GetBlocksFromStat(statPtr: *const Tcl_StatBuf) -> Tcl_WideUInt;
    pub fn Tcl_GetBlockSizeFromStat(statPtr: *const Tcl_StatBuf)
     -> ::libc::c_uint;
    pub fn Tcl_SetEnsembleParameterList(interp: *mut Tcl_Interp,
                                        token: Tcl_Command,
                                        paramList: *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_GetEnsembleParameterList(interp: *mut Tcl_Interp,
                                        token: Tcl_Command,
                                        paramListPtr: *mut *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_ParseArgsObjv(interp: *mut Tcl_Interp,
                             argTable: *const Tcl_ArgvInfo,
                             objcPtr: *mut ::libc::c_int,
                             objv: *const *mut Tcl_Obj,
                             remObjv: *mut *mut *mut Tcl_Obj)
     -> ::libc::c_int;
    pub fn Tcl_GetErrorLine(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_SetErrorLine(interp: *mut Tcl_Interp, lineNum: ::libc::c_int)
     -> ();
    pub fn Tcl_TransferResult(sourceInterp: *mut Tcl_Interp,
                              result: ::libc::c_int,
                              targetInterp: *mut Tcl_Interp) -> ();
    pub fn Tcl_InterpActive(interp: *mut Tcl_Interp) -> ::libc::c_int;
    pub fn Tcl_BackgroundException(interp: *mut Tcl_Interp,
                                   code: ::libc::c_int) -> ();
    pub fn Tcl_ZlibDeflate(interp: *mut Tcl_Interp, format: ::libc::c_int,
                           data: *mut Tcl_Obj, level: ::libc::c_int,
                           gzipHeaderDictObj: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_ZlibInflate(interp: *mut Tcl_Interp, format: ::libc::c_int,
                           data: *mut Tcl_Obj, buffersize: ::libc::c_int,
                           gzipHeaderDictObj: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_ZlibCRC32(crc: ::libc::c_uint, buf: *const ::libc::c_uchar,
                         len: ::libc::c_int) -> ::libc::c_uint;
    pub fn Tcl_ZlibAdler32(adler: ::libc::c_uint, buf: *const ::libc::c_uchar,
                           len: ::libc::c_int) -> ::libc::c_uint;
    pub fn Tcl_ZlibStreamInit(interp: *mut Tcl_Interp, mode: ::libc::c_int,
                              format: ::libc::c_int, level: ::libc::c_int,
                              dictObj: *mut Tcl_Obj,
                              zshandle: *mut Tcl_ZlibStream) -> ::libc::c_int;
    pub fn Tcl_ZlibStreamGetCommandName(zshandle: Tcl_ZlibStream)
     -> *mut Tcl_Obj;
    pub fn Tcl_ZlibStreamEof(zshandle: Tcl_ZlibStream) -> ::libc::c_int;
    pub fn Tcl_ZlibStreamChecksum(zshandle: Tcl_ZlibStream) -> ::libc::c_int;
    pub fn Tcl_ZlibStreamPut(zshandle: Tcl_ZlibStream, data: *mut Tcl_Obj,
                             flush: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ZlibStreamGet(zshandle: Tcl_ZlibStream, data: *mut Tcl_Obj,
                             count: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_ZlibStreamClose(zshandle: Tcl_ZlibStream) -> ::libc::c_int;
    pub fn Tcl_ZlibStreamReset(zshandle: Tcl_ZlibStream) -> ::libc::c_int;
    pub fn Tcl_SetStartupScript(path: *mut Tcl_Obj,
                                encoding: *const ::libc::c_char) -> ();
    pub fn Tcl_GetStartupScript(encodingPtr: *mut *const ::libc::c_char)
     -> *mut Tcl_Obj;
    pub fn Tcl_CloseEx(interp: *mut Tcl_Interp, chan: Tcl_Channel,
                       flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_NRExprObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                         resultPtr: *mut Tcl_Obj) -> ::libc::c_int;
    pub fn Tcl_NRSubstObj(interp: *mut Tcl_Interp, objPtr: *mut Tcl_Obj,
                          flags: ::libc::c_int) -> ::libc::c_int;
    pub fn Tcl_LoadFile(interp: *mut Tcl_Interp, pathPtr: *mut Tcl_Obj,
                        symv: *const *const ::libc::c_char,
                        flags: ::libc::c_int, procPtrs: *mut ::libc::c_void,
                        handlePtr: *mut Tcl_LoadHandle) -> ::libc::c_int;
    pub fn Tcl_FindSymbol(interp: *mut Tcl_Interp, handle: Tcl_LoadHandle,
                          symbol: *const ::libc::c_char)
     -> *mut ::libc::c_void;
    pub fn Tcl_FSUnloadFile(interp: *mut Tcl_Interp,
                            handlePtr: Tcl_LoadHandle) -> ::libc::c_int;
    pub fn Tcl_ZlibStreamSetCompressionDictionary(zhandle: Tcl_ZlibStream,
                                                  compressionDictionaryObj:
                                                      *mut Tcl_Obj) -> ();
    pub fn Tcl_AppInit(arg1: *mut Tcl_Interp) -> ::libc::c_int;
}