| [25] | 1 | /* | 
|---|
 | 2 |  * tclPlatDecls.h -- | 
|---|
 | 3 |  * | 
|---|
 | 4 |  *      Declarations of platform specific Tcl APIs. | 
|---|
 | 5 |  * | 
|---|
 | 6 |  * Copyright (c) 1998-1999 by Scriptics Corporation. | 
|---|
 | 7 |  * All rights reserved. | 
|---|
 | 8 |  * | 
|---|
 | 9 |  * RCS: @(#) $Id: tclPlatDecls.h,v 1.27 2007/12/13 15:23:20 dgp Exp $ | 
|---|
 | 10 |  */ | 
|---|
 | 11 |  | 
|---|
 | 12 | #ifndef _TCLPLATDECLS | 
|---|
 | 13 | #define _TCLPLATDECLS | 
|---|
 | 14 |  | 
|---|
 | 15 | #undef TCL_STORAGE_CLASS | 
|---|
 | 16 | #ifdef BUILD_tcl | 
|---|
 | 17 | #   define TCL_STORAGE_CLASS DLLEXPORT | 
|---|
 | 18 | #else | 
|---|
 | 19 | #   ifdef USE_TCL_STUBS | 
|---|
 | 20 | #      define TCL_STORAGE_CLASS | 
|---|
 | 21 | #   else | 
|---|
 | 22 | #      define TCL_STORAGE_CLASS DLLIMPORT | 
|---|
 | 23 | #   endif | 
|---|
 | 24 | #endif | 
|---|
 | 25 |  | 
|---|
 | 26 | /* | 
|---|
 | 27 |  *  Pull in the typedef of TCHAR for windows. | 
|---|
 | 28 |  */ | 
|---|
 | 29 | #if defined(__CYGWIN__) | 
|---|
 | 30 |     typedef char TCHAR; | 
|---|
 | 31 | #elif defined(__WIN32__) && !defined(_TCHAR_DEFINED) | 
|---|
 | 32 | #   include <tchar.h> | 
|---|
 | 33 | #   ifndef _TCHAR_DEFINED | 
|---|
 | 34 |         /* Borland seems to forget to set this. */ | 
|---|
 | 35 |         typedef _TCHAR TCHAR; | 
|---|
 | 36 | #       define _TCHAR_DEFINED | 
|---|
 | 37 | #   endif | 
|---|
 | 38 | #   if defined(_MSC_VER) && defined(__STDC__) | 
|---|
 | 39 |         /* MSVC++ misses this. */ | 
|---|
 | 40 |         typedef _TCHAR TCHAR; | 
|---|
 | 41 | #   endif | 
|---|
 | 42 | #endif | 
|---|
 | 43 |  | 
|---|
 | 44 | /* !BEGIN!: Do not edit below this line. */ | 
|---|
 | 45 |  | 
|---|
 | 46 | /* | 
|---|
 | 47 |  * Exported function declarations: | 
|---|
 | 48 |  */ | 
|---|
 | 49 |  | 
|---|
 | 50 | #ifdef __WIN32__ /* WIN */ | 
|---|
 | 51 | #ifndef Tcl_WinUtfToTChar_TCL_DECLARED | 
|---|
 | 52 | #define Tcl_WinUtfToTChar_TCL_DECLARED | 
|---|
 | 53 | /* 0 */ | 
|---|
 | 54 | EXTERN TCHAR *          Tcl_WinUtfToTChar (CONST char * str, int len,  | 
|---|
 | 55 |                                 Tcl_DString * dsPtr); | 
|---|
 | 56 | #endif | 
|---|
 | 57 | #ifndef Tcl_WinTCharToUtf_TCL_DECLARED | 
|---|
 | 58 | #define Tcl_WinTCharToUtf_TCL_DECLARED | 
|---|
 | 59 | /* 1 */ | 
|---|
 | 60 | EXTERN char *           Tcl_WinTCharToUtf (CONST TCHAR * str, int len,  | 
|---|
 | 61 |                                 Tcl_DString * dsPtr); | 
|---|
 | 62 | #endif | 
|---|
 | 63 | #endif /* WIN */ | 
|---|
 | 64 | #ifdef MAC_OSX_TCL /* MACOSX */ | 
|---|
 | 65 | #ifndef Tcl_MacOSXOpenBundleResources_TCL_DECLARED | 
|---|
 | 66 | #define Tcl_MacOSXOpenBundleResources_TCL_DECLARED | 
|---|
 | 67 | /* 0 */ | 
|---|
 | 68 | EXTERN int              Tcl_MacOSXOpenBundleResources (Tcl_Interp * interp,  | 
|---|
 | 69 |                                 CONST char * bundleName, int hasResourceFile,  | 
|---|
 | 70 |                                 int maxPathLen, char * libraryPath); | 
|---|
 | 71 | #endif | 
|---|
 | 72 | #ifndef Tcl_MacOSXOpenVersionedBundleResources_TCL_DECLARED | 
