/* System description file for Windows NT.
-Copyright (C) 1993, 1994, 1995, 2001, 2002, 2003, 2004, 2005, 2006,
- 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
+Copyright (C) 1993-1995, 2001-2011 Free Software Foundation, Inc.
This file is part of GNU Emacs.
#define IS_ANY_SEP(_c_) (IS_DIRECTORY_SEP (_c_) || IS_DEVICE_SEP (_c_))
#include <sys/types.h>
+
+#ifdef _MSC_VER
+typedef unsigned long sigset_t;
+typedef int ssize_t;
+#endif
+
struct sigaction {
int sa_flags;
void (*sa_handler)(int);
#undef HAVE_UTIME_H
#undef HAVE_LINUX_VERSION_H
#undef HAVE_SYS_SYSTEMINFO_H
-#define HAVE_LIMITS_H 1
-#define HAVE_STRING_H 1
-#define HAVE_STDLIB_H 1
#define HAVE_PWD_H 1
-#define STDC_HEADERS 1
#define TIME_WITH_SYS_TIME 1
#define HAVE_GETTIMEOFDAY 1
#undef HAVE_SETSID
#undef HAVE_FPATHCONF
#define HAVE_SELECT 1
-#define HAVE_MKTIME 1
#undef HAVE_EUIDACCESS
#define HAVE_GETPAGESIZE 1
#define HAVE_TZSET 1
#undef HAVE_SETPGID
#undef HAVE_GETCWD
#define HAVE_SHUTDOWN 1
-#define HAVE_STRFTIME 1
#define LOCALTIME_CACHE
#define HAVE_INET_SOCKETS 1
#define HAVE_MENUS 1
#endif
-#define MODE_LINE_BINARY_TEXT(_b_) (NILP ((_b_)->buffer_file_type) ? "T" : "B")
-
/* Get some redefinitions in place. */
#ifdef emacs
+#ifdef _MSC_VER
+#include <sys/timeb.h>
+#include <sys/stat.h>
+#include <signal.h>
+#endif
+
/* Calls that are emulated or shadowed. */
#undef access
#define access sys_access
#define dup2 sys_dup2
#define fopen sys_fopen
#define link sys_link
+#define localtime sys_localtime
#define mkdir sys_mkdir
#undef mktemp
#define mktemp sys_mktemp
#define utime _utime
#endif
+#ifdef _MSC_VER
+/* MSVC gets link-time errors without these redirections. */
+#define fstat(a, b) sys_fstat(a, b)
+#define stat(a, b) sys_stat(a, b)
+#if _MSC_VER >= 1400
+#define utime sys_utime
+#endif
+#endif
+
/* This is hacky, but is necessary to avoid warnings about macro
redefinitions using the SDK compilers. */
#ifndef __STDC__
#define _WINSOCK_H
/* Defines size_t and alloca (). */
-#ifdef USE_CRT_DLL
+#if (defined(_MSC_VER) && defined(emacs)) || defined(USE_CRT_DLL)
#define malloc e_malloc
#define free e_free
#define realloc e_realloc
#define calloc e_calloc
#endif
+#ifdef _MSC_VER
+#define alloca _alloca
+#else
#include <malloc.h>
+#endif
#include <sys/stat.h>
#endif
#include <string.h>
+extern int getloadavg (double *, int);
+
/* We need a little extra space, see ../../lisp/loadup.el. */
#define SYSTEM_PURESIZE_EXTRA 50000
/* ============================================================ */
-