442
+ − 1 /* System description file for Windows 9x and NT.
428
+ − 2 Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
800
+ − 3 Copyright (C) 2001, 2002 Ben Wing.
428
+ − 4
613
+ − 5 This file is part of XEmacs.
428
+ − 6
613
+ − 7 XEmacs is free software; you can redistribute it and/or modify
428
+ − 8 it under the terms of the GNU General Public License as published by
+ − 9 the Free Software Foundation; either version 2, or (at your option)
+ − 10 any later version.
+ − 11
613
+ − 12 XEmacs is distributed in the hope that it will be useful,
428
+ − 13 but WITHOUT ANY WARRANTY; without even the implied warranty of
+ − 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ − 15 GNU General Public License for more details.
+ − 16
+ − 17 You should have received a copy of the GNU General Public License
+ − 18 along with XEmacs; see the file COPYING. If not, write to
+ − 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ − 20 Boston, MA 02111-1307, USA. */
+ − 21
+ − 22 /* Synched up with: FSF 19.31. */
+ − 23
2367
+ − 24 /* See win32.c for info about the different Windows files in XEmacs. */
442
+ − 25
771
+ − 26 #include "win32-native.h"
428
+ − 27
+ − 28 /* In case non-Microsoft compiler is used, we fake _MSC_VER */
+ − 29 #ifndef _MSC_VER
+ − 30 #define _MSC_VER 1
+ − 31 #endif
+ − 32
771
+ − 33 /* Stuff from old nt/config.h: */
+ − 34
+ − 35 #define NTHEAP_PROBE_BASE 1
+ − 36
+ − 37 #ifdef HAVE_X_WINDOWS
+ − 38
+ − 39 #define HAVE_XREGISTERIMINSTANTIATECALLBACK
+ − 40
+ − 41 #define THIS_IS_X11R6
+ − 42 #define HAVE_XLOCALE_H
+ − 43 #define HAVE_X11_LOCALE_H
+ − 44 #define GETTIMEOFDAY_ONE_ARGUMENT
428
+ − 45
771
+ − 46 #define LWLIB_USES_ATHENA
+ − 47 #define LWLIB_MENUBARS_LUCID
+ − 48 #define LWLIB_SCROLLBARS_LUCID
+ − 49 #define LWLIB_DIALOGS_ATHENA
+ − 50 #define LWLIB_TABS_LUCID
+ − 51 #define LWLIB_WIDGETS_ATHENA
428
+ − 52
771
+ − 53 /* These are what gets defined under Cygwin */
+ − 54 #define _BSD_SOURCE 1
+ − 55 #define _SVID_SOURCE 1
+ − 56 #define X_LOCALE 1
+ − 57 #define NARROWPROTO 1
+ − 58
+ − 59 #endif /* HAVE_X_WINDOWS */
+ − 60
+ − 61 #define HAVE_LOCALE_H
+ − 62 #define STDC_HEADERS
+ − 63
+ − 64 #define HAVE_LONG_FILE_NAMES
428
+ − 65
771
+ − 66 #define HAVE_TIMEVAL
+ − 67 #define HAVE_TZNAME
+ − 68 #define HAVE_H_ERRNO
428
+ − 69
771
+ − 70 #define HAVE_CLOSEDIR
+ − 71 #define HAVE_DUP2
+ − 72 #define HAVE_EXECVPE
+ − 73 #define HAVE_FMOD
+ − 74 #define HAVE_FREXP
+ − 75 #define HAVE_FTIME
+ − 76 #define HAVE_GETCWD
+ − 77 #define HAVE_GETHOSTNAME
+ − 78 #define HAVE_GETPAGESIZE
+ − 79 #define getpagesize() 4096
+ − 80 #define HAVE_GETTIMEOFDAY
+ − 81 #define HAVE_LINK
+ − 82 #define HAVE_LOGB
+ − 83 #define HAVE_MKDIR
+ − 84 #define HAVE_MKTIME
+ − 85 #define HAVE_RENAME
+ − 86 #define HAVE_RMDIR
+ − 87 #define HAVE_SELECT
+ − 88 #define HAVE_STRERROR
1257
+ − 89 #define HAVE_STRLWR
+ − 90 #define HAVE_STRUPR
428
+ − 91
771
+ − 92 #define HAVE_SOCKETS
428
+ − 93
771
+ − 94 #ifdef DEBUG_XEMACS
+ − 95 #define USE_ASSERTIONS
+ − 96 #define MEMORY_USAGE_STATS
+ − 97 #endif /* DEBUG_XEMACS */
+ − 98
+ − 99 #define HAVE_DRAGNDROP
428
+ − 100
+ − 101 #define SIZEOF_SHORT 2
+ − 102 #define SIZEOF_INT 4
+ − 103 #define SIZEOF_LONG 4
442
+ − 104 #define SIZEOF_LONG_LONG 0
428
+ − 105 #define SIZEOF_VOID_P 4
+ − 106
771
+ − 107 typedef int mode_t;
+ − 108 typedef int pid_t;
+ − 109 typedef int uid_t;
+ − 110 typedef int gid_t;
+ − 111 typedef int pid_t;
+ − 112 typedef int ssize_t;
428
+ − 113
+ − 114 /* If your system uses COFF (Common Object File Format) then define the
+ − 115 preprocessor symbol "COFF". */
+ − 116
+ − 117 #define COFF
+ − 118
+ − 119 /* define MAIL_USE_FLOCK if the mailer uses flock
+ − 120 to interlock access to /usr/spool/mail/$USER.
+ − 121 The alternative is that a lock file named
+ − 122 /usr/spool/mail/$USER.lock. */
+ − 123
+ − 124 #define MAIL_USE_POP
438
+ − 125 #define HAVE_LOCKING
+ − 126 #define MAIL_USE_LOCKING
428
+ − 127
+ − 128 /* See unexnt.c */
827
+ − 129 #if (_MSC_VER >= 1100) && !defined(PDUMP)
428
+ − 130 #define DUMP_SEPARATE_SECTION
+ − 131 #endif
+ − 132 #ifdef DUMP_SEPARATE_SECTION
+ − 133 #pragma data_seg("xdata")
+ − 134 #pragma bss_seg("xdata")
+ − 135 #endif
+ − 136
827
+ − 137 #ifdef emacs
+ − 138 /* intl-auto-encap-win32.[ch] assumes _WIN32_WINNT>=0x0400
+ − 139 We don't want this set when building command-line helpers in lib-src */
771
+ − 140 # ifndef _WIN32_WINNT
+ − 141 # define _WIN32_WINNT 0x0400
+ − 142 # endif
428
+ − 143 #endif
442
+ − 144
+ − 145 /* The VC++ (5.0, at least) headers treat WINVER non-existent as 0x0400 */
+ − 146 #if defined (WINVER) && WINVER < 0x0400
+ − 147 # undef WINVER
+ − 148 # define WINVER 0x0400
+ − 149 #endif
+ − 150
872
+ − 151 /* Vararg routines, main(), and callback routines for library functions
+ − 152 (qsort(), signal(), etc.) need to be __cdecl if we use the fastcall
+ − 153 convention by default (a good idea, since it speeds things up). #### Why
+ − 154 do they have to complain about this? Why not just do the right thing
+ − 155 automatically?
+ − 156
+ − 157 Prefix with X because plain CDECL is already defined by the VC++ header
+ − 158 files. */
+ − 159 #define XCDECL __cdecl
+ − 160
1257
+ − 161 /* MSVC warnings no-no crap. When adding one to this section,
+ − 162 1. Think twice.
771
+ − 163 2. Insert textual description of the warning.
1257
+ − 164 3. Think again. Undo still works. */
771
+ − 165 #if (_MSC_VER >= 800)
+ − 166
+ − 167 /* unnamed type definition in parentheses
+ − 168 (Martin added a pedantically correct definition of ALIGNOF, which
+ − 169 generates temporary anonymous structures, and MSVC complains) */
+ − 170 #pragma warning ( disable : 4116 )
+ − 171
+ − 172 #endif /* compiler understands #pragma warning*/
+ − 173
2500
+ − 174 #if (_MSC_VER >= 1300)
+ − 175 /* function declared with __declspec(noreturn) has non-void return type;
+ − 176 Lisp primitives have to be declared with Lisp_Object return type or
+ − 177 lots of things get very messed up */
+ − 178 #pragma warning ( disable : 4646 )
+ − 179 #endif
+ − 180
771
+ − 181 /* MSVC version >= 2.x without /Za supports __inline */
+ − 182 #if (_MSC_VER < 900) || defined (__STDC__)
+ − 183 # define inline
+ − 184 #else
+ − 185 # define inline __inline
+ − 186 #endif