1 |
/* $Header$ */ |
2 |
/* |
3 |
* tclPlatDecls.h -- |
4 |
* |
5 |
* Declarations of platform specific Tcl APIs. |
6 |
* |
7 |
* Copyright (c) 1998-1999 by Scriptics Corporation. |
8 |
* All rights reserved. |
9 |
* |
10 |
* RCS: @(#) $Id: tclplatdecls.h,v 1.1.1.1 2001/06/13 04:45:05 dtashley Exp $ |
11 |
*/ |
12 |
|
13 |
#ifndef _TCLPLATDECLS |
14 |
#define _TCLPLATDECLS |
15 |
|
16 |
/* !BEGIN!: Do not edit below this line. */ |
17 |
|
18 |
/* |
19 |
* Exported function declarations: |
20 |
*/ |
21 |
|
22 |
#ifdef __WIN32__ |
23 |
/* 0 */ |
24 |
EXTERN TCHAR * Tcl_WinUtfToTChar _ANSI_ARGS_((CONST char * str, |
25 |
int len, Tcl_DString * dsPtr)); |
26 |
/* 1 */ |
27 |
EXTERN char * Tcl_WinTCharToUtf _ANSI_ARGS_((CONST TCHAR * str, |
28 |
int len, Tcl_DString * dsPtr)); |
29 |
#endif /* __WIN32__ */ |
30 |
#ifdef MAC_TCL |
31 |
/* 0 */ |
32 |
EXTERN void Tcl_MacSetEventProc _ANSI_ARGS_(( |
33 |
Tcl_MacConvertEventPtr procPtr)); |
34 |
/* 1 */ |
35 |
EXTERN char * Tcl_MacConvertTextResource _ANSI_ARGS_(( |
36 |
Handle resource)); |
37 |
/* 2 */ |
38 |
EXTERN int Tcl_MacEvalResource _ANSI_ARGS_((Tcl_Interp * interp, |
39 |
char * resourceName, int resourceNumber, |
40 |
char * fileName)); |
41 |
/* 3 */ |
42 |
EXTERN Handle Tcl_MacFindResource _ANSI_ARGS_((Tcl_Interp * interp, |
43 |
long resourceType, char * resourceName, |
44 |
int resourceNumber, char * resFileRef, |
45 |
int * releaseIt)); |
46 |
/* 4 */ |
47 |
EXTERN int Tcl_GetOSTypeFromObj _ANSI_ARGS_(( |
48 |
Tcl_Interp * interp, Tcl_Obj * objPtr, |
49 |
OSType * osTypePtr)); |
50 |
/* 5 */ |
51 |
EXTERN void Tcl_SetOSTypeObj _ANSI_ARGS_((Tcl_Obj * objPtr, |
52 |
OSType osType)); |
53 |
/* 6 */ |
54 |
EXTERN Tcl_Obj * Tcl_NewOSTypeObj _ANSI_ARGS_((OSType osType)); |
55 |
/* 7 */ |
56 |
EXTERN int strncasecmp _ANSI_ARGS_((CONST char * s1, |
57 |
CONST char * s2, size_t n)); |
58 |
/* 8 */ |
59 |
EXTERN int strcasecmp _ANSI_ARGS_((CONST char * s1, |
60 |
CONST char * s2)); |
61 |
#endif /* MAC_TCL */ |
62 |
|
63 |
typedef struct TclPlatStubs { |
64 |
int magic; |
65 |
struct TclPlatStubHooks *hooks; |
66 |
|
67 |
#ifdef __WIN32__ |
68 |
TCHAR * (*tcl_WinUtfToTChar) _ANSI_ARGS_((CONST char * str, int len, Tcl_DString * dsPtr)); /* 0 */ |
69 |
char * (*tcl_WinTCharToUtf) _ANSI_ARGS_((CONST TCHAR * str, int len, Tcl_DString * dsPtr)); /* 1 */ |
70 |
#endif /* __WIN32__ */ |
71 |
#ifdef MAC_TCL |
72 |
void (*tcl_MacSetEventProc) _ANSI_ARGS_((Tcl_MacConvertEventPtr procPtr)); /* 0 */ |
73 |
char * (*tcl_MacConvertTextResource) _ANSI_ARGS_((Handle resource)); /* 1 */ |
74 |
int (*tcl_MacEvalResource) _ANSI_ARGS_((Tcl_Interp * interp, char * resourceName, int resourceNumber, char * fileName)); /* 2 */ |
75 |
Handle (*tcl_MacFindResource) _ANSI_ARGS_((Tcl_Interp * interp, long resourceType, char * resourceName, int resourceNumber, char * resFileRef, int * releaseIt)); /* 3 */ |
76 |
int (*tcl_GetOSTypeFromObj) _ANSI_ARGS_((Tcl_Interp * interp, Tcl_Obj * objPtr, OSType * osTypePtr)); /* 4 */ |
77 |
void (*tcl_SetOSTypeObj) _ANSI_ARGS_((Tcl_Obj * objPtr, OSType osType)); /* 5 */ |
78 |
Tcl_Obj * (*tcl_NewOSTypeObj) _ANSI_ARGS_((OSType osType)); /* 6 */ |
79 |
int (*strncasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2, size_t n)); /* 7 */ |
80 |
int (*strcasecmp) _ANSI_ARGS_((CONST char * s1, CONST char * s2)); /* 8 */ |
81 |
#endif /* MAC_TCL */ |
82 |
} TclPlatStubs; |
83 |
|
84 |
#ifdef __cplusplus |
85 |
extern "C" { |
86 |
#endif |
87 |
extern TclPlatStubs *tclPlatStubsPtr; |
88 |
#ifdef __cplusplus |
89 |
} |
90 |
#endif |
91 |
|
92 |
#if defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) |
93 |
|
94 |
/* |
95 |
* Inline function declarations: |
96 |
*/ |
97 |
|
98 |
#ifdef __WIN32__ |
99 |
#ifndef Tcl_WinUtfToTChar |
100 |
#define Tcl_WinUtfToTChar \ |
101 |
(tclPlatStubsPtr->tcl_WinUtfToTChar) /* 0 */ |
102 |
#endif |
103 |
#ifndef Tcl_WinTCharToUtf |
104 |
#define Tcl_WinTCharToUtf \ |
105 |
(tclPlatStubsPtr->tcl_WinTCharToUtf) /* 1 */ |
106 |
#endif |
107 |
#endif /* __WIN32__ */ |
108 |
#ifdef MAC_TCL |
109 |
#ifndef Tcl_MacSetEventProc |
110 |
#define Tcl_MacSetEventProc \ |
111 |
(tclPlatStubsPtr->tcl_MacSetEventProc) /* 0 */ |
112 |
#endif |
113 |
#ifndef Tcl_MacConvertTextResource |
114 |
#define Tcl_MacConvertTextResource \ |
115 |
(tclPlatStubsPtr->tcl_MacConvertTextResource) /* 1 */ |
116 |
#endif |
117 |
#ifndef Tcl_MacEvalResource |
118 |
#define Tcl_MacEvalResource \ |
119 |
(tclPlatStubsPtr->tcl_MacEvalResource) /* 2 */ |
120 |
#endif |
121 |
#ifndef Tcl_MacFindResource |
122 |
#define Tcl_MacFindResource \ |
123 |
(tclPlatStubsPtr->tcl_MacFindResource) /* 3 */ |
124 |
#endif |
125 |
#ifndef Tcl_GetOSTypeFromObj |
126 |
#define Tcl_GetOSTypeFromObj \ |
127 |
(tclPlatStubsPtr->tcl_GetOSTypeFromObj) /* 4 */ |
128 |
#endif |
129 |
#ifndef Tcl_SetOSTypeObj |
130 |
#define Tcl_SetOSTypeObj \ |
131 |
(tclPlatStubsPtr->tcl_SetOSTypeObj) /* 5 */ |
132 |
#endif |
133 |
#ifndef Tcl_NewOSTypeObj |
134 |
#define Tcl_NewOSTypeObj \ |
135 |
(tclPlatStubsPtr->tcl_NewOSTypeObj) /* 6 */ |
136 |
#endif |
137 |
#ifndef strncasecmp |
138 |
#define strncasecmp \ |
139 |
(tclPlatStubsPtr->strncasecmp) /* 7 */ |
140 |
#endif |
141 |
#ifndef strcasecmp |
142 |
#define strcasecmp \ |
143 |
(tclPlatStubsPtr->strcasecmp) /* 8 */ |
144 |
#endif |
145 |
#endif /* MAC_TCL */ |
146 |
|
147 |
#endif /* defined(USE_TCL_STUBS) && !defined(USE_TCL_STUB_PROCS) */ |
148 |
|
149 |
/* !END!: Do not edit above this line. */ |
150 |
|
151 |
#endif /* _TCLPLATDECLS */ |
152 |
|
153 |
/* End of tclplatdecls.h */ |