summaryrefslogtreecommitdiffstats
path: root/win/tclWinInt.h
diff options
context:
space:
mode:
authornijtmans <nijtmans>2010-02-15 22:56:19 (GMT)
committernijtmans <nijtmans>2010-02-15 22:56:19 (GMT)
commitd51db74e5f9c0be32cbd0cfeeff0797a74cfd4ba (patch)
tree140d3d78d10e4ec6405c364f7a6936a7a07086a5 /win/tclWinInt.h
parenta0d1a202239c64ab548f9d515bba530fb475d743 (diff)
downloadtcl-d51db74e5f9c0be32cbd0cfeeff0797a74cfd4ba.zip
tcl-d51db74e5f9c0be32cbd0cfeeff0797a74cfd4ba.tar.gz
tcl-d51db74e5f9c0be32cbd0cfeeff0797a74cfd4ba.tar.bz2
reverted earlier rename from tcl*Stubs to
tcl*ConstStubs, it's not necessary at all. tclEnsemble.c: Fix signed-unsigned mismatch make tclWinProcs "const" Add first part of mslu support, See [Feature Request #2819611]
Diffstat (limited to 'win/tclWinInt.h')
-rw-r--r--win/tclWinInt.h84
1 files changed, 26 insertions, 58 deletions
diff --git a/win/tclWinInt.h b/win/tclWinInt.h
index 7257afe..13d25ef 100644
--- a/win/tclWinInt.h
+++ b/win/tclWinInt.h
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclWinInt.h,v 1.33 2010/02/05 10:03:24 nijtmans Exp $
+ * RCS: @(#) $Id: tclWinInt.h,v 1.34 2010/02/15 22:56:19 nijtmans Exp $
*/
#ifndef _TCLWININT
@@ -17,14 +17,6 @@
#include "tclInt.h"
/*
- * The following specifies how much stack space TclpCheckStackSpace()
- * ensures is available. TclpCheckStackSpace() is called by Tcl_EvalObj()
- * to help avoid overflowing the stack in the case of infinite recursion.
- */
-
-#define TCL_WIN_STACK_THRESHOLD 0x8000
-
-/*
* Some versions of Borland C have a define for the OSVERSIONINFO for
* Win32s and for NT, but not for Windows 95.
* Define VER_PLATFORM_WIN32_CE for those without newer headers.
@@ -50,7 +42,6 @@ typedef union {
typedef struct TclWinProcs {
int useWide;
-
BOOL (WINAPI *buildCommDCBProc)(const TCHAR *, LPDCB);
TCHAR * (WINAPI *charLowerProc)(TCHAR *);
BOOL (WINAPI *copyFileProc)(const TCHAR *, const TCHAR *, BOOL);
@@ -66,8 +57,8 @@ typedef struct TclWinProcs {
BOOL (WINAPI *getComputerNameProc)(WCHAR *, LPDWORD);
DWORD (WINAPI *getCurrentDirectoryProc)(DWORD, WCHAR *);
DWORD (WINAPI *getFileAttributesProc)(const TCHAR *);
- DWORD (WINAPI *getFullPathNameProc)(const TCHAR *, DWORD nBufferLength,
- WCHAR *, TCHAR **);
+ DWORD (WINAPI *getFullPathNameProc)(const TCHAR *, DWORD, WCHAR *,
+ TCHAR **);
DWORD (WINAPI *getModuleFileNameProc)(HMODULE, WCHAR *, int);
DWORD (WINAPI *getShortPathNameProc)(const TCHAR *, WCHAR *, DWORD);
UINT (WINAPI *getTempFileNameProc)(const TCHAR *, const TCHAR *, UINT,
@@ -92,62 +83,39 @@ typedef struct TclWinProcs {
*/
BOOL (WINAPI *getFileAttributesExProc)(const TCHAR *,
GET_FILEEX_INFO_LEVELS, LPVOID);
- BOOL (WINAPI *createHardLinkProc)(const TCHAR*, const TCHAR*,
- LPSECURITY_ATTRIBUTES);
+ BOOL (WINAPI *createHardLinkProc)(const TCHAR *, const TCHAR *,
+ LPSECURITY_ATTRIBUTES);
- /* deleted INT (__cdecl *utimeProc)(const TCHAR*, struct _utimbuf *); */
/* These two are also NULL at start; see comment above */
- HANDLE (WINAPI *findFirstFileExProc)(const TCHAR*, UINT,
- LPVOID, UINT,
- LPVOID, DWORD);
- BOOL (WINAPI *getVolumeNameForVMPProc)(const TCHAR*, TCHAR*, DWORD);
- DWORD (WINAPI *getLongPathNameProc)(const TCHAR*, TCHAR*, DWORD);
+ HANDLE (WINAPI *findFirstFileExProc)(const TCHAR *, UINT,
+ LPVOID, UINT, LPVOID, DWORD);
+ BOOL (WINAPI *getVolumeNameForVMPProc)(const TCHAR *, TCHAR *, DWORD);
+ DWORD (WINAPI *getLongPathNameProc)(const TCHAR *, TCHAR *, DWORD);
/*
* These six are for the security sdk to get correct file
* permissions on NT, 2000, XP, etc. On 95,98,ME they are
* always null.
*/
- BOOL (WINAPI *getFileSecurityProc)(LPCTSTR lpFileName,
- SECURITY_INFORMATION RequestedInformation,
- PSECURITY_DESCRIPTOR pSecurityDescriptor,
- DWORD nLength,
- LPDWORD lpnLengthNeeded);
- BOOL (WINAPI *impersonateSelfProc) (SECURITY_IMPERSONATION_LEVEL
- ImpersonationLevel);
- BOOL (WINAPI *openThreadTokenProc) (HANDLE ThreadHandle,
- DWORD DesiredAccess, BOOL OpenAsSelf,
- PHANDLE TokenHandle);
+ BOOL (WINAPI *getFileSecurityProc)(LPCTSTR, SECURITY_INFORMATION,
+ PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
+ BOOL (WINAPI *impersonateSelfProc) (SECURITY_IMPERSONATION_LEVEL);
+ BOOL (WINAPI *openThreadTokenProc) (HANDLE, DWORD, BOOL, PHANDLE);
BOOL (WINAPI *revertToSelfProc) (void);
- void (WINAPI *mapGenericMaskProc) (PDWORD AccessMask,
- PGENERIC_MAPPING GenericMapping);
- BOOL (WINAPI *accessCheckProc)(PSECURITY_DESCRIPTOR pSecurityDescriptor,
- HANDLE ClientToken, DWORD DesiredAccess,
- PGENERIC_MAPPING GenericMapping,
- PPRIVILEGE_SET PrivilegeSet,
- LPDWORD PrivilegeSetLength,
- LPDWORD GrantedAccess,
- LPBOOL AccessStatus);
+ void (WINAPI *mapGenericMaskProc) (PDWORD, PGENERIC_MAPPING);
+ BOOL (WINAPI *accessCheckProc)(PSECURITY_DESCRIPTOR, HANDLE, DWORD,
+ PGENERIC_MAPPING, PPRIVILEGE_SET, LPDWORD, LPDWORD, LPBOOL);
/*
* Unicode console support. WriteConsole and ReadConsole
*/
- BOOL (WINAPI *readConsoleProc)(
- HANDLE hConsoleInput,
- LPVOID lpBuffer,
- DWORD nNumberOfCharsToRead,
- LPDWORD lpNumberOfCharsRead,
- LPVOID lpReserved
- );
- BOOL (WINAPI *writeConsoleProc)(
- HANDLE hConsoleOutput,
- const void* lpBuffer,
- DWORD nNumberOfCharsToWrite,
- LPDWORD lpNumberOfCharsWritten,
- LPVOID lpReserved
- );
- BOOL (WINAPI *getUserName)(LPTSTR lpBuffer, LPDWORD lpnSize);
+ BOOL (WINAPI *readConsoleProc)(HANDLE, LPVOID, DWORD, LPDWORD, LPVOID);
+ BOOL (WINAPI *writeConsoleProc)(HANDLE, const void *, DWORD, LPDWORD,
+ LPVOID);
+ BOOL (WINAPI *getUserName)(LPTSTR, LPDWORD);
+ const TCHAR *(*utf2tchar)(const char *, int, Tcl_DString *);
+ const char *(*tchar2utf)(const TCHAR *, int, Tcl_DString *);
} TclWinProcs;
-MODULE_SCOPE TclWinProcs *tclWinProcs;
+MODULE_SCOPE const TclWinProcs *tclWinProcs;
/*
* Declarations of functions that are not accessible by way of the
@@ -167,9 +135,9 @@ MODULE_SCOPE Tcl_Channel TclWinOpenSerialChannel(HANDLE handle,
char *channelName, int permissions);
MODULE_SCOPE HANDLE TclWinSerialReopen(HANDLE handle, const TCHAR *name,
DWORD access);
-MODULE_SCOPE int TclWinSymLinkCopyDirectory(const TCHAR* LinkOriginal,
- const TCHAR* LinkCopy);
-MODULE_SCOPE int TclWinSymLinkDelete(const TCHAR* LinkOriginal,
+MODULE_SCOPE int TclWinSymLinkCopyDirectory(const TCHAR *LinkOriginal,
+ const TCHAR *LinkCopy);
+MODULE_SCOPE int TclWinSymLinkDelete(const TCHAR *LinkOriginal,
int linkOnly);
#if defined(TCL_THREADS) && defined(USE_THREAD_ALLOC)
MODULE_SCOPE void TclWinFreeAllocCache(void);