annotate src/syswindows.h @ 2227:8e7b4a0c1a81

[xemacs-hg @ 2004-08-21 17:05:49 by michaels] 2004-08-15 Jan Rychter <jwr@xemacs.org> * window-xemacs.el (really-set-window-configuration): deal gracefully with the case when the buffer previously saved in the configuration (and that we want to switch to) has been killed. Switch to the next buffer on the buffer-list in that case.
author michaels
date Sat, 21 Aug 2004 17:05:51 +0000
parents 543769b89fed
children ecf1ebac70d8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
1 /* Copyright (C) 2000 Free Software Foundation, Inc.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
2 Copyright (C) 2000, 2001, 2002 Ben Wing.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
3
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
4 This file is part of XEmacs.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
5
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
6 XEmacs is free software; you can redistribute it and/or modify it
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
7 under the terms of the GNU General Public License as published by the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
8 Free Software Foundation; either version 2, or (at your option) any
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
9 later version.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
10
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
11 XEmacs is distributed in the hope that it will be useful, but WITHOUT
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
14 for more details.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
15
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
17 along with XEmacs; see the file COPYING. If not, write to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
20
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
21 /* Synched up with: Not in FSF. */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
22
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
23 /* Authorship:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
24
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
25 Current primary author: Ben Wing <ben@xemacs.org>
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
26
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
27 Created May 2000 by Andy Piper.
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
28 Windows-Mule stuff added by Ben Wing, 2000-2001.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
29 September 2001 Ben Wing reorganized and included nt.h and ntheap.h into
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
30 this file; comments in those files say:
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
31 * Adapted for XEmacs by David Hobley <david@spook-le0.cia.com.au>
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
32 * Sync'ed with Emacs 19.34.6 by Marc Paquette <marcpa@cam.org>
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
33 (Note: Sync messages from Marc Paquette may indicate
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
34 incomplete synching, so beware.)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
35 (in ntheap.h only) Geoff Voelker (voelker@cs.washington.edu) 7-29-94
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
36
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
37 */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
38
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
39 #ifndef INCLUDED_syswindows_h_
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
40 #define INCLUDED_syswindows_h_
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
41
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
42 /* There are two different general Windows-related include files in src.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
43
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
44 Uses are approximately:
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
45
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
46 syswindows.h: Wrapper around <windows.h>, including missing defines as
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
47 necessary. Includes stuff needed on both Cygwin and native Windows,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
48 regardless of window system chosen. Includes definitions needed for
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
49 Unicode conversion/encapsulation, and other Mule-related stuff, plus
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
50 various other prototypes and Windows-specific, but not GUI-specific,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
51 stuff.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
52
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
53 console-msw.h: Used on both Cygwin and native Windows, but only when
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
54 native window system (as opposed to X) chosen. Includes syswindows.h.
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
55 */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
56
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
57 /* See s/windowsnt.h for a description of what exactly the various
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
58 constants such as WIN32_NATIVE, HAVE_MS_WINDOWS, CYGWIN, and MINGW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
59 mean, and how they relate to each other. */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
60
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
61 /* ------------------------- Basic includes ------------------------- */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
62
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
63 #ifndef WIN32_LEAN_AND_MEAN
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
64 #define WIN32_LEAN_AND_MEAN
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
65 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
66
665
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
67 #if defined (CYGWIN) || defined (MINGW)
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
68 # define CYGWIN_HEADERS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
69 # ifndef _WIN32_IE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
70 # define _WIN32_IE 0x0400
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
71 # endif
665
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
72
1743
543769b89fed [xemacs-hg @ 2003-10-14 05:02:57 by james]
james
parents: 1685
diff changeset
73 BEGIN_C_DECLS
665
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
74
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
75 /* Fucking GCC complains about "no previous prototype" for inline
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
76 functions. DUH! See DECLARE_INLINE_HEADER. */
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
77 extern __inline void *GetCurrentFiber (void);
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
78 extern __inline void *GetFiberData (void);
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
79
1743
543769b89fed [xemacs-hg @ 2003-10-14 05:02:57 by james]
james
parents: 1685
diff changeset
80 END_C_DECLS
665
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
81
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
82 #endif
fdefd0186b75 [xemacs-hg @ 2001-09-20 06:28:42 by ben]
ben
parents: 593
diff changeset
83
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
84 /* Defines for COM so it's usable in both C and C++. XECOMCALLn() calls a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
85 method with the specified number of parameters. XECOMID() surrounds a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
86 class or interface name when passed to CoCreateInstance, a
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
87 QueryInterface method, or the like. */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
88 #ifdef __cplusplus
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
89 #define XECOMCALL0(cl, meth) ((cl)->meth ())
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
90 #define XECOMCALL1(cl, meth, a1) ((cl)->meth (a1))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
91 #define XECOMCALL2(cl, meth, a1, a2) ((cl)->meth (a1, a2))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
92 #define XECOMCALL3(cl, meth, a1, a2, a3) ((cl)->meth (a1, a2, a3))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
93 #define XECOMCALL4(cl, meth, a1, a2, a3, a4) ((cl)->meth (a1, a2, a3, a4))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
94 #define XECOMID(id) (id)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
95 #else
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
96 #define XECOMCALL0(cl, meth) ((cl)->lpVtbl->meth (cl))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
97 #define XECOMCALL1(cl, meth, a1) ((cl)->lpVtbl->meth (cl, a1))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
98 #define XECOMCALL2(cl, meth, a1, a2) ((cl)->lpVtbl->meth (cl, a1, a2))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
99 #define XECOMCALL3(cl, meth, a1, a2, a3) ((cl)->lpVtbl->meth (cl, a1, a2, a3))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
100 #define XECOMCALL4(cl, meth, a1, a2, a3, a4) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
101 ((cl)->lpVtbl->meth (cl, a1, a2, a3, a4))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
102 #define XECOMID(id) (&(id))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
103 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
104
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
105 #define OEMRESOURCE /* Define OCR_ and friend constants */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
106 #include <windows.h>
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
107
558
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
108 #if defined (WIN32_LEAN_AND_MEAN)
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
109 # ifdef HAVE_X_WINDOWS
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
110 /* Christ almighty. The problems you get when combining two large code bases,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
111 neither with any respect for namespace purity. */
558
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
112 # undef Status
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
113 # endif
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
114 # include <winspool.h>
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
115 # ifdef HAVE_X_WINDOWS
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
116 # define Status int
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
117 # endif
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
118 # include <mmsystem.h>
673
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 665
diff changeset
119 # include <shlobj.h>
558
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
120 # include <shellapi.h>
ed498ef2108b [xemacs-hg @ 2001-05-23 09:59:33 by ben]
ben
parents: 546
diff changeset
121 # include <ddeml.h>
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
122 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
123
546
666d73d6ac56 [xemacs-hg @ 2001-05-20 01:17:07 by ben]
ben
parents: 531
diff changeset
124 #include <lmaccess.h> /* next three for NetUserEnum and friends */
531
0493e9f3c27f [xemacs-hg @ 2001-05-12 11:16:12 by ben]
ben
parents: 442
diff changeset
125 #include <lmapibuf.h>
0493e9f3c27f [xemacs-hg @ 2001-05-12 11:16:12 by ben]
ben
parents: 442
diff changeset
126 #include <lmerr.h>
546
666d73d6ac56 [xemacs-hg @ 2001-05-20 01:17:07 by ben]
ben
parents: 531
diff changeset
127 #include <lmcons.h> /* for UNLEN and possibly other constants */
531
0493e9f3c27f [xemacs-hg @ 2001-05-12 11:16:12 by ben]
ben
parents: 442
diff changeset
128
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
129 #include <cderr.h>
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
130 #include <commdlg.h>
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
131
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
132 #ifdef NEED_MSWINDOWS_COMMCTRL
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
133 #include <commctrl.h>
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
134 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
135 #ifdef NEED_MSWINDOWS_OBJBASE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
136 #include <objbase.h>
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
137 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
138 #ifdef NEED_MSWINDOWS_SHLOBJ
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
139 #include <shlobj.h>
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
140 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
141
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
142 #include <zmouse.h> /* WHEEL_PAGESCROLL under Cygwin */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
143
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
144 #include <wchar.h>
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
145
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
146 /* ------------------------- Cygwin header brokenness ---------------------- */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
147
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
148 #ifdef CYGWIN_HEADERS
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
149
1683
74353ce403ce [xemacs-hg @ 2003-09-15 15:24:56 by james]
james
parents: 1304
diff changeset
150 #include <cygwin/stat.h> /* for struct stat */
1304
579d37cb4395 [xemacs-hg @ 2003-02-15 11:20:38 by ben]
ben
parents: 1204
diff changeset
151 #include <w32api.h> /* for version info */
579d37cb4395 [xemacs-hg @ 2003-02-15 11:20:38 by ben]
ben
parents: 1204
diff changeset
152
1683
74353ce403ce [xemacs-hg @ 2003-09-15 15:24:56 by james]
james
parents: 1304
diff changeset
153 /* Test for a specific version of w32api */
74353ce403ce [xemacs-hg @ 2003-09-15 15:24:56 by james]
james
parents: 1304
diff changeset
154 #define W32API_VER(major,minor) (((major) << 16) + (minor))
74353ce403ce [xemacs-hg @ 2003-09-15 15:24:56 by james]
james
parents: 1304
diff changeset
155 #define W32API_INSTALLED_VER \
74353ce403ce [xemacs-hg @ 2003-09-15 15:24:56 by james]
james
parents: 1304
diff changeset
156 W32API_VER (__W32API_MAJOR_VERSION, __W32API_MINOR_VERSION)
1304
579d37cb4395 [xemacs-hg @ 2003-02-15 11:20:38 by ben]
ben
parents: 1204
diff changeset
157
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
158 /* Various brokennesses in various versions of Cygwin */
673
685b588e92d8 [xemacs-hg @ 2001-10-30 05:13:26 by andyp]
andyp
parents: 665
diff changeset
159
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
160 /* windows.h defines. */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
161 #ifndef SPI_GETWHEELSCROLLLINES
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
162 #define SPI_GETWHEELSCROLLLINES 104
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
163 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
164
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
165 /* commctrl.h defines. */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
166 #ifndef TB_SETIMAGELIST
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
167 #define TB_SETIMAGELIST (WM_USER + 48)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
168 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
169 #ifndef TB_GETIMAGELIST
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
170 #define TB_GETIMAGELIST (WM_USER + 49)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
171 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
172 #ifndef TB_SETDISABLEDIMAGELIST
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
173 #define TB_SETDISABLEDIMAGELIST (WM_USER + 54)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
174 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
175 #ifndef TB_GETDISABLEDIMAGELIST
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
176 #define TB_GETDISABLEDIMAGELIST (WM_USER + 55)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
177 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
178 #ifndef TB_SETPADDING
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
179 #define TB_SETPADDING (WM_USER + 87)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
180 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
181 #ifndef TB_GETBUTTONINFOA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
182 #define TB_GETBUTTONINFOA (WM_USER + 65)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
183 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
184 #ifndef TB_GETBUTTONINFOW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
185 #define TB_GETBUTTONINFOW (WM_USER + 63)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
186 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
187 #ifndef TB_SETBUTTONINFOA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
188 #define TB_SETBUTTONINFOA (WM_USER + 66)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
189 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
190 #ifndef TB_SETBUTTONINFOW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
191 #define TB_SETBUTTONINFOW (WM_USER + 64)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
192 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
193 #ifndef TB_INSERTBUTTONA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
194 #define TB_INSERTBUTTONA (WM_USER + 21)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
195 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
196 #ifndef TB_INSERTBUTTONW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
197 #define TB_INSERTBUTTONW (WM_USER + 67)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
198 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
199 #ifndef TB_ADDBUTTONSA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
200 #define TB_ADDBUTTONSA (WM_USER + 20)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
201 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
202 #ifndef TB_ADDBUTTONSW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
203 #define TB_ADDBUTTONSW (WM_USER + 68)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
204 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
205 #ifndef LVM_SETBKIMAGEA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
206 #define LVM_SETBKIMAGEA (LVM_FIRST + 68)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
207 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
208 #ifndef LVM_SETBKIMAGEW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
209 #define LVM_SETBKIMAGEW (LVM_FIRST + 138)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
210 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
211 #ifndef LVM_GETBKIMAGEA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
212 #define LVM_GETBKIMAGEA (LVM_FIRST + 69)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
213 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
214 #ifndef LVM_GETBKIMAGEW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
215 #define LVM_GETBKIMAGEW (LVM_FIRST + 139)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
216 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
217 #ifndef WC_COMBOBOXEXW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
218 #define WC_COMBOBOXEXW L"ComboBoxEx32"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
219 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
220 #ifndef CBEM_INSERTITEMA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
221 #define CBEM_INSERTITEMA (WM_USER + 1)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
222 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
223 #ifndef CBEM_INSERTITEMW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
224 #define CBEM_INSERTITEMW (WM_USER + 11)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
225 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
226 #ifndef CBEM_SETITEMA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
227 #define CBEM_SETITEMA (WM_USER + 5)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
228 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
229 #ifndef CBEM_SETITEMW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
230 #define CBEM_SETITEMW (WM_USER + 12)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
231 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
232 #ifndef CBEM_GETITEMA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
233 #define CBEM_GETITEMA (WM_USER + 4)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
234 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
235 #ifndef CBEM_GETITEMW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
236 #define CBEM_GETITEMW (WM_USER + 13)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
237 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
238 #ifndef HDN_GETDISPINFOA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
239 #define HDN_GETDISPINFOA (HDN_FIRST - 9)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
240 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
241 #ifndef HDN_GETDISPINFOW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
242 #define HDN_GETDISPINFOW (HDN_FIRST - 29)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
243 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
244 #ifndef TBN_GETDISPINFOA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
245 #define TBN_GETDISPINFOA (TBN_FIRST - 16)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
246 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
247 #ifndef TBN_GETDISPINFOW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
248 #define TBN_GETDISPINFOW (TBN_FIRST - 17)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
249 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
250 #ifndef TBN_GETINFOTIPA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
251 #define TBN_GETINFOTIPA (TBN_FIRST - 18)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
252 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
253 #ifndef TBN_GETINFOTIPW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
254 #define TBN_GETINFOTIPW (TBN_FIRST - 19)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
255 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
256 #ifndef TTN_GETDISPINFOA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
257 #define TTN_GETDISPINFOA (TTN_FIRST - 0)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
258 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
259 #ifndef TTN_GETDISPINFOW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
260 #define TTN_GETDISPINFOW (TTN_FIRST - 10)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
261 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
262
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
263 #if (_WIN32_IE >= 0x0400)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
264
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
265 #ifndef LVN_GETINFOTIPA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
266 #define LVN_GETINFOTIPA (LVN_FIRST - 57)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
267 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
268 #ifndef LVN_GETINFOTIPW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
269 #define LVN_GETINFOTIPW (LVN_FIRST - 58)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
270 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
271 #ifndef TVN_GETINFOTIPA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
272 #define TVN_GETINFOTIPA (TVN_FIRST - 13)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
273 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
274 #ifndef TVN_GETINFOTIPW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
275 #define TVN_GETINFOTIPW (TVN_FIRST - 14)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
276 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
277 #ifndef CBEN_GETDISPINFOA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
278 #define CBEN_GETDISPINFOA (CBEN_FIRST - 0)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
279 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
280 #ifndef CBEN_GETDISPINFOW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
281 #define CBEN_GETDISPINFOW (CBEN_FIRST - 7)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
282 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
283 #ifndef CBEN_DRAGBEGINA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
284 #define CBEN_DRAGBEGINA (CBEN_FIRST - 8)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
285 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
286 #ifndef CBEN_DRAGBEGINW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
287 #define CBEN_DRAGBEGINW (CBEN_FIRST - 9)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
288 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
289
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
290 #endif /* (_WIN32_IE >= 0x0400) */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
291
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
292 #ifndef CBEN_ENDEDITA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
293 #define CBEN_ENDEDITA (CBEN_FIRST - 5)
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
294 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
295 #ifndef CBEN_ENDEDITW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
296 #define CBEN_ENDEDITW (CBEN_FIRST - 6)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
297 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
298
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
299 #ifndef CBEMAXSTRLEN
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
300 #define CBEMAXSTRLEN 260
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
301 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
302
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
303 #ifndef NMCBEENDEDIT
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
304
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
305 typedef struct
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
306 {
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
307 NMHDR hdr;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
308 BOOL fChanged;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
309 int iNewSelection;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
310 WCHAR szText[CBEMAXSTRLEN];
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
311 int iWhy;
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
312 } NMCBEENDEDITW, *LPNMCBEENDEDITW, *PNMCBEENDEDITW;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
313
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
314 typedef struct
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
315 {
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
316 NMHDR hdr;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
317 BOOL fChanged;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
318 int iNewSelection;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
319 char szText[CBEMAXSTRLEN];
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
320 int iWhy;
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
321 } NMCBEENDEDITA, *LPNMCBEENDEDITA,*PNMCBEENDEDITA;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
322
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
323 #endif /* not NMCBEENDEDIT */
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
324
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
325 #if (_WIN32_IE >= 0x0400)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
326
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
327 #ifndef NMCBEDRAGBEGIN
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
328
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
329 typedef struct
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
330 {
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
331 NMHDR hdr;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
332 int iItemid;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
333 WCHAR szText[CBEMAXSTRLEN];
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
334 } NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW;
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
335
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
336 typedef struct
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
337 {
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
338 NMHDR hdr;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
339 int iItemid;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
340 char szText[CBEMAXSTRLEN];
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
341 } NMCBEDRAGBEGINA, *LPNMCBEDRAGBEGINA, *PNMCBEDRAGBEGINA;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
342
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
343 #endif /* not NMCBEDRAGBEGIN */
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
344
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
345 typedef struct tagNMDATETIMEFORMATA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
346 {
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
347 NMHDR nmhdr;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
348 LPCSTR pszFormat;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
349 SYSTEMTIME st;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
350 LPCSTR pszDisplay;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
351 CHAR szDisplay[64];
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
352 } NMDATETIMEFORMATA, FAR * LPNMDATETIMEFORMATA;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
353
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
354 typedef struct tagNMDATETIMEFORMATW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
355 {
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
356 NMHDR nmhdr;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
357 LPCWSTR pszFormat;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
358 SYSTEMTIME st;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
359 LPCWSTR pszDisplay;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
360 WCHAR szDisplay[64];
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
361 } NMDATETIMEFORMATW, FAR * LPNMDATETIMEFORMATW;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
362
1683
74353ce403ce [xemacs-hg @ 2003-09-15 15:24:56 by james]
james
parents: 1304
diff changeset
363 #if W32API_INSTALLED_VER < W32API_VER(2,2)
1304
579d37cb4395 [xemacs-hg @ 2003-02-15 11:20:38 by ben]
ben
parents: 1204
diff changeset
364
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
365 typedef struct tagNMTTDISPIFNOA
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
366 {
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
367 NMHDR hdr;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
368 LPSTR lpszText;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
369 char szText[80];
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
370 HINSTANCE hinst;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
371 UINT uFlags;
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
372 #if (_WIN32_IE >= 0x0300)
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
373 LPARAM lParam;
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
374 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
375 } NMTTDISPINFOA, FAR *LPNMTTDISPINFOA;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
376
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
377 typedef struct tagNMTTDISPINFOW
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
378 {
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
379 NMHDR hdr;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
380 LPWSTR lpszText;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
381 WCHAR szText[80];
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
382 HINSTANCE hinst;
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
383 UINT uFlags;
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
384 #if (_WIN32_IE >= 0x0300)
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
385 LPARAM lParam;
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
386 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
387 } NMTTDISPINFOW, FAR *LPNMTTDISPINFOW;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
388
1683
74353ce403ce [xemacs-hg @ 2003-09-15 15:24:56 by james]
james
parents: 1304
diff changeset
389 #endif /* W32API_INSTALLED_VER < W32API_VER(2,2) */
1304
579d37cb4395 [xemacs-hg @ 2003-02-15 11:20:38 by ben]
ben
parents: 1204
diff changeset
390
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
391 #endif /* (_WIN32_IE >= 0x0400) */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
392
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
393 /* shlobj.h defines */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
394 #ifndef BFFM_VALIDATEFAILEDA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
395 #define BFFM_VALIDATEFAILEDA 3
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
396 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
397 #ifndef BFFM_VALIDATEFAILEDW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
398 #define BFFM_VALIDATEFAILEDW 4
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
399 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
400 #ifndef BFFM_SETSELECTIONA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
401 #define BFFM_SETSELECTIONA (WM_USER + 102)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
402 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
403 #ifndef BFFM_SETSELECTIONW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
404 #define BFFM_SETSELECTIONW (WM_USER + 103)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
405 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
406 #ifndef BFFM_SETSTATUSTEXTA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
407 #define BFFM_SETSTATUSTEXTA (WM_USER + 100)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
408 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
409 #ifndef BFFM_SETSTATUSTEXTW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
410 #define BFFM_SETSTATUSTEXTW (WM_USER + 104)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
411 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
412 #ifndef SHARD_PATHA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
413 #define SHARD_PATHA 2
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
414 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
415 #ifndef SHARD_PATHW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
416 #define SHARD_PATHW 3
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
417 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
418 #ifndef SHCNF_PATHA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
419 #define SHCNF_PATHA 1
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
420 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
421 #ifndef SHCNF_PATHW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
422 #define SHCNF_PATHW 5
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
423 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
424 #ifndef SHCNF_PRINTERA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
425 #define SHCNF_PRINTERA 2
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
426 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
427 #ifndef SHCNF_PRINTERW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
428 #define SHCNF_PRINTERW 6
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
429 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
430 #ifndef BFFM_VALIDATEFAILED
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
431 #ifdef UNICODE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
432 #define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDW
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
433 #else
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
434 #define BFFM_VALIDATEFAILED BFFM_VALIDATEFAILEDA
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
435 #endif
819
6504113e7c2d [xemacs-hg @ 2002-04-25 18:03:23 by andyp]
andyp
parents: 814
diff changeset
436 #endif
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
437
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
438 /* winnls.h defines */
819
6504113e7c2d [xemacs-hg @ 2002-04-25 18:03:23 by andyp]
andyp
parents: 814
diff changeset
439 #ifndef MAC_CHARSET
6504113e7c2d [xemacs-hg @ 2002-04-25 18:03:23 by andyp]
andyp
parents: 814
diff changeset
440 #define MAC_CHARSET 77
6504113e7c2d [xemacs-hg @ 2002-04-25 18:03:23 by andyp]
andyp
parents: 814
diff changeset
441 #endif
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
442 #ifndef LOCALE_RETURN_NUMBER
819
6504113e7c2d [xemacs-hg @ 2002-04-25 18:03:23 by andyp]
andyp
parents: 814
diff changeset
443 #define LOCALE_RETURN_NUMBER 0x20000000
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
444 #endif
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
445
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
446 /* OEM resources */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
447 #ifndef OCR_ICOCUR
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
448 #define OCR_ICOCUR 32647
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
449 #define OIC_SAMPLE 32512
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
450 #define OIC_HAND 32513
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
451 #define OIC_QUES 32514
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
452 #define OIC_BANG 32515
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
453 #define OIC_NOTE 32516
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
454 #define OIC_WINLOGO 32517
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
455 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
456
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
457 /* More Cygwin stupidity: Current w32api's winuser.h has IME message
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
458 constants and they conflict with imm.h. (NOTE: Currently fixed, but
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
459 I'm sure the problems were present post 1.0.) */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
460 #undef WM_IME_STARTCOMPOSITION
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
461 #undef WM_IME_ENDCOMPOSITION
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
462 #undef WM_IME_COMPOSITION
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
463 #undef WM_IME_KEYLAST
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
464 #undef WM_IME_SETCONTEXT
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
465 #undef WM_IME_NOTIFY
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
466 #undef WM_IME_CONTROL
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
467 #undef WM_IME_COMPOSITIONFULL
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
468 #undef WM_IME_SELECT
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
469 #undef WM_IME_CHAR
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
470 #undef WM_IME_KEYDOWN
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
471 #undef WM_IME_KEYUP
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
472
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
473 #include <imm.h>
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
474
1683
74353ce403ce [xemacs-hg @ 2003-09-15 15:24:56 by james]
james
parents: 1304
diff changeset
475 #if W32API_INSTALLED_VER < W32API_VER(2,4)
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
476 typedef struct _SHQUERYRBINFO
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
477 {
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
478 DWORD cbSize;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
479 __int64 i64Size;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
480 __int64 i64NumItems;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
481 } SHQUERYRBINFO, *LPSHQUERYRBINFO;
1683
74353ce403ce [xemacs-hg @ 2003-09-15 15:24:56 by james]
james
parents: 1304
diff changeset
482 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
483
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
484 typedef LPCDLGTEMPLATE LPCDLGTEMPLATEW;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
485 typedef LPCDLGTEMPLATE LPCDLGTEMPLATEA;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
486
1685
29c45c1b64f3 [xemacs-hg @ 2003-09-15 21:19:11 by james]
james
parents: 1683
diff changeset
487 #else /* !CYGWIN_HEADERS */
29c45c1b64f3 [xemacs-hg @ 2003-09-15 21:19:11 by james]
james
parents: 1683
diff changeset
488 #define W32API_VER(major,minor) 0
29c45c1b64f3 [xemacs-hg @ 2003-09-15 21:19:11 by james]
james
parents: 1683
diff changeset
489 #define W32API_INSTALLED_VER 0
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
490 #endif /* CYGWIN_HEADERS */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
491
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
492 /* Not in VC 6 */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
493 #ifndef BIF_NEWDIALOGSTYLE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
494 #define BIF_NEWDIALOGSTYLE 64
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
495 #endif
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
496
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
497 #ifdef CYGWIN
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
498
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
499 /* All but wcscmp and wcslen left out of Cygwin headers -- but present
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
500 in /usr/include/mingw/string.h! */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
501 wchar_t* wcscat (wchar_t*, const wchar_t*);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
502 wchar_t* wcschr (const wchar_t*, wchar_t);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
503 int wcscoll (const wchar_t*, const wchar_t*);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
504 wchar_t* wcscpy (wchar_t*, const wchar_t*);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
505 wchar_t* wcsdup (const wchar_t*);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
506 size_t wcscspn (const wchar_t*, const wchar_t*);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
507 /* Note: No wcserror in CRTDLL. */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
508 wchar_t* wcsncat (wchar_t*, const wchar_t*, size_t);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
509 int wcsncmp (const wchar_t*, const wchar_t*, size_t);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
510 wchar_t* wcsncpy (wchar_t*, const wchar_t*, size_t);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
511 wchar_t* wcspbrk (const wchar_t*, const wchar_t*);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
512 wchar_t* wcsrchr (const wchar_t*, wchar_t);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
513 size_t wcsspn (const wchar_t*, const wchar_t*);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
514 wchar_t* wcsstr (const wchar_t*, const wchar_t*);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
515 wchar_t* wcstok (wchar_t*, const wchar_t*);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
516 size_t wcsxfrm (wchar_t*, const wchar_t*, size_t);
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
517
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
518 #endif /* CYGWIN */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
519
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
520 /* ------------------------- Unicode encapsulation ------------------------- */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
521
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
522 /* See intl-encap-win32.c for more information about Unicode-encapsulation */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
523
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
524 #define ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
525
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
526 #include "intl-auto-encap-win32.h"
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
527
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
528 /* would be encapsulatable but for parsing problems */
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
529
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
530 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
531 #undef DefWindowProc
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
532 #define DefWindowProc error use qxeDefWindowProc or DefWindowProcA/DefWindowProcW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
533 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
534 LRESULT qxeDefWindowProc (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
535
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
536 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
537 #undef CallWindowProc
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
538 #define CallWindowProc error use qxeCallWindowProc or CallWindowProcA/CallWindowProcW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
539 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
540 LRESULT qxeCallWindowProc (WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
541 WPARAM wParam, LPARAM lParam);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
542
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
543 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
544 #undef DefDlgProc
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
545 #define DefDlgProc error use qxeDefDlgProc or DefDlgProcA/DefDlgProcW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
546 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
547 LRESULT qxeDefDlgProc (HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
548
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
549 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
550 #undef SetWindowsHook
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
551 #define SetWindowsHook error use qxeSetWindowsHook or SetWindowsHookA/SetWindowsHookW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
552 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
553 HHOOK qxeSetWindowsHook (int nFilterType, HOOKPROC pfnFilterProc);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
554
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
555 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
556 #undef DefMDIChildProc
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
557 #define DefMDIChildProc error use qxeDefMDIChildProc or DefMDIChildProcA/DefMDIChildProcW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
558 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
559 LRESULT qxeDefMDIChildProc (HWND hWnd, UINT uMsg, WPARAM wParam,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
560 LPARAM lParam);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
561
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
562 #undef GetEnvironmentStrings
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
563 #undef GetEnvironmentStringsA
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
564 #define GetEnvironmentStringsA GetEnvironmentStrings
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
565 Extbyte * qxeGetEnvironmentStrings (void);
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
566
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
567 /* would be encapsulatable but for Cygwin problems */
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
568
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
569 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
1111
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
570 #undef DdeCreateStringHandle
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
571 #define DdeCreateStringHandle error use qxeDdeCreateStringHandle or DdeCreateStringHandleA/DdeCreateStringHandleW
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
572 #endif
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
573 HSZ qxeDdeCreateStringHandle (DWORD idInst, const Extbyte * psz, int iCodePage);
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
574
184461bc8de4 [xemacs-hg @ 2002-11-18 06:52:23 by ben]
ben
parents: 872
diff changeset
575 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
576 #undef RegConnectRegistry
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
577 #define RegConnectRegistry error use qxeRegConnectRegistry or RegConnectRegistryA/RegConnectRegistryW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
578 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
579 LONG qxeRegConnectRegistry (const Extbyte * lpMachineName, HKEY hKey, PHKEY phkResult);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
580
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
581 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
582 #undef ExtractIconEx
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
583 #define ExtractIconEx error use qxeExtractIconEx or ExtractIconExA/ExtractIconExW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
584 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
585 UINT qxeExtractIconEx (const Extbyte * lpszFile, int nIconIndex, HICON FAR * phiconLarge, HICON FAR * phiconSmall, UINT nIcons);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
586
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
587 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
588 #undef GetICMProfile
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
589 #define GetICMProfile error use qxeGetICMProfile or GetICMProfileA/GetICMProfileW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
590 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
591 BOOL qxeGetICMProfile (HDC arg1, LPDWORD arg2, Extbyte * arg3);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
592
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
593 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
594 #undef UpdateICMRegKey
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
595 #define UpdateICMRegKey error use qxeUpdateICMRegKey or UpdateICMRegKeyA/UpdateICMRegKeyW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
596 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
597 BOOL qxeUpdateICMRegKey (DWORD arg1, Extbyte * arg2, Extbyte * arg3, UINT arg4);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
598
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
599 /* files */
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
600 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
601 #undef FindFirstFile
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
602 #define FindFirstFile error use qxeFindFirstFile or FindFirstFileA/FindFirstFileW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
603 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
604 HANDLE qxeFindFirstFile (const Extbyte *lpFileName,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
605 WIN32_FIND_DATAW *lpFindFileData);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
606
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
607 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
608 #undef FindNextFile
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
609 #define FindNextFile error use qxeFindNextFile or FindNextFileA/FindNextFileW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
610 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
611 BOOL qxeFindNextFile (HANDLE hFindFile, WIN32_FIND_DATAW *lpFindFileData);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
612
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
613 /* shell */
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
614 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
615 #undef SHGetFileInfo
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
616 #define SHGetFileInfo error use qxeSHGetFileInfo or SHGetFileInfoA/SHGetFileInfoW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
617 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
618 DWORD qxeSHGetFileInfo (const Extbyte *pszPath, DWORD dwFileAttributes,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
619 SHFILEINFOW *psfi, UINT cbFileInfo, UINT uFlags);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
620
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
621 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
622 #undef SHBrowseForFolder
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
623 #define SHBrowseForFolder error use qxeSHBrowseForFolder or SHBrowseForFolderA/SHBrowseForFolderW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
624 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
625 LPITEMIDLIST qxeSHBrowseForFolder (LPBROWSEINFOW lpbi);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
626
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
627 /* Not Unicode-split */
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
628 VOID qxeSHAddToRecentDocs (UINT uFlags, LPCVOID pv);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
629
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
630 /* Not Unicode-split */
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
631 VOID qxeSHChangeNotify (LONG wEventId, UINT uFlags, LPCVOID dwItem1,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
632 LPCVOID dwItem2);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
633
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
634 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
635 #undef SHGetDataFromIDList
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
636 #define SHGetDataFromIDList error use qxeSHGetDataFromIDList or SHGetDataFromIDListA/SHGetDataFromIDListW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
637 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
638 HRESULT qxeSHGetDataFromIDList (IShellFolder *psf, LPCITEMIDLIST pidl,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
639 int nFormat, PVOID pv, int cb);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
640
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
641 /* devmode */
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
642 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
643 #undef CreateDC
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
644 #define CreateDC error use qxeCreateDC or CreateDCA/CreateDCW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
645 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
646 HDC qxeCreateDC (const Extbyte *lpszDriver, const Extbyte *lpszDevice,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
647 const Extbyte *lpszOutput, CONST DEVMODEW *lpInitData);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
648
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
649 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
650 #undef ResetDC
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
651 #define ResetDC error use qxeResetDC or ResetDCA/ResetDCW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
652 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
653 HDC qxeResetDC (HDC hdc, CONST DEVMODEW *lpInitData);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
654
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
655 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
656 #undef OpenPrinter
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
657 #define OpenPrinter error use qxeOpenPrinter or OpenPrinterA/OpenPrinterW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
658 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
659 DWORD qxeOpenPrinter (Extbyte *pPrinterName, LPHANDLE phPrinter,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
660 LPPRINTER_DEFAULTSW pDefaultconst);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
661
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
662 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
663 #undef DocumentProperties
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
664 #define DocumentProperties error use qxeDocumentProperties or DocumentPropertiesA/DocumentPropertiesW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
665 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
666 LONG qxeDocumentProperties (HWND hWnd, HANDLE hPrinter, Extbyte *pDeviceName,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
667 DEVMODEW *pDevModeOutput, DEVMODEW *pDevModeInput,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
668 DWORD fMode);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
669
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
670 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
671 #undef PrintDlg
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
672 #define PrintDlg error use qxePrintDlg or PrintDlgA/PrintDlgW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
673 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
674 BOOL qxePrintDlg (PRINTDLGW *lppd);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
675
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
676 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
677 #undef PageSetupDlg
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
678 #define PageSetupDlg error use qxePageSetupDlg or PageSetupDlgA/PageSetupDlgW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
679 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
680 BOOL qxePageSetupDlg (PAGESETUPDLGW *lppd);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
681
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
682 /* fonts */
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
683
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
684 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
685 #undef EnumFontFamiliesEx
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
686 #define EnumFontFamiliesEx error use qxeEnumFontFamiliesEx or EnumFontFamiliesExA/EnumFontFamiliesExW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
687 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
688 int qxeEnumFontFamiliesEx (HDC hdc, LOGFONTW *lpLogfont,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
689 FONTENUMPROCW lpEnumFontFamProc, LPARAM lParam,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
690 DWORD dwFlags);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
691
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
692 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
693 #undef CreateFontIndirect
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
694 #define CreateFontIndirect error use qxeCreateFontIndirect or CreateFontIndirectA/CreateFontIndirectW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
695 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
696 HFONT qxeCreateFontIndirect (CONST LOGFONTW *lplf);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
697
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
698 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
699 #undef ImmSetCompositionFont
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
700 #define ImmSetCompositionFont error use qxeImmSetCompositionFont or ImmSetCompositionFontA/ImmSetCompositionFontW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
701 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
702 BOOL qxeImmSetCompositionFont (HIMC imc, LOGFONTW *lplf);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
703
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
704 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
705 #undef ImmGetCompositionFont
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
706 #define ImmGetCompositionFont error use qxeImmGetCompositionFont or ImmGetCompositionFontA/ImmGetCompositionFontW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
707 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
708 BOOL qxeImmGetCompositionFont (HIMC imc, LOGFONTW *lplf);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
709
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
710 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
711 #undef GetObject
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
712 #define GetObject error use qxeGetObject or GetObjectA/GetObjectW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
713 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
714 int qxeGetObject (HGDIOBJ hgdiobj, int cbBuffer, LPVOID lpvObject);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
715
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
716 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
717 #undef GetTextMetrics
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
718 #define GetTextMetrics error use qxeGetTextMetrics or GetTextMetricsA/GetTextMetricsW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
719 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
720 BOOL qxeGetTextMetrics (HDC hdc, LPTEXTMETRICW lptm);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
721
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
722 /* COMMCTRL.H */
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
723
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
724 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
725 #undef SendMessage
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
726 #define SendMessage error use qxeSendMessage or SendMessageA/SendMessageW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
727 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
728 LRESULT qxeSendMessage (HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
729
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
730 /* windows */
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
731
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
732 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
733 #undef RegisterClass
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
734 #define RegisterClass error use qxeRegisterClass or RegisterClassA/RegisterClassW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
735 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
736 ATOM qxeRegisterClass (CONST WNDCLASSW * lpWndClass);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
737
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
738 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
739 #undef UnregisterClass
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
740 #define UnregisterClass error use qxeUnregisterClass or UnregisterClassA/UnregisterClassW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
741 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
742 BOOL qxeUnregisterClass (const Extbyte * lpClassName, HINSTANCE hInstance);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
743
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
744 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
745 #undef RegisterClassEx
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
746 #define RegisterClassEx error use qxeRegisterClassEx or RegisterClassExA/RegisterClassExW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
747 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
748 ATOM qxeRegisterClassEx (CONST WNDCLASSEXW * arg1);
800
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
749
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
750 #ifdef ERROR_WHEN_NONINTERCEPTED_FUNS_USED
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
751 #undef CreateWindow
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
752 #define CreateWindow error use qxeCreateWindow or CreateWindowA/CreateWindowW
a5954632b187 [xemacs-hg @ 2002-03-31 08:27:14 by ben]
ben
parents: 771
diff changeset
753 #endif
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
754 #define qxeCreateWindow(lpClassName, lpWindowName, dwStyle, x, y, \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
755 nWidth, nHeight, hWndParent, hMenu, hInstance, \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
756 lpParam) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
757 qxeCreateWindowEx (0L, lpClassName, lpWindowName, dwStyle, x, y, \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
758 nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
759
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
760 /* ------------------------- Unicode conversion ------------------------- */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
761
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
762 /* Set early in command-line processing, when -nuni or
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
763 --no-unicode-lib-calls is seen. */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
764 extern int no_mswin_unicode_lib_calls;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
765 /* Set early, in init_win32_very_early(). */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
766 extern int mswindows_windows9x_p;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
767 #define XEUNICODE_P (!mswindows_windows9x_p && !no_mswin_unicode_lib_calls)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
768
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
769 #define XELPTSTR LPWSTR
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
770 #define XELPCTSTR LPCWSTR
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
771
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
772 #define XETCHAR_SIZE (XEUNICODE_P ? sizeof (WCHAR) : sizeof (CHAR))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
773 #define MAX_XETCHAR_SIZE sizeof (WCHAR)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
774 #define XETEXT1(arg) (XEUNICODE_P ? ((char *) (L##arg)) : (arg))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
775 /* We need to do this indirection in case ARG is also a manifest constant.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
776 I don't really understand why. --ben */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
777 #define XETEXT(arg) XETEXT1(arg)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
778 #define XECOPY_TCHAR(ptr, ch) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
779 (XEUNICODE_P ? (* (LPWSTR) (ptr) = L##ch) : (* (LPSTR) (ptr) = (ch)))
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
780 #define xetcslen(arg) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
781 (XEUNICODE_P ? wcslen ((wchar_t *) arg) : strlen (arg))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
782 #define xetcsbytelen(arg) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
783 (XEUNICODE_P ? wcslen ((wchar_t *) arg) * XETCHAR_SIZE : strlen (arg))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
784 #define xetcscmp(s1, s2) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
785 (XEUNICODE_P ? wcscmp ((wchar_t *) s1, (wchar_t *) s2) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
786 : strcmp (s1, s2))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
787 #define xetcscpy(s1, s2) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
788 (XEUNICODE_P ? (char *) wcscpy ((wchar_t *) s1, (wchar_t *) s2) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
789 : strcpy (s1, s2))
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
790 #define xetcsncpy(s1, s2, n) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
791 (XEUNICODE_P ? (char *) wcsncpy ((wchar_t *) s1, (wchar_t *) s2, n) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
792 : strncpy (s1, s2, n))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
793 #define xetcschr(s, ch) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
794 (XEUNICODE_P ? (char *) wcschr ((wchar_t *) s, (WCHAR) ch) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
795 : strchr (s, ch))
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
796 #define xetcsrchr(s, ch) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
797 (XEUNICODE_P ? (char *) wcsrchr ((wchar_t *) s, (WCHAR) ch) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
798 : strrchr (s, ch))
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
799 #define xetcsdup(s) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
800 (XEUNICODE_P ? (char *) wcsdup ((wchar_t *) s) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
801 : xstrdup (s))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
802
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
803 #define C_STRING_TO_TSTR(in, out) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
804 C_STRING_TO_EXTERNAL (in, out, Qmswindows_tstr)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
805 #define LISP_STRING_TO_TSTR(in, out) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
806 LISP_STRING_TO_EXTERNAL (in, out, Qmswindows_tstr)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
807 #define TSTR_TO_C_STRING(in, out) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
808 EXTERNAL_TO_C_STRING (in, out, Qmswindows_tstr)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
809 #define TSTR_TO_C_STRING_MALLOC(in, out) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
810 EXTERNAL_TO_C_STRING_MALLOC (in, out, Qmswindows_tstr)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
811
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
812 #define build_tstr_string(in) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
813 make_ext_string (in, xetcsbytelen ((Extbyte *) in), Qmswindows_tstr)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
814
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
815 #define MAX_ANSI_CHAR_LEN 1
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
816 #define MAX_UNICODE_CHAR_LEN 2
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
817
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
818 DECLARE_INLINE_HEADER (int ansi_char_to_text (int ch, Extbyte *t))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
819 {
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
820 ch &= 0xFF;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
821 t[0] = ch;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
822 return 1;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
823 }
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
824
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
825 DECLARE_INLINE_HEADER (int unicode_char_to_text (int ch, Extbyte *t))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
826 {
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
827 t[0] = ch & 0xFF;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
828 t[1] = (ch >> 8) & 0xFF;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
829 return 2;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
830 }
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
831
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
832 Extbyte *convert_multibyte_to_unicode_malloc (const Extbyte *src,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
833 Bytecount n,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
834 int cp, Bytecount *size_out);
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
835 Ibyte *convert_multibyte_to_internal_malloc (const Extbyte *src,
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
836 Bytecount n,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
837 int cp, Bytecount *size_out);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
838 void convert_multibyte_to_unicode_dynarr (const Extbyte *src, Bytecount n,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
839 int cp, unsigned_char_dynarr *dst);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
840
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
841 /* ------------------------- Other Mule stuff ------------------------- */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
842
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
843 LCID mswindows_current_locale (void);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
844 int mswindows_locale_to_code_page (LCID lcid);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
845 int mswindows_locale_to_oem_code_page (LCID lcid);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
846
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
847 /* ------------------------- Filename conversion ------------------------- */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
848
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
849 #ifdef CYGWIN
1743
543769b89fed [xemacs-hg @ 2003-10-14 05:02:57 by james]
james
parents: 1685
diff changeset
850
543769b89fed [xemacs-hg @ 2003-10-14 05:02:57 by james]
james
parents: 1685
diff changeset
851 BEGIN_C_DECLS
543769b89fed [xemacs-hg @ 2003-10-14 05:02:57 by james]
james
parents: 1685
diff changeset
852
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
853 void cygwin_win32_to_posix_path_list (const char *, char *);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
854 int cygwin_win32_to_posix_path_list_buf_size (const char *);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
855 void cygwin_posix_to_win32_path_list (const char *, char *);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
856 int cygwin_posix_to_win32_path_list_buf_size (const char *);
1743
543769b89fed [xemacs-hg @ 2003-10-14 05:02:57 by james]
james
parents: 1685
diff changeset
857
543769b89fed [xemacs-hg @ 2003-10-14 05:02:57 by james]
james
parents: 1685
diff changeset
858 END_C_DECLS
543769b89fed [xemacs-hg @ 2003-10-14 05:02:57 by james]
james
parents: 1685
diff changeset
859
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
860 #endif
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
861
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
862 #define LOCAL_FILE_FORMAT_TO_TSTR(path, out) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
863 do { \
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
864 Ibyte *lttff; \
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
865 \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
866 LOCAL_TO_WIN32_FILE_FORMAT (XSTRING_DATA (path), lttff); \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
867 C_STRING_TO_TSTR (lttff, out); \
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
868 } while (0)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
869
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
870 Lisp_Object tstr_to_local_file_format (Extbyte *pathout);
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
871
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
872 /* Convert from local file format, as used in XEmacs, to valid win32
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
873 filenames as can be given to Windows API routines. Under native XEmacs,
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
874 this is a no-op, but under Cygwin, the local names look different --
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
875 Cygwin mount points, forward slashes, etc. Currently, under Cygwin, we
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
876 actually allow local names to be of both formats, i.e. Cygwin or Win32
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
877 native. So we check to see if we have Win32 native already (a cheesy
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
878 check, look for letter plus colon at beginning of name) and do nothing
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
879 in that case. */
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
880
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
881 #ifdef CYGWIN
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
882 #define LOCAL_TO_WIN32_FILE_FORMAT(path, pathout) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
883 do { \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
884 /* NOTE: It is a bit evil that here and below we are passing \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
885 internal-format data to a function that (nominally) should work \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
886 with external-format data. But in point of fact, the Cygwin \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
887 conversion functions are *NOT* localized, and will fail if they \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
888 get 7-bit ISO2022-encoded data. We know that our internal format \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
889 is ASCII-compatible, and so these functions will work fine with \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
890 this data. */ \
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
891 Ibyte *ltwffp = (path); \
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
892 if (isalpha (ltwffp[0]) && (IS_DEVICE_SEP (ltwffp[1]))) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
893 pathout = ltwffp; \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
894 else \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
895 { \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
896 int ltwff2 = \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
897 cygwin_posix_to_win32_path_list_buf_size ((char *) ltwffp); \
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
898 pathout = (Ibyte *) ALLOCA (ltwff2); \
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
899 cygwin_posix_to_win32_path_list ((char *) ltwffp, (char *) pathout); \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
900 } \
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
901 } while (0)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
902 #else
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
903 #define LOCAL_TO_WIN32_FILE_FORMAT(path, pathout) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
904 do { \
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
905 (pathout) = (path); \
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
906 } while (0)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
907 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
908
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
909 #ifdef CYGWIN
593
5fd7ba8b56e7 [xemacs-hg @ 2001-05-31 12:45:27 by ben]
ben
parents: 558
diff changeset
910 #define WIN32_TO_LOCAL_FILE_FORMAT(path, pathout) \
5fd7ba8b56e7 [xemacs-hg @ 2001-05-31 12:45:27 by ben]
ben
parents: 558
diff changeset
911 do { \
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
912 Ibyte *wtlff1 = (path); \
593
5fd7ba8b56e7 [xemacs-hg @ 2001-05-31 12:45:27 by ben]
ben
parents: 558
diff changeset
913 int wtlff2 = \
5fd7ba8b56e7 [xemacs-hg @ 2001-05-31 12:45:27 by ben]
ben
parents: 558
diff changeset
914 cygwin_win32_to_posix_path_list_buf_size ((char *) wtlff1); \
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
915 Ibyte *wtlff3 = (Ibyte *) ALLOCA (wtlff2); \
593
5fd7ba8b56e7 [xemacs-hg @ 2001-05-31 12:45:27 by ben]
ben
parents: 558
diff changeset
916 cygwin_win32_to_posix_path_list ((char *) wtlff1, (char *) wtlff3); \
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
917 (pathout) = wtlff3; \
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
918 } while (0)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
919 #else
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
920 #define WIN32_TO_LOCAL_FILE_FORMAT(path, pathout) \
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
921 do { \
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
922 (pathout) = (path); \
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
923 } while (0)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
924 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
925
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
926 /* Convert a local-format file name or URL in internal format into a Win32
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
927 file name or URL in tstr format. */
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
928
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
929 #ifdef CYGWIN
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
930
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
931 #define LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR(lispstr, pathout) \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
932 do \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
933 { \
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
934 Ibyte *lffmutt_fname1; \
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
935 Ibyte *lffmutt_pathint = XSTRING_DATA (lispstr); \
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
936 \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
937 if ((lffmutt_fname1 = qxestrchr (lffmutt_pathint, ':')) != NULL \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
938 && *++lffmutt_fname1 == '/' && *++lffmutt_fname1 == '/') \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
939 { \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
940 /* If URL style file, the innards may have Cygwin mount points and \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
941 the like. so separate out the innards, process them, and put back \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
942 together. */ \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
943 if (qxestrncasecmp_c (lffmutt_pathint, "file://", 7) == 0) \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
944 { \
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
945 Ibyte *lffmutt_path1, *lffmutt_path2; \
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
946 LOCAL_TO_WIN32_FILE_FORMAT (lffmutt_pathint + 7, lffmutt_path1); \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
947 if (lffmutt_path1 == lffmutt_pathint + 7) /* Optimization */ \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
948 lffmutt_path2 = lffmutt_pathint; \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
949 else \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
950 { \
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
951 lffmutt_path2 = alloca_ibytes (7 + qxestrlen (lffmutt_path1) \
826
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
952 + 1); \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
953 qxestrncpy (lffmutt_path2, lffmutt_pathint, 7); \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
954 qxestrcpy (lffmutt_path2 + 7, lffmutt_path1); \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
955 } \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
956 C_STRING_TO_TSTR (lffmutt_path2, pathout); \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
957 } \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
958 else \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
959 /* A straight URL, just convert */ \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
960 LISP_STRING_TO_TSTR (lispstr, pathout); \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
961 } \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
962 else \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
963 /* Not URL-style, must be a straight filename. */ \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
964 LOCAL_FILE_FORMAT_TO_TSTR (lispstr, pathout); \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
965 } while (0)
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
966
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
967 #else /* not CYGWIN */
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
968
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
969 /* URL's (and everything else) are already in the right format */
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
970 #define LOCAL_FILE_FORMAT_MAYBE_URL_TO_TSTR(lispstr, pathout) \
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
971 LOCAL_FILE_FORMAT_TO_TSTR (lispstr, pathout)
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
972
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
973 #endif /* not CYGWIN */
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
974
6728e641994e [xemacs-hg @ 2002-05-05 11:30:15 by ben]
ben
parents: 819
diff changeset
975
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
976 Ibyte *urlify_filename (Ibyte *filename);
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
977 Ibyte *mswindows_canonicalize_filename (Ibyte *name);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
978 #define MSWINDOWS_NORMALIZE_FILENAME(name) \
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
979 IBYTE_STRING_TO_ALLOCA (mswindows_canonicalize_filename (name), name)
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
980
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
981 /* ------------------- Functions needed dynamic binding ------------------- */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
982
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
983 typedef BOOL (WINAPI *pfSwitchToThread_t) (VOID);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
984
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
985 typedef NET_API_STATUS (NET_API_FUNCTION *pfNetUserEnum_t)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
986 (LPCWSTR, DWORD, DWORD, LPBYTE *, DWORD, LPDWORD, LPDWORD, LPDWORD);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
987 typedef NET_API_STATUS (NET_API_FUNCTION *pfNetApiBufferFree_t) (LPVOID);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
988
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
989 extern pfSwitchToThread_t xSwitchToThread;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
990
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
991 extern pfNetUserEnum_t xNetUserEnum;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
992 extern pfNetApiBufferFree_t xNetApiBufferFree;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
993
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
994 /* --------- Useful routines for manipulating memory-mapped files -------- */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
995
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
996 typedef struct file_data
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
997 {
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
998 const Ibyte *name;
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
999 unsigned long size;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1000 HANDLE file;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1001 HANDLE file_mapping;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1002 void *file_base;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1003 } file_data;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1004
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1005 #define OFFSET_TO_RVA(var,section) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1006 (section->VirtualAddress + \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1007 ((DWORD)(var) - section->PointerToRawData))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1008
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1009 #define RVA_TO_OFFSET(var,section) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1010 (section->PointerToRawData + \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1011 ((DWORD)(var) - section->VirtualAddress))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
1012
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1013 #define RVA_TO_PTR(var,section,filedata) \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1014 ((void *)(RVA_TO_OFFSET(var,section) + \
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1015 (char *)(filedata).file_base))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1016
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
1017 int open_input_file (file_data *p_file, const Ibyte *name);
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
1018 int open_output_file (file_data *p_file, const Ibyte *name,
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1019 unsigned long size);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1020 void close_file_data (file_data *p_file);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1021
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1022 /* ------------------------- Heap related stuff ------------------------- */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1023
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1024 #ifdef WIN32_NATIVE
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
1025
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1026 #define get_reserved_heap_size() reserved_heap_size
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1027 #define get_committed_heap_size() (get_data_end () - get_data_start ())
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1028 #define get_heap_start() get_data_start ()
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1029 #define get_heap_end() get_data_end ()
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1030 #define get_page_size() sysinfo_cache.dwPageSize
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1031 #define get_allocation_unit() sysinfo_cache.dwAllocationGranularity
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1032 #define get_processor_type() sysinfo_cache.dwProcessorType
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1033 #define get_nt_major_version() nt_major_version
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1034 #define get_nt_minor_version() nt_minor_version
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1035
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1036 unsigned char *get_data_start (void);
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1037 unsigned char *get_data_end (void);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1038 extern unsigned long data_region_size;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1039 extern unsigned long reserved_heap_size;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1040 extern SYSTEM_INFO sysinfo_cache;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1041 extern int nt_major_version;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1042 extern int nt_minor_version;
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1043
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1044 /* To prevent zero-initialized variables from being placed into the bss
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1045 section, use non-zero values to represent an uninitialized state. */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1046 #define UNINIT_PTR ((unsigned char*) 0xF0A0F0A0)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1047 #define UNINIT_LONG (0xF0A0F0A0L)
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1048
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1049 /* Recreate the heap created during dumping. */
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1050 void recreate_heap (Extbyte *executable_path);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1051
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1052 /* Round the heap to this size. */
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1053 void round_heap (unsigned long size);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1054
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1055 /* Load in the dumped .bss section. */
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1056 void read_in_bss (Extbyte *name);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1057
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1058 /* Map in the dumped heap. */
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1059 void map_in_heap (Extbyte *name);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1060
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1061 /* Cache system info, e.g., the NT page size. */
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1062 void cache_system_info (void);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1063
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1064 /* Round ADDRESS up to be aligned with ALIGN. */
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1065 unsigned char *round_to_next (unsigned char *address,
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1066 unsigned long align);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1067 #endif /* WIN32_NATIVE */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1068
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1069 /* ------------------------- Misc prototypes ------------------------- */
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1070
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1071 #ifdef WIN32_NATIVE
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1072 DECLARE_INLINE_HEADER (int strcasecmp (const char *a, const char *b))
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1073 {
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
1074 return qxestrcasecmp ((const Ibyte *) a, (const Ibyte *) b);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1075 }
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1076 #endif /* WIN32_NATIVE */
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
1077
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1078 /* in nt.c */
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
1079 int mswindows_access (const Ibyte *path, int mode);
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
1080 int mswindows_link (const Ibyte *old, const Ibyte *new);
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
1081 int mswindows_rename (const Ibyte *oldname, const Ibyte *newname);
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
1082 int mswindows_unlink (const Ibyte *path);
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
1083 int mswindows_stat (const Ibyte *path, struct stat *buf);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1084 int mswindows_fstat (int desc, struct stat *buf);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1085 time_t mswindows_convert_time (FILETIME ft);
1204
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 1111
diff changeset
1086 int mswindows_is_executable (const Ibyte *filename);
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 1111
diff changeset
1087 void mswindows_executable_type (const Ibyte *filename, int *is_dos_app,
e22b0213b713 [xemacs-hg @ 2003-01-12 11:07:58 by michaels]
michaels
parents: 1111
diff changeset
1088 int *is_cygnus_app);
867
804517e16990 [xemacs-hg @ 2002-06-05 09:54:39 by ben]
ben
parents: 851
diff changeset
1089 Ibyte *mswindows_getdcwd (int drivelet);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1090
872
79c6ff3eef26 [xemacs-hg @ 2002-06-20 21:18:01 by ben]
ben
parents: 867
diff changeset
1091 /* in process-nt.c */
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1092 extern int mswindows_compare_env (const void *strp1, const void *strp2);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1093
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1094 /* in win32.c */
814
a634e3b7acc8 [xemacs-hg @ 2002-04-14 12:41:59 by ben]
ben
parents: 800
diff changeset
1095 Extbyte *mswindows_get_module_file_name (void);
771
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1096 void mswindows_output_last_error (char *frob);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1097 DECLARE_DOESNT_RETURN (mswindows_report_process_error (const char *string,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1098 Lisp_Object data,
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1099 int errnum));
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1100 Lisp_Object mswindows_lisp_error (int errnum);
943eaba38521 [xemacs-hg @ 2002-03-13 08:51:24 by ben]
ben
parents: 673
diff changeset
1101
872
79c6ff3eef26 [xemacs-hg @ 2002-06-20 21:18:01 by ben]
ben
parents: 867
diff changeset
1102 /* in intl-win32.c */
79c6ff3eef26 [xemacs-hg @ 2002-06-20 21:18:01 by ben]
ben
parents: 867
diff changeset
1103 extern Lisp_Object Qmswindows_tstr, Qmswindows_unicode;
79c6ff3eef26 [xemacs-hg @ 2002-06-20 21:18:01 by ben]
ben
parents: 867
diff changeset
1104 extern Lisp_Object Qmswindows_multibyte, Qmswindows_multibyte_to_unicode;
79c6ff3eef26 [xemacs-hg @ 2002-06-20 21:18:01 by ben]
ben
parents: 867
diff changeset
1105
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents:
diff changeset
1106 #endif /* INCLUDED_syswindows_h_ */