/* based on cygwin32.h by Andy Piper <andy@xemacs.org> */
-/* Identify ourselves */
-#ifndef WIN32_NATIVE
-#define WIN32_NATIVE
+#ifndef WINDOWSNT
+#define WINDOWSNT
#endif
-#define MINGW
+#ifndef DOS_NT
+#define DOS_NT /* MSDOS or WINDOWSNT */
+#endif
+
+#define PBS_SMOOTH 0x01
+
+#ifdef HAVE_MS_WINDOWS
+#define HAVE_NTGUI
+#define HAVE_FACES
+#endif
#ifndef ORDINARY_LINK
#define ORDINARY_LINK
#endif
-#define C_SWITCH_SYSTEM "-mno-cygwin -Wno-sign-compare -fno-caller-saves -DWIN32_NATIVE"
-#define LIBS_SYSTEM "-mno-cygwin -mwindows -lwinmm -lwsock32"
-#define WIN32_LEAN_AND_MEAN
+#define C_SWITCH_SYSTEM "-mno-cygwin -Wno-sign-compare -fno-caller-saves -Int/inc -I../nt/inc -DWINDOWSNT"
+#define LIBS_SYSTEM "-mno-cygwin -lwinmm -lwsock32"
#define TEXT_START -1
#define TEXT_END -1
#define TIME_ONESHOT 0
#define TIME_PERIODIC 1
#define LOCALE_USE_CP_ACP 0x40000000
+#define SHGFI_EXETYPE 0x2000
#define NSIG 23
-/* this is necessary to get the TCS_* definitions in <commctrl.h> */
-#define _WIN32_IE 0x0400
-
/* translate NT world unexec stuff to our a.out definitions */
#define strnicmp strncasecmp
#define HAVE_SOCKETS
/* #endif */
#define OBJECTS_SYSTEM ntplay.o nt.o ntheap.o ntproc.o dired-msw.o
+#define HAVE_NATIVE_SOUND
#undef MAIL_USE_SYSTEM_LOCK
+#define MAIL_USE_POP
#define HAVE_MSW_C_DIRED
+/* Define NO_ARG_ARRAY if you cannot take the address of the first of a
+ * group of arguments and treat it as an array of the arguments. */
+
+#define NO_ARG_ARRAY
+
+/* Define WORD_MACHINE if addresses and such have
+ * to be corrected before they can be used as byte counts. */
+
+#define WORD_MACHINE
+
+/* Define EXPLICIT_SIGN_EXTEND if XINT must explicitly sign-extend
+ the 24-bit bit field into an int. In other words, if bit fields
+ are always unsigned.
+
+ If you use NO_UNION_TYPE, this flag does not matter. */
+
+#define EXPLICIT_SIGN_EXTEND
/* System calls that are encapsulated */
#define ENCAPSULATE_RENAME
#define ENCAPSULATE_OPEN
#define ENCAPSULATE_FOPEN
#define ENCAPSULATE_MKDIR
-#define ENCAPSULATE_STAT
-#define ENCAPSULATE_FSTAT
-/* Do not define LOAD_AVE_TYPE or LOAD_AVE_CVT
- since there is no load average available. */
+/* Data type of load average, as read out of kmem. */
+
+#define LOAD_AVE_TYPE long
+
+/* Convert that into an integer that is 100 for a load average of 1.0 */
+
+#define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
/* Define VIRT_ADDR_VARIES if the virtual addresses of
pure and impure space as loaded can vary, and even their
/* Text does precede data space, but this is never a safe assumption. */
#define VIRT_ADDR_VARIES
+/* set this if you have a new version of cygwin
+#define DATA_SEG_BITS 0x10000000
+*/
+
/* If you are compiling with a non-C calling convention but need to
declare vararg routines differently, put it here */
#define _VARARGS_ __cdecl
/* Define this to be the separator between devices and paths */
#define DEVICE_SEP ':'
-#define DIRECTORY_SEP ((char)XCHAR(Vdirectory_sep_char))
+#define DIRECTORY_SEP '\\'
/* The null device on Windows NT. */
#define NULL_DEVICE "NUL:"
#include <cygwin/version.h>
#endif
+typedef unsigned int MMRESULT;
+typedef struct timecaps_tag {
+ unsigned int wPeriodMin;
+ unsigned int wPeriodMax;
+} TIMECAPS;
+
/* IO calls that are emulated or shadowed */
#define pipe sys_pipe
int sys_pipe (int * phandles);
/* subprocess calls that are emulated */
#define spawnve sys_spawnve
-int spawnve (int mode, const char *cmdname,
- const char * const *argv, const char *const *envp);
+int spawnve (int mode, CONST char *cmdname,
+ CONST char * CONST *argv, CONST char *CONST *envp);
#define wait sys_wait
int wait (int *status);
/* Encapsulation of system calls */
#ifndef DONT_ENCAPSULATE
#define getpid sys_getpid
-pid_t getpid (void);
+int getpid (void);
#endif
#define DONT_USE_LITOUT
void *sbrk (unsigned long increment);
struct passwd;
-struct passwd *getpwuid (uid_t uid);
+struct passwd *getpwuid (int uid);
struct passwd *getpwnam (const char *name);
-uid_t getuid (void);
-uid_t geteuid (void);
-gid_t getgid (void);
-gid_t getegid (void);
-
-#if CYGWIN_VERSION_DLL_MAJOR <= 21
-#define _ftime ftime
+int getuid ();
+int geteuid ();
+int getgid (void);
+int getegid ();
#define _timeb timeb
-#endif
/* Stuff that gets set wrongly or otherwise */
#define HAVE_SETITIMER
#define HAVE_GETTIMEOFDAY
#define HAVE_SELECT
-/* systime.h includes winsock.h which defines timeval */
-#define HAVE_TIMEVAL
-#define HAVE_GETPAGESIZE
-#define getpagesize() 4096
/*#define HAVE_STRUCT_UTIMBUF*/
-#ifndef HAVE_H_ERRNO
-#define HAVE_H_ERRNO
-#endif
-#ifndef HAVE_TZNAME
-#define HAVE_TZNAME
-#endif
#undef GETTIMEOFDAY_ONE_ARGUMENT
#undef HAVE_SYS_WAIT_H
#undef HAVE_TERMIOS
#undef SYSV_SYSTEM_DIR
-#undef CLASH_DETECTION
/* We now have emulation for some signals */
#define HAVE_SIGHOLD
-#define sigset(s,h) mswindows_sigset(s,h)
-#define sighold(s) mswindows_sighold(s)
-#define sigrelse(s) mswindows_sigrelse(s)
-#define sigpause(s) mswindows_sigpause(s)
+#define sigset(s,h) msw_sigset(s,h)
+#define sighold(s) msw_sighold(s)
+#define sigrelse(s) msw_sigrelse(s)
+#define sigpause(s) msw_sigpause(s)
#define signal sigset
/* Defines that we need that aren't in the standard signal.h */
#ifndef MAXPATHLEN
#define MAXPATHLEN _MAX_PATH
#endif
-#endif /* !NOT_C_CODE */
+
+/* For integration with MSDOS support. */
+#define getdisk() (_getdrive () - 1)
+#define getdefdir(_drv, _buf) _getdcwd (_drv, _buf, MAXPATHLEN)
+#endif
/* Define for those source files that do not include enough NT
system files. */
/* Define process implementation */
#define HAVE_WIN32_PROCESSES
-#define CORRECT_DIR_SEPS(s) \
- do { if ('/' == DIRECTORY_SEP) dostounix_filename (s); \
- else unixtodos_filename (s); \
- } while (0)
+/* ============================================================ */
+