#ifndef _TCLPLATDECLS
#define _TCLPLATDECLS
#if defined(__CYGWIN__)
typedef char TCHAR;
#elif defined(__WIN32__) && !defined(_TCHAR_DEFINED)
# include <tchar.h>
# ifndef _TCHAR_DEFINED
typedef _TCHAR TCHAR;
# define _TCHAR_DEFINED
# endif
# if defined(_MSC_VER) && defined(__STDC__)
typedef _TCHAR TCHAR;
# endif
#endif
#ifdef __WIN32__
EXTERN TCHAR * Tcl_WinUtfToTChar _ANSI_ARGS_((CONST char * str,
int len, Tcl_DString * dsPtr));
EXTERN char * Tcl_WinTCharToUtf _ANSI_ARGS_((CONST TCHAR * str,
int len, Tcl_DString * dsPtr));
#endif
#ifdef MAC_TCL
EXTERN void Tcl_MacSetEventProc _ANSI_ARGS_((
Tcl_MacConvertEventPtr procPtr));
EXTERN char * Tcl_MacConvertTextResource _ANSI_ARGS_((
Handle resource));
EXTERN int Tcl_MacEvalResource _ANSI_ARGS_((Tcl_Interp * interp,
CONST char * resourceName,
int resourceNumber, CONST char * fileName));
EXTERN Handle Tcl_MacFindResource _ANSI_ARGS_((Tcl_Interp * interp,
long resourceType, CONST char * resourceName,
int resourceNumber, CONST char * resFileRef,
int * releaseIt));
EXTERN int Tcl_GetOSTypeFromObj _ANSI_ARGS_((
Tcl_Interp * interp, Tcl_Obj * objPtr,
OSType * osTypePtr));
EXTERN void Tcl_SetOSTypeObj _ANSI_ARGS_((Tcl_Obj * objPtr,
OSType osType));
EXTERN Tcl_Obj * Tcl_NewOSTypeObj _ANSI_ARGS_((OSType osType));
EXTERN int strncasecmp _ANSI_ARGS_((CONST char * s1,
CONST char * s2, size_t n));
EXTERN int strcasecmp _ANSI_ARGS_((CONST char * s1,
CONST char * s2));
#endif
#ifdef MAC_OSX_TCL
EXTERN int Tcl_MacOSXOpenBundleResources _ANSI_ARGS_((
Tcl_Interp * interp, CONST char * bundleName,
int hasResourceFile, int maxPathLen,
char * libraryPath));
#endif
typedef struct TclPlatStubs {
int magic;
struct TclPlatStubHooks *hooks;
#ifdef __WIN32__
TCHAR * (*tcl_WinUtfToTChar) _ANSI_ARGS_((CONST char * str, int len, Tcl_DString * dsPtr));
char * (*tcl_WinTCharToUtf) _ANSI_ARGS_((CONST TCHAR * str, int len, Tcl_DString * dsPtr));
#endif
#ifdef MAC_TCL
void (*tcl_MacSetEventProc) _ANSI_ARGS_((Tcl_MacConvertEventPtr procPtr));
char * (*tcl_MacConvertTextResource) _ANSI_ARGS_((Handle resource));
int (*tcl_MacEvalResource) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * resourceName, int resourceNumber, CONST char * fileName));
Handle (*tcl_MacFindResource) _ANSI_ARGS_((Tcl_Interp * interp, long resourceType, CONST char * resourceName, int resourceNumber, CONST char * resFileRef, int * releaseIt));
int (*tcl_GetOSTypeFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, OSType * osTypePtr));
void (*tcl_SetOSTypeObj) _ANSI_ARGS_((Tcl_Obj * objPtr, OSType osType));
Tcl_Obj * (*tcl_NewOSTypeObj) _ANSI_ARGS_((OSType osType));
int (*strncasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2, size_t n));
int (*strcasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2));
#endif
#ifdef MAC_OSX_TCL
int (*tcl_MacOSXOpenBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, int hasResourceFile, int maxPathLen, char * libraryPath));
#endif
} TclPlatStubs;
#ifdef __cplusplus
extern "C" {
#endif
extern TclPlatStubs *tclPlatStubsPtr;
#ifdef __cplusplus
}
#endif
#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS)
#ifdef __WIN32__
#ifndef Tcl_WinUtfToTChar
#define Tcl_WinUtfToTChar \
(tclPlatStubsPtr->tcl_WinUtfToTChar)
#endif
#ifndef Tcl_WinTCharToUtf
#define Tcl_WinTCharToUtf \
(tclPlatStubsPtr->tcl_WinTCharToUtf)
#endif
#endif
#ifdef MAC_TCL
#ifndef Tcl_MacSetEventProc
#define Tcl_MacSetEventProc \
(tclPlatStubsPtr->tcl_MacSetEventProc)
#endif
#ifndef Tcl_MacConvertTextResource
#define Tcl_MacConvertTextResource \
(tclPlatStubsPtr->tcl_MacConvertTextResource)
#endif
#ifndef Tcl_MacEvalResource
#define Tcl_MacEvalResource \
(tclPlatStubsPtr->tcl_MacEvalResource)
#endif
#ifndef Tcl_MacFindResource
#define Tcl_MacFindResource \
(tclPlatStubsPtr->tcl_MacFindResource)
#endif
#ifndef Tcl_GetOSTypeFromObj
#define Tcl_GetOSTypeFromObj \
(tclPlatStubsPtr->tcl_GetOSTypeFromObj)
#endif
#ifndef Tcl_SetOSTypeObj
#define Tcl_SetOSTypeObj \
(tclPlatStubsPtr->tcl_SetOSTypeObj)
#endif
#ifndef Tcl_NewOSTypeObj
#define Tcl_NewOSTypeObj \
(tclPlatStubsPtr->tcl_NewOSTypeObj)
#endif
#ifndef strncasecmp
#define strncasecmp \
(tclPlatStubsPtr->strncasecmp)
#endif
#ifndef strcasecmp
#define strcasecmp \
(tclPlatStubsPtr->strcasecmp)
#endif
#endif
#ifdef MAC_OSX_TCL
#ifndef Tcl_MacOSXOpenBundleResources
#define Tcl_MacOSXOpenBundleResources \
(tclPlatStubsPtr->tcl_MacOSXOpenBundleResources)
#endif
#endif
#endif
#endif