|---|
 | 73 | #define Tcl_MacOSXOpenVersionedBundleResources_TCL_DECLARED | 
|---|
 | 74 | /* 1 */ | 
|---|
 | 75 | EXTERN int              Tcl_MacOSXOpenVersionedBundleResources ( | 
|---|
 | 76 |                                 Tcl_Interp * interp, CONST char * bundleName,  | 
|---|
 | 77 |                                 CONST char * bundleVersion,  | 
|---|
 | 78 |                                 int hasResourceFile, int maxPathLen,  | 
|---|
 | 79 |                                 char * libraryPath); | 
|---|
 | 80 | #endif | 
|---|
 | 81 | #endif /* MACOSX */ | 
|---|
 | 82 |  | 
|---|
 | 83 | typedef struct TclPlatStubs { | 
|---|
 | 84 |     int magic; | 
|---|
 | 85 |     struct TclPlatStubHooks *hooks; | 
|---|
 | 86 |  | 
|---|
 | 87 | #ifdef __WIN32__ /* WIN */ | 
|---|
 | 88 |     TCHAR * (*tcl_WinUtfToTChar) (CONST char * str, int len, Tcl_DString * dsPtr); /* 0 */ | 
|---|
 | 89 |     char * (*tcl_WinTCharToUtf) (CONST TCHAR * str, int len, Tcl_DString * dsPtr); /* 1 */ | 
|---|
 | 90 | #endif /* WIN */ | 
|---|
 | 91 | #ifdef MAC_OSX_TCL /* MACOSX */ | 
|---|
 | 92 |     int (*tcl_MacOSXOpenBundleResources) (Tcl_Interp * interp, CONST char * bundleName, int hasResourceFile, int maxPathLen, char * libraryPath); /* 0 */ | 
|---|
 | 93 |     int (*tcl_MacOSXOpenVersionedBundleResources) (Tcl_Interp * interp, CONST char * bundleName, CONST char * bundleVersion, int hasResourceFile, int maxPathLen, char * libraryPath); /* 1 */ | 
|---|
 | 94 | #endif /* MACOSX */ | 
|---|
 | 95 | } TclPlatStubs; | 
|---|
 | 96 |  | 
|---|
 | 97 | #ifdef __cplusplus | 
|---|
 | 98 | extern "C" { | 
|---|
 | 99 | #endif | 
|---|
 | 100 | extern TclPlatStubs *tclPlatStubsPtr; | 
|---|
 | 101 | #ifdef __cplusplus | 
|---|
 | 102 | } | 
|---|
 | 103 | #endif | 
|---|
 | 104 |  | 
|---|
 | 105 | #if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) | 
|---|
 | 106 |  | 
|---|
 | 107 | /* | 
|---|
 | 108 |  * Inline function declarations: | 
|---|
 | 109 |  */ | 
|---|
 | 110 |  | 
|---|
 | 111 | #ifdef __WIN32__ /* WIN */ | 
|---|
 | 112 | #ifndef Tcl_WinUtfToTChar | 
|---|
 | 113 | #define Tcl_WinUtfToTChar \ | 
|---|
 | 114 |         (tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */ | 
|---|
 | 115 | #endif | 
|---|
 | 116 | #ifndef Tcl_WinTCharToUtf | 
|---|
 | 117 | #define Tcl_WinTCharToUtf \ | 
|---|
 | 118 |         (tclPlatStubsPtr->tcl_WinTCharToUtf) /* 1 */ | 
|---|
 | 119 | #endif | 
|---|
 | 120 | #endif /* WIN */ | 
|---|
 | 121 | #ifdef MAC_OSX_TCL /* MACOSX */ | 
|---|
 | 122 | #ifndef Tcl_MacOSXOpenBundleResources | 
|---|
 | 123 | #define Tcl_MacOSXOpenBundleResources \ | 
|---|
 | 124 |         (tclPlatStubsPtr->tcl_MacOSXOpenBundleResources) /* 0 */ | 
|---|
 | 125 | #endif | 
|---|
 | 126 | #ifndef Tcl_MacOSXOpenVersionedBundleResources | 
|---|
 | 127 | #define Tcl_MacOSXOpenVersionedBundleResources \ | 
|---|
 | 128 |         (tclPlatStubsPtr->tcl_MacOSXOpenVersionedBundleResources) /* 1 */ | 
|---|
 | 129 | #endif | 
|---|
 | 130 | #endif /* MACOSX */ | 
|---|
 | 131 |  | 
|---|
 | 132 | #endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ | 
|---|
 | 133 |  | 
|---|
 | 134 | /* !END!: Do not edit above this line. */ | 
|---|
 | 135 |  | 
|---|
 | 136 | #undef TCL_STORAGE_CLASS | 
|---|
 | 137 | #define TCL_STORAGE_CLASS DLLIMPORT | 
|---|
 | 138 |  | 
|---|
 | 139 | #endif /* _TCLPLATDECLS */ | 
|---|
 | 140 |  | 
|---|
 | 141 |  | 
|---|