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