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