/* System description file for Windows NT.
- Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc.
+ Copyright (C) 1993, 1994, 1995, 2002, 2003, 2004,
+ 2005 Free Software Foundation, Inc.
This file is part of GNU Emacs.
You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA. */
/*
* Define symbols to identify the version of Unix this is.
is not ':', #define this to be the appropriate character constant. */
#define SEPCHAR ';'
+#define ORDINARY_LINK 1
+
/* ============================================================ */
/* Here, add any special hacks needed
/* The null device on Windows NT. */
#define NULL_DEVICE "NUL:"
-#define EXEC_SUFFIXES ".exe:.com:.bat:.cmd:"
#ifndef MAXPATHLEN
#define MAXPATHLEN _MAX_PATH
#endif
+#define HAVE_SOUND 1
#define LISP_FLOAT_TYPE 1
#undef HAVE_SYS_SELECT_H
#undef HAVE_TERMIOS_H
#define HAVE_LIMITS_H 1
#define HAVE_STRING_H 1
+#define HAVE_PWD_H 1
#define STDC_HEADERS 1
#define TIME_WITH_SYS_TIME 1
#define HAVE_DUP2 1
#define HAVE_RENAME 1
#define HAVE_CLOSEDIR 1
+#define HAVE_FSYNC 1 /* fsync is called _commit in MSVC. */
#undef TM_IN_SYS_TIME
#undef HAVE_TM_ZONE
#undef HAVE_RES_INIT /* For -lresolv on Suns. */
#undef HAVE_SETSID
#undef HAVE_FPATHCONF
-#undef HAVE_SELECT
+#define HAVE_SELECT 1
#define HAVE_MKTIME 1
#undef HAVE_EUIDACCESS
#define HAVE_GETPAGESIZE 1
#ifdef emacs
-/* IO calls that are emulated or shadowed */
+/* calls that are emulated or shadowed */
#undef access
#define access sys_access
#undef chdir
#define chdir sys_chdir
#undef chmod
#define chmod sys_chmod
+#define chown sys_chown
#undef close
#define close sys_close
#undef creat
#define rmdir sys_rmdir
#define select sys_select
#define sleep sys_sleep
+#define strerror sys_strerror
#undef unlink
#define unlink sys_unlink
#undef write
#define fcloseall _fcloseall
#define fdopen _fdopen
#define fgetchar _fgetchar
+#ifndef fileno
#define fileno _fileno
+#endif
#define flushall _flushall
#define fputchar _fputchar
+#define fsync _commit
+#define ftruncate _chsize
#define getw _getw
#define getpid _getpid
#define isatty _isatty
#define utimbuf _utimbuf
#define index strchr
#define rindex strrchr
+#define strdup _strdup
+#define strupr _strupr
+#define strnicmp _strnicmp
+#define stricmp _stricmp
+#define tzset _tzset
+#define tzname _tzname
#ifdef HAVE_NTGUI
#define abort w32_abort
#define SIGALRM 14 /* Alarm */
#define SIGCHLD 18 /* Death of child */
+#ifndef NSIG
+#define NSIG 23
+#endif
+
/* For integration with MSDOS support. */
#define getdisk() (_getdrive () - 1)
#ifdef emacs
#define getdefdir(_drv, _buf) _getdcwd (_drv, _buf, MAXPATHLEN)
#endif
+extern char *get_emacs_configuration (void);
+extern char *get_emacs_configuration_options (void);
#define EMACS_CONFIGURATION get_emacs_configuration ()
-#define EMACS_CONFIG_OPTIONS "NT" /* Not very meaningful yet. */
+#define EMACS_CONFIG_OPTIONS get_emacs_configuration_options ()
/* Define this so that winsock.h definitions don't get included with
windows.h. For this to have proper effect, config.h must always be
included before windows.h. */
#define _WINSOCKAPI_ 1
+#define _WINSOCK_H
/* Defines size_t and alloca (). */
+#ifdef USE_CRT_DLL
+#define malloc e_malloc
+#define free e_free
+#define realloc e_realloc
+#define calloc e_calloc
+#endif
#include <malloc.h>
#include <sys/stat.h>
-/* Define for those source files that do not include enough NT
+/* Define for those source files that do not include enough NT
system files. */
#ifndef NULL
#ifdef __cplusplus
/* For proper declaration of environ. */
#include <stdlib.h>
-#include <string.h>
-
-/* Emacs takes care of ensuring that these are defined. */
-#ifdef max
-#undef max
-#undef min
+#ifndef sys_nerr
+#define sys_nerr _sys_nerr
#endif
+#include <string.h>
/* We need a little extra space, see ../../lisp/loadup.el */
#define SYSTEM_PURESIZE_EXTRA 137500
must include config.h to pick up this pragma. */
/* Names must be < 8 bytes */
+#ifdef _MSC_VER
#pragma data_seg("EMDATA")
#pragma bss_seg("EMBSS")
+#endif
/* #define FULL_DEBUG */
/* #define EMACSDEBUG */
/* ============================================================ */
+
+/* arch-tag: 5d4a3a1c-40dc-4dea-9c7c-38fed9ae0eae
+ (do not change this comment) */