1 |
dashley |
71 |
/* $Header$ */ |
2 |
|
|
/* |
3 |
|
|
* tclWinInt.h -- |
4 |
|
|
* |
5 |
|
|
* Declarations of Windows-specific shared variables and procedures. |
6 |
|
|
* |
7 |
|
|
* Copyright (c) 1994-1996 Sun Microsystems, Inc. |
8 |
|
|
* |
9 |
|
|
* See the file "license.terms" for information on usage and redistribution |
10 |
|
|
* of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
11 |
|
|
* |
12 |
|
|
* RCS: @(#) $Id: tclwinint.h,v 1.1.1.1 2001/06/13 04:49:18 dtashley Exp $ |
13 |
|
|
*/ |
14 |
|
|
|
15 |
|
|
#ifndef _TCLWININT |
16 |
|
|
#define _TCLWININT |
17 |
|
|
|
18 |
|
|
#ifndef _TCLINT |
19 |
|
|
#include "tclInt.h" |
20 |
|
|
#endif |
21 |
|
|
#ifndef _TCLPORT |
22 |
|
|
#include "tclPort.h" |
23 |
|
|
#endif |
24 |
|
|
|
25 |
|
|
/* |
26 |
|
|
* The following specifies how much stack space TclpCheckStackSpace() |
27 |
|
|
* ensures is available. TclpCheckStackSpace() is called by Tcl_EvalObj() |
28 |
|
|
* to help avoid overflowing the stack in the case of infinite recursion. |
29 |
|
|
*/ |
30 |
|
|
|
31 |
|
|
#define TCL_WIN_STACK_THRESHOLD 0x2000 |
32 |
|
|
|
33 |
|
|
#ifdef BUILD_tcl |
34 |
|
|
# undef TCL_STORAGE_CLASS |
35 |
|
|
# define TCL_STORAGE_CLASS DLLEXPORT |
36 |
|
|
#endif |
37 |
|
|
|
38 |
|
|
/* |
39 |
|
|
* Some versions of Borland C have a define for the OSVERSIONINFO for |
40 |
|
|
* Win32s and for NT, but not for Windows 95. |
41 |
|
|
*/ |
42 |
|
|
|
43 |
|
|
#ifndef VER_PLATFORM_WIN32_WINDOWS |
44 |
|
|
#define VER_PLATFORM_WIN32_WINDOWS 1 |
45 |
|
|
#endif |
46 |
|
|
|
47 |
|
|
/* |
48 |
|
|
* The following structure keeps track of whether we are using the |
49 |
|
|
* multi-byte or the wide-character interfaces to the operating system. |
50 |
|
|
* System calls should be made through the following function table. |
51 |
|
|
*/ |
52 |
|
|
|
53 |
|
|
typedef union { |
54 |
|
|
WIN32_FIND_DATAA a; |
55 |
|
|
WIN32_FIND_DATAW w; |
56 |
|
|
} WIN32_FIND_DATAT; |
57 |
|
|
|
58 |
|
|
typedef struct TclWinProcs { |
59 |
|
|
int useWide; |
60 |
|
|
|
61 |
|
|
BOOL (WINAPI *buildCommDCBProc)(CONST TCHAR *, LPDCB); |
62 |
|
|
TCHAR *(WINAPI *charLowerProc)(TCHAR *); |
63 |
|
|
BOOL (WINAPI *copyFileProc)(CONST TCHAR *, CONST TCHAR *, BOOL); |
64 |
|
|
BOOL (WINAPI *createDirectoryProc)(CONST TCHAR *, LPSECURITY_ATTRIBUTES); |
65 |
|
|
HANDLE (WINAPI *createFileProc)(CONST TCHAR *, DWORD, DWORD, |
66 |
|
|
LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE); |
67 |
|
|
BOOL (WINAPI *createProcessProc)(CONST TCHAR *, TCHAR *, |
68 |
|
|
LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD, |
69 |
|
|
LPVOID, CONST TCHAR *, LPSTARTUPINFOA, LPPROCESS_INFORMATION); |
70 |
|
|
BOOL (WINAPI *deleteFileProc)(CONST TCHAR *); |
71 |
|
|
HANDLE (WINAPI *findFirstFileProc)(CONST TCHAR *, WIN32_FIND_DATAT *); |
72 |
|
|
BOOL (WINAPI *findNextFileProc)(HANDLE, WIN32_FIND_DATAT *); |
73 |
|
|
BOOL (WINAPI *getComputerNameProc)(WCHAR *, LPDWORD); |
74 |
|
|
DWORD (WINAPI *getCurrentDirectoryProc)(DWORD, WCHAR *); |
75 |
|
|
DWORD (WINAPI *getFileAttributesProc)(CONST TCHAR *); |
76 |
|
|
DWORD (WINAPI *getFullPathNameProc)(CONST TCHAR *, DWORD nBufferLength, |
77 |
|
|
WCHAR *, TCHAR **); |
78 |
|
|
DWORD (WINAPI *getModuleFileNameProc)(HMODULE, WCHAR *, int); |
79 |
|
|
DWORD (WINAPI *getShortPathNameProc)(CONST TCHAR *, WCHAR *, DWORD); |
80 |
|
|
UINT (WINAPI *getTempFileNameProc)(CONST TCHAR *, CONST TCHAR *, UINT, |
81 |
|
|
WCHAR *); |
82 |
|
|
DWORD (WINAPI *getTempPathProc)(DWORD, WCHAR *); |
83 |
|
|
BOOL (WINAPI *getVolumeInformationProc)(CONST TCHAR *, WCHAR *, DWORD, |
84 |
|
|
LPDWORD, LPDWORD, LPDWORD, WCHAR *, DWORD); |
85 |
|
|
HINSTANCE (WINAPI *loadLibraryProc)(CONST TCHAR *); |
86 |
|
|
TCHAR (WINAPI *lstrcpyProc)(WCHAR *, CONST TCHAR *); |
87 |
|
|
BOOL (WINAPI *moveFileProc)(CONST TCHAR *, CONST TCHAR *); |
88 |
|
|
BOOL (WINAPI *removeDirectoryProc)(CONST TCHAR *); |
89 |
|
|
DWORD (WINAPI *searchPathProc)(CONST TCHAR *, CONST TCHAR *, |
90 |
|
|
CONST TCHAR *, DWORD, WCHAR *, TCHAR **); |
91 |
|
|
BOOL (WINAPI *setCurrentDirectoryProc)(CONST TCHAR *); |
92 |
|
|
BOOL (WINAPI *setFileAttributesProc)(CONST TCHAR *, DWORD); |
93 |
|
|
} TclWinProcs; |
94 |
|
|
|
95 |
|
|
EXTERN TclWinProcs *tclWinProcs; |
96 |
|
|
EXTERN Tcl_Encoding tclWinTCharEncoding; |
97 |
|
|
|
98 |
|
|
/* |
99 |
|
|
* Declarations of functions that are not accessible by way of the |
100 |
|
|
* stubs table. |
101 |
|
|
*/ |
102 |
|
|
|
103 |
|
|
EXTERN void TclWinInit(HINSTANCE hInst); |
104 |
|
|
|
105 |
|
|
# undef TCL_STORAGE_CLASS |
106 |
|
|
# define TCL_STORAGE_CLASS DLLIMPORT |
107 |
|
|
|
108 |
|
|
#include "tclIntPlatDecls.h" |
109 |
|
|
|
110 |
|
|
#endif /* _TCLWININT */ |
111 |
|
|
|
112 |
|
|
/* End of tclwinint.h */ |