Commit | Line | Data |
---|---|---|
920dae64 AT |
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.18.2.5 2004/06/10 17:17:45 andreas_kupries Exp $ | |
10 | */ | |
11 | ||
12 | #ifndef _TCLPLATDECLS | |
13 | #define _TCLPLATDECLS | |
14 | ||
15 | /* | |
16 | * Pull in the typedef of TCHAR for windows. | |
17 | */ | |
18 | #if defined(__CYGWIN__) | |
19 | typedef char TCHAR; | |
20 | #elif defined(__WIN32__) && !defined(_TCHAR_DEFINED) | |
21 | # include <tchar.h> | |
22 | # ifndef _TCHAR_DEFINED | |
23 | /* Borland seems to forget to set this. */ | |
24 | typedef _TCHAR TCHAR; | |
25 | # define _TCHAR_DEFINED | |
26 | # endif | |
27 | # if defined(_MSC_VER) && defined(__STDC__) | |
28 | /* MSVC++ misses this. */ | |
29 | typedef _TCHAR TCHAR; | |
30 | # endif | |
31 | #endif | |
32 | ||
33 | /* !BEGIN!: Do not edit below this line. */ | |
34 | ||
35 | /* | |
36 | * Exported function declarations: | |
37 | */ | |
38 | ||
39 | #ifdef __WIN32__ | |
40 | /* 0 */ | |
41 | EXTERN TCHAR * Tcl_WinUtfToTChar _ANSI_ARGS_((CONST char * str, | |
42 | int len, Tcl_DString * dsPtr)); | |
43 | /* 1 */ | |
44 | EXTERN char * Tcl_WinTCharToUtf _ANSI_ARGS_((CONST TCHAR * str, | |
45 | int len, Tcl_DString * dsPtr)); | |
46 | #endif /* __WIN32__ */ | |
47 | #ifdef MAC_TCL | |
48 | /* 0 */ | |
49 | EXTERN void Tcl_MacSetEventProc _ANSI_ARGS_(( | |
50 | Tcl_MacConvertEventPtr procPtr)); | |
51 | /* 1 */ | |
52 | EXTERN char * Tcl_MacConvertTextResource _ANSI_ARGS_(( | |
53 | Handle resource)); | |
54 | /* 2 */ | |
55 | EXTERN int Tcl_MacEvalResource _ANSI_ARGS_((Tcl_Interp * interp, | |
56 | CONST char * resourceName, | |
57 | int resourceNumber, CONST char * fileName)); | |
58 | /* 3 */ | |
59 | EXTERN Handle Tcl_MacFindResource _ANSI_ARGS_((Tcl_Interp * interp, | |
60 | long resourceType, CONST char * resourceName, | |
61 | int resourceNumber, CONST char * resFileRef, | |
62 | int * releaseIt)); | |
63 | /* 4 */ | |
64 | EXTERN int Tcl_GetOSTypeFromObj _ANSI_ARGS_(( | |
65 | Tcl_Interp * interp, Tcl_Obj * objPtr, | |
66 | OSType * osTypePtr)); | |
67 | /* 5 */ | |
68 | EXTERN void Tcl_SetOSTypeObj _ANSI_ARGS_((Tcl_Obj * objPtr, | |
69 | OSType osType)); | |
70 | /* 6 */ | |
71 | EXTERN Tcl_Obj * Tcl_NewOSTypeObj _ANSI_ARGS_((OSType osType)); | |
72 | /* 7 */ | |
73 | EXTERN int strncasecmp _ANSI_ARGS_((CONST char * s1, | |
74 | CONST char * s2, size_t n)); | |
75 | /* 8 */ | |
76 | EXTERN int strcasecmp _ANSI_ARGS_((CONST char * s1, | |
77 | CONST char * s2)); | |
78 | #endif /* MAC_TCL */ | |
79 | #ifdef MAC_OSX_TCL | |
80 | /* 0 */ | |
81 | EXTERN int Tcl_MacOSXOpenBundleResources _ANSI_ARGS_(( | |
82 | Tcl_Interp * interp, CONST char * bundleName, | |
83 | int hasResourceFile, int maxPathLen, | |
84 | char * libraryPath)); | |
85 | /* 1 */ | |
86 | EXTERN int Tcl_MacOSXOpenVersionedBundleResources _ANSI_ARGS_(( | |
87 | Tcl_Interp * interp, CONST char * bundleName, | |
88 | CONST char * bundleVersion, | |
89 | int hasResourceFile, int maxPathLen, | |
90 | char * libraryPath)); | |
91 | #endif /* MAC_OSX_TCL */ | |
92 | ||
93 | typedef struct TclPlatStubs { | |
94 | int magic; | |
95 | struct TclPlatStubHooks *hooks; | |
96 | ||
97 | #ifdef __WIN32__ | |
98 | TCHAR * (*tcl_WinUtfToTChar) _ANSI_ARGS_((CONST char * str, int len, Tcl_DString * dsPtr)); /* 0 */ | |
99 | char * (*tcl_WinTCharToUtf) _ANSI_ARGS_((CONST TCHAR * str, int len, Tcl_DString * dsPtr)); /* 1 */ | |
100 | #endif /* __WIN32__ */ | |
101 | #ifdef MAC_TCL | |
102 | void (*tcl_MacSetEventProc) _ANSI_ARGS_((Tcl_MacConvertEventPtr procPtr)); /* 0 */ | |
103 | char * (*tcl_MacConvertTextResource) _ANSI_ARGS_((Handle resource)); /* 1 */ | |
104 | int (*tcl_MacEvalResource) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * resourceName, int resourceNumber, CONST char * fileName)); /* 2 */ | |
105 | Handle (*tcl_MacFindResource) _ANSI_ARGS_((Tcl_Interp * interp, long resourceType, CONST char * resourceName, int resourceNumber, CONST char * resFileRef, int * releaseIt)); /* 3 */ | |
106 | int (*tcl_GetOSTypeFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, OSType * osTypePtr)); /* 4 */ | |
107 | void (*tcl_SetOSTypeObj) _ANSI_ARGS_((Tcl_Obj * objPtr, OSType osType)); /* 5 */ | |
108 | Tcl_Obj * (*tcl_NewOSTypeObj) _ANSI_ARGS_((OSType osType)); /* 6 */ | |
109 | int (*strncasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2, size_t n)); /* 7 */ | |
110 | int (*strcasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2)); /* 8 */ | |
111 | #endif /* MAC_TCL */ | |
112 | #ifdef MAC_OSX_TCL | |
113 | int (*tcl_MacOSXOpenBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, int hasResourceFile, int maxPathLen, char * libraryPath)); /* 0 */ | |
114 | int (*tcl_MacOSXOpenVersionedBundleResources) _ANSI_ARGS_((Tcl_Interp * interp, CONST char * bundleName, CONST char * bundleVersion, int hasResourceFile, int maxPathLen, char * libraryPath)); /* 1 */ | |
115 | #endif /* MAC_OSX_TCL */ | |
116 | } TclPlatStubs; | |
117 | ||
118 | #ifdef __cplusplus | |
119 | extern "C" { | |
120 | #endif | |
121 | extern TclPlatStubs *tclPlatStubsPtr; | |
122 | #ifdef __cplusplus | |
123 | } | |
124 | #endif | |
125 | ||
126 | #if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) | |
127 | ||
128 | /* | |
129 | * Inline function declarations: | |
130 | */ | |
131 | ||
132 | #ifdef __WIN32__ | |
133 | #ifndef Tcl_WinUtfToTChar | |
134 | #define Tcl_WinUtfToTChar \ | |
135 | (tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */ | |
136 | #endif | |
137 | #ifndef Tcl_WinTCharToUtf | |
138 | #define Tcl_WinTCharToUtf \ | |
139 | (tclPlatStubsPtr->tcl_WinTCharToUtf) /* 1 */ | |
140 | #endif | |
141 | #endif /* __WIN32__ */ | |
142 | #ifdef MAC_TCL | |
143 | #ifndef Tcl_MacSetEventProc | |
144 | #define Tcl_MacSetEventProc \ | |
145 | (tclPlatStubsPtr->tcl_MacSetEventProc) /* 0 */ | |
146 | #endif | |
147 | #ifndef Tcl_MacConvertTextResource | |
148 | #define Tcl_MacConvertTextResource \ | |
149 | (tclPlatStubsPtr->tcl_MacConvertTextResource) /* 1 */ | |
150 | #endif | |
151 | #ifndef Tcl_MacEvalResource | |
152 | #define Tcl_MacEvalResource \ | |
153 | (tclPlatStubsPtr->tcl_MacEvalResource) /* 2 */ | |
154 | #endif | |
155 | #ifndef Tcl_MacFindResource | |
156 | #define Tcl_MacFindResource \ | |
157 | (tclPlatStubsPtr->tcl_MacFindResource) /* 3 */ | |
158 | #endif | |
159 | #ifndef Tcl_GetOSTypeFromObj | |
160 | #define Tcl_GetOSTypeFromObj \ | |
161 | (tclPlatStubsPtr->tcl_GetOSTypeFromObj) /* 4 */ | |
162 | #endif | |
163 | #ifndef Tcl_SetOSTypeObj | |
164 | #define Tcl_SetOSTypeObj \ | |
165 | (tclPlatStubsPtr->tcl_SetOSTypeObj) /* 5 */ | |
166 | #endif | |
167 | #ifndef Tcl_NewOSTypeObj | |
168 | #define Tcl_NewOSTypeObj \ | |
169 | (tclPlatStubsPtr->tcl_NewOSTypeObj) /* 6 */ | |
170 | #endif | |
171 | #ifndef strncasecmp | |
172 | #define strncasecmp \ | |
173 | (tclPlatStubsPtr->strncasecmp) /* 7 */ | |
174 | #endif | |
175 | #ifndef strcasecmp | |
176 | #define strcasecmp \ | |
177 | (tclPlatStubsPtr->strcasecmp) /* 8 */ | |
178 | #endif | |
179 | #endif /* MAC_TCL */ | |
180 | #ifdef MAC_OSX_TCL | |
181 | #ifndef Tcl_MacOSXOpenBundleResources | |
182 | #define Tcl_MacOSXOpenBundleResources \ | |
183 | (tclPlatStubsPtr->tcl_MacOSXOpenBundleResources) /* 0 */ | |
184 | #endif | |
185 | #ifndef Tcl_MacOSXOpenVersionedBundleResources | |
186 | #define Tcl_MacOSXOpenVersionedBundleResources \ | |
187 | (tclPlatStubsPtr->tcl_MacOSXOpenVersionedBundleResources) /* 1 */ | |
188 | #endif | |
189 | #endif /* MAC_OSX_TCL */ | |
190 | ||
191 | #endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ | |
192 | ||
193 | /* !END!: Do not edit above this line. */ | |
194 | ||
195 | #endif /* _TCLPLATDECLS */ | |
196 | ||
197 |