sl@0: /* sl@0: * tclPlatDecls.h -- sl@0: * sl@0: * Declarations of platform specific Tcl APIs. sl@0: * sl@0: * Copyright (c) 1998-1999 by Scriptics Corporation. sl@0: * All rights reserved. sl@0: * Portions Copyright (c) 2007 Nokia Corporation and/or its subsidiaries. All rights reserved. sl@0: * sl@0: * RCS: @(#) $Id: tclPlatDecls.h,v 1.18.2.5 2004/06/10 17:17:45 andreas_kupries Exp $ sl@0: */ sl@0: sl@0: #ifndef _TCLPLATDECLS sl@0: #define _TCLPLATDECLS sl@0: sl@0: /* sl@0: * Pull in the typedef of TCHAR for windows. sl@0: */ sl@0: #if defined(__CYGWIN__) sl@0: typedef char TCHAR; sl@0: #elif defined(__WIN32__) && !defined(_TCHAR_DEFINED) sl@0: #ifdef __SYMBIAN32__ sl@0: typedef char TCHAR; sl@0: #else sl@0: # include sl@0: #endif sl@0: typedef char TCHAR; sl@0: # ifndef _TCHAR_DEFINED sl@0: /* Borland seems to forget to set this. */ sl@0: #ifdef __SYMBIAN32__ sl@0: typedef char TCHAR; sl@0: #else sl@0: typedef _TCHAR TCHAR; sl@0: #endif sl@0: # define _TCHAR_DEFINED sl@0: # endif sl@0: # if defined(_MSC_VER) && defined(__STDC__) sl@0: /* MSVC++ misses this. */ sl@0: typedef _TCHAR TCHAR; sl@0: # endif sl@0: #endif sl@0: sl@0: /* !BEGIN!: Do not edit below this line. */ sl@0: sl@0: /* sl@0: * Exported function declarations: sl@0: */ sl@0: sl@0: #ifdef __WIN32__ sl@0: /* 0 */ sl@0: EXTERN TCHAR * Tcl_WinUtfToTChar _ANSI_ARGS_((CONST char * str, sl@0: int len, Tcl_DString * dsPtr)); sl@0: /* 1 */ sl@0: EXTERN char * Tcl_WinTCharToUtf _ANSI_ARGS_((CONST TCHAR * str, sl@0: int len, Tcl_DString * dsPtr)); sl@0: #endif /* __WIN32__ */ sl@0: #ifdef MAC_TCL sl@0: /* 0 */ sl@0: EXTERN void Tcl_MacSetEventProc _ANSI_ARGS_(( sl@0: Tcl_MacConvertEventPtr procPtr)); sl@0: /* 1 */ sl@0: EXTERN char * Tcl_MacConvertTextResource _ANSI_ARGS_(( sl@0: Handle resource)); sl@0: /* 2 */ sl@0: EXTERN int Tcl_MacEvalResource _ANSI_ARGS_((Tcl_Interp * interp, sl@0: CONST char * resourceName, sl@0: int resourceNumber, CONST char * fileName)); sl@0: /* 3 */ sl@0: EXTERN Handle Tcl_MacFindResource _ANSI_ARGS_((Tcl_Interp * interp, sl@0: long resourceType, CONST char * resourceName, sl@0: int resourceNumber, CONST char * resFileRef, sl@0: int * releaseIt)); sl@0: /* 4 */ sl@0: EXTERN int Tcl_GetOSTypeFromObj _ANSI_ARGS_(( sl@0: Tcl_Interp * interp, Tcl_Obj * objPtr, sl@0: OSType * osTypePtr)); sl@0: /* 5 */ sl@0: EXTERN void Tcl_SetOSTypeObj _ANSI_ARGS_((Tcl_Obj * objPtr, sl@0: OSType osType)); sl@0: /* 6 */ sl@0: EXTERN Tcl_Obj * Tcl_NewOSTypeObj _ANSI_ARGS_((OSType osType)); sl@0: /* 7 */ sl@0: EXTERN int strncasecmp _ANSI_ARGS_((CONST char * s1, sl@0: CONST char * s2, size_t n)); sl@0: /* 8 */ sl@0: EXTERN int strcasecmp _ANSI_ARGS_((CONST char * s1, sl@0: CONST char * s2)); sl@0: #endif /* MAC_TCL */ sl@0: #ifdef MAC_OSX_TCL sl@0: /* 0 */ sl@0: EXTERN int Tcl_MacOSXOpenBundleResources _ANSI_ARGS_(( sl@0: Tcl_Interp * interp, CONST char * bundleName, sl@0: int hasResourceFile, int maxPathLen, sl@0: char * libraryPath)); sl@0: /* 1 */ sl@0: EXTERN int Tcl_MacOSXOpenVersionedBundleResources _ANSI_ARGS_(( sl@0: Tcl_Interp * interp, CONST char * bundleName, sl@0: CONST char * bundleVersion, sl@0: int hasResourceFile, int maxPathLen, sl@0: char * libraryPath)); sl@0: #endif /* MAC_OSX_TCL */ sl@0: sl@0: typedef struct TclPlatStubs { sl@0: int magic; sl@0: struct TclPlatStubHooks *hooks; sl@0: sl@0: #ifdef __WIN32__ sl@0: TCHAR * (*tcl_WinUtfToTChar) _ANSI_ARGS_((CONST char * str, int len, Tcl_DString * dsPtr)); /* 0 */ sl@0: char * (*tcl_WinTCharToUtf) _ANSI_ARGS_((CONST TCHAR * str, int len, Tcl_DString * dsPtr)); /* 1 */ sl@0: #endif /* __WIN32__ */ sl@0: #ifdef MAC_TCL sl@0: void (*tcl_MacSetEventProc) _ANSI_ARGS_((Tcl_MacConvertEventPtr procPtr)); /* 0 */ sl@0: char * (*tcl_MacConvertTextResource) _ANSI_ARGS_((Handle resource)); /* 1 */ sl@0: int (*tcl_MacEvalResource) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * resourceName, int resourceNumber, CONST char * fileName)); /* 2 */ sl@0: Handle (*tcl_MacFindResource) _ANSI_ARGS_((Tcl_Interp * interp, long resourceType, CONST char * resourceName, int resourceNumber, CONST char * resFileRef, int * releaseIt)); /* 3 */ sl@0: int (*tcl_GetOSTypeFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, OSType * osTypePtr)); /* 4 */ sl@0: void (*tcl_SetOSTypeObj) _ANSI_ARGS_((Tcl_Obj * objPtr, OSType osType)); /* 5 */ sl@0: Tcl_Obj * (*tcl_NewOSTypeObj) _ANSI_ARGS_((OSType osType)); /* 6 */ sl@0: int (*strncasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2, size_t n)); /* 7 */ sl@0: int (*strcasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2)); /* 8 */ sl@0: #endif /* MAC_TCL */ sl@0: #ifdef MAC_OSX_TCL sl@0: int (*tcl_MacOSXOpenBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, int hasResourceFile, int maxPathLen, char * libraryPath)); /* 0 */ sl@0: int (*tcl_MacOSXOpenVersionedBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, CONST char * bundleVersion, int hasResourceFile, int maxPathLen, char * libraryPath)); /* 1 */ sl@0: #endif /* MAC_OSX_TCL */ sl@0: } TclPlatStubs; sl@0: sl@0: #ifdef __cplusplus sl@0: extern "C" { sl@0: #endif sl@0: extern TclPlatStubs *tclPlatStubsPtr; sl@0: #ifdef __cplusplus sl@0: } sl@0: #endif sl@0: sl@0: #if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) sl@0: sl@0: /* sl@0: * Inline function declarations: sl@0: */ sl@0: sl@0: #ifdef __WIN32__ sl@0: #ifndef Tcl_WinUtfToTChar sl@0: #define Tcl_WinUtfToTChar \ sl@0: (tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */ sl@0: #endif sl@0: #ifndef Tcl_WinTCharToUtf sl@0: #define Tcl_WinTCharToUtf \ sl@0: (tclPlatStubsPtr->tcl_WinTCharToUtf) /* 1 */ sl@0: #endif sl@0: #endif /* __WIN32__ */ sl@0: #ifdef MAC_TCL sl@0: #ifndef Tcl_MacSetEventProc sl@0: #define Tcl_MacSetEventProc \ sl@0: (tclPlatStubsPtr->tcl_MacSetEventProc) /* 0 */ sl@0: #endif sl@0: #ifndef Tcl_MacConvertTextResource sl@0: #define Tcl_MacConvertTextResource \ sl@0: (tclPlatStubsPtr->tcl_MacConvertTextResource) /* 1 */ sl@0: #endif sl@0: #ifndef Tcl_MacEvalResource sl@0: #define Tcl_MacEvalResource \ sl@0: (tclPlatStubsPtr->tcl_MacEvalResource) /* 2 */ sl@0: #endif sl@0: #ifndef Tcl_MacFindResource sl@0: #define Tcl_MacFindResource \ sl@0: (tclPlatStubsPtr->tcl_MacFindResource) /* 3 */ sl@0: #endif sl@0: #ifndef Tcl_GetOSTypeFromObj sl@0: #define Tcl_GetOSTypeFromObj \ sl@0: (tclPlatStubsPtr->tcl_GetOSTypeFromObj) /* 4 */ sl@0: #endif sl@0: #ifndef Tcl_SetOSTypeObj sl@0: #define Tcl_SetOSTypeObj \ sl@0: (tclPlatStubsPtr->tcl_SetOSTypeObj) /* 5 */ sl@0: #endif sl@0: #ifndef Tcl_NewOSTypeObj sl@0: #define Tcl_NewOSTypeObj \ sl@0: (tclPlatStubsPtr->tcl_NewOSTypeObj) /* 6 */ sl@0: #endif sl@0: #ifndef strncasecmp sl@0: #define strncasecmp \ sl@0: (tclPlatStubsPtr->strncasecmp) /* 7 */ sl@0: #endif sl@0: #ifndef strcasecmp sl@0: #define strcasecmp \ sl@0: (tclPlatStubsPtr->strcasecmp) /* 8 */ sl@0: #endif sl@0: #endif /* MAC_TCL */ sl@0: #ifdef MAC_OSX_TCL sl@0: #ifndef Tcl_MacOSXOpenBundleResources sl@0: #define Tcl_MacOSXOpenBundleResources \ sl@0: (tclPlatStubsPtr->tcl_MacOSXOpenBundleResources) /* 0 */ sl@0: #endif sl@0: #ifndef Tcl_MacOSXOpenVersionedBundleResources sl@0: #define Tcl_MacOSXOpenVersionedBundleResources \ sl@0: (tclPlatStubsPtr->tcl_MacOSXOpenVersionedBundleResources) /* 1 */ sl@0: #endif sl@0: #endif /* MAC_OSX_TCL */ sl@0: #endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ sl@0: sl@0: /* !END!: Do not edit above this line. */ sl@0: sl@0: #endif /* _TCLPLATDECLS */ sl@0: sl@0: