/[dtapublic]/projs/trunk/shared_source/tcl_base/tclwinint.h
ViewVC logotype

Contents of /projs/trunk/shared_source/tcl_base/tclwinint.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 42 - (show annotations) (download)
Fri Oct 14 01:50:00 2016 UTC (7 years, 11 months ago) by dashley
File MIME type: text/plain
File size: 4135 byte(s)
Move shared source code to commonize.
1 /* $Header: /cvsroot/esrg/sfesrg/esrgpcpj/shared/tcl_base/tclwinint.h,v 1.1.1.1 2001/06/13 04:49:18 dtashley Exp $ */
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 */

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25