# HG changeset patch # User Karl Heuer # Date 797653946 0 # Node ID 5c486ab3c695d4413b66813d115f9404f0fac8ef # Parent 4a8836398f3ebe5ee4d1a7d28324d3dad8fd12ae (HAVE_RANDOM): Defined. (random): Macro undefined. (srandom): Macro undefined. (HAVE_UTIME): Defined. (utime): Defined. (EMACS_CONFIGURATION): Defined. (_VARARGS_): Defined. (_CALLBACK_): Defined. (ctime): Defined to be nt_ctime. (NULL): Defined when missing from included system files. (EMACS_CONFIG_OPTIONS): Defined. (LISP_FLOAT_TYPE): Defined. (HAVE_TZNAME): Defined. (HAVE_TIMEVAL): Defined. (struct timeval): Defined. (struct timezone): Defined. (struct nt_stat): Defined. diff -r 4a8836398f3e -r 5c486ab3c695 src/s/ms-w32.h --- a/src/s/ms-w32.h Wed Apr 12 02:29:47 1995 +0000 +++ b/src/s/ms-w32.h Wed Apr 12 02:32:26 1995 +0000 @@ -1,5 +1,5 @@ /* System description file for Windows NT. - Copyright (C) 1993, 1994 Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -39,6 +39,15 @@ #define DOS_NT /* MSDOS or WINDOWSNT */ #endif +/* If you are compiling with a non-C calling convention but need to + declare vararg routines differently, put it here */ +#define _VARARGS_ __cdecl + +/* If you are providing a function to something that will call the + function back (like a signal handler and signal, or main) its calling + convention must be whatever standard the libraries expect */ +#define _CALLBACK_ __cdecl + /* SYSTEM_TYPE should indicate the kind of system you are using. It sets the Lisp variable system-type. */ @@ -103,7 +112,20 @@ * Look in for a timeval structure. */ -/* #define HAVE_TIMEVAL */ +#define HAVE_TIMEVAL +struct timeval + { + long tv_sec; /* seconds */ + long tv_usec; /* microseconds */ + }; +struct timezone + { + int tz_minuteswest; /* minutes west of Greenwich */ + int tz_dsttime; /* type of dst correction */ + }; + +void gettimeofday (struct timeval *, struct timezone *); + /* * Define HAVE_SELECT if the system supports the `select' system call. @@ -197,12 +219,17 @@ #define MAXPATHLEN _MAX_PATH #endif -#define HAVE_DUP2 1 -#define HAVE_RENAME 1 -#define HAVE_RMDIR 1 -#define HAVE_MKDIR 1 +#define LISP_FLOAT_TYPE + +#define HAVE_DUP2 1 +#define HAVE_RENAME 1 +#define HAVE_RMDIR 1 +#define HAVE_MKDIR 1 #define HAVE_GETHOSTNAME 1 -#define HAVE_MOUSE 1 +#define HAVE_RANDOM 1 +#define USE_UTIME 1 +#define HAVE_MOUSE 1 +#define HAVE_TZNAME 1 #define MODE_LINE_BINARY_TEXT(_b_) (NILP ((_b_)->buffer_file_type) ? "T" : "B") @@ -227,19 +254,19 @@ #define mktemp _mktemp #define open _open #define pipe _pipe -#define random rand #define read _read #define rmdir _rmdir #define sleep nt_sleep -#define srandom srand #define unlink _unlink #define umask _umask +#define utime _utime #define write _write #define _longjmp longjmp #define spawnve win32_spawnve #define wait win32_wait #define signal win32_signal #define rindex strrchr +#define ctime nt_ctime /* Place a wrapper around ctime (see nt.c). */ /* Defines that we need that aren't in the standard signal.h */ #define SIGHUP 1 /* Hang up */ @@ -254,6 +281,9 @@ #define getdisk() (_getdrive () - 1) #define getdefdir(_drv, _buf) _getdcwd (_drv, _buf, MAXPATHLEN) +#define EMACS_CONFIGURATION get_emacs_configuration () +#define EMACS_CONFIG_OPTIONS "NT" /* Not very meaningful yet. */ + /* Define this so that winsock.h definitions don't get included when windows.h is... I don't know if they do the right thing for emacs. For this to have proper effect, config.h must always be included before windows.h. */ @@ -262,8 +292,40 @@ /* Defines size_t and alloca (). */ #include -/* ============================================================ */ +/* We have to handle stat specially. However, #defining stat to + something else not only redefines uses of the function, but also + redefines uses of the type struct stat. What unfortunate parallel + naming. */ +#include +struct nt_stat + { + struct _stat statbuf; + }; -/* Give us extra pure storage. */ +#ifdef stat +#undef stat +#endif +#define stat nt_stat +#define st_dev statbuf.st_dev +#define st_ino statbuf.st_ino +#define st_mode statbuf.st_mode +#define st_nlink statbuf.st_nlink +#define st_uid statbuf.st_uid +#define st_gid statbuf.st_gid +#define st_rdev statbuf.st_rdev +#define st_size statbuf.st_size +#define st_atime statbuf.st_atime +#define st_mtime statbuf.st_mtime +#define st_ctime statbuf.st_ctime -#define SYSTEM_PURESIZE_EXTRA 52000 +/* Define for those source files that do not include enough NT + system files. */ +#ifndef NULL +#ifdef __cplusplus +#define NULL 0 +#else +#define NULL ((void *)0) +#endif +#endif + +/* ============================================================ */