[project @ 2000-03-16 17:27:12 by simonmar]
[ghc-hetmet.git] / ghc / interpreter / prelude.h
index 8886a3a..50264c1 100644 (file)
@@ -3,15 +3,20 @@
  * Basic data type definitions, prototypes and standard macros including
  * machine dependent variations...
  *
- * Copyright (c) The University of Nottingham and Yale University, 1994-1997.
- * All rights reserved. See NOTICE for details and conditions of use etc...
- * Hugs version 1.4, December 1997
+ * The Hugs 98 system is Copyright (c) Mark P Jones, Alastair Reid, the
+ * Yale Haskell Group, and the Oregon Graduate Institute of Science and
+ * Technology, 1994-1999, All rights reserved.  It is distributed as
+ * free software under the license in the file "License", which is
+ * included in the distribution.
  *
  * $RCSfile: prelude.h,v $
- * $Revision: 1.3 $
- * $Date: 1999/02/03 17:08:36 $
+ * $Revision: 1.10 $
+ * $Date: 2000/03/13 14:10:24 $
  * ------------------------------------------------------------------------*/
 
+#define NON_POSIX_SOURCE
+/* AJG: machdep.h needs this, for S_IREAD and S_IFREG in cygwin? */
+
 #include "config.h"
 #include "options.h"
 #include <stdio.h>
@@ -107,12 +112,6 @@ extern HWND             hWndMain;       /* main window handle              */
  *  dynamic linking declarations
  *-------------------------------------------------------------------------*/
 
-#if HAVE_PROTOTYPES       /* To enable use of prototypes whenever possible */
-#define Args(x) x
-#else
-#define Args(x) ()
-#endif
-
 /* local = prefix for locally defined functions */
 /* far   = prefix for far pointers              */
 #if DOS
@@ -199,14 +198,14 @@ extern  int     stricmp    Args((const char *, const char*));
  *-------------------------------------------------------------------------*/
 
 #if !DOS && VOID_INT_SIGNALS
-# define sigProto(nm)   void nm Args((int))
+# define sigProto(nm)   void nm ( int )
 # define sigRaise(nm)   nm(1)
-# define sigHandler(nm) void nm(sig_arg) int sig_arg;
+# define sigHandler(nm) void nm ( sig_arg ) int sig_arg;
 # define sigResume      return
 #else
-# define sigProto(nm)   int nm Args((Void))
+# define sigProto(nm)   int nm ( Void )
 # define sigRaise(nm)   nm()
-# define sigHandler(nm) int nm(Void)
+# define sigHandler(nm) int nm ( Void )
 # define sigResume      return 1
 #endif
 
@@ -246,12 +245,12 @@ typedef void*           HpPtr;
 /* ToDo: this should probably go in dynamic.h - but then
  * storage.h has to include dynamic.h!
  */
-#if HAVE_DLFCN_H /* eg LINUX, SOLARIS, ULTRIX */
+#if HAVE_WINDOWS_H && !defined(__MSDOS__)
+typedef HINSTANCE ObjectFile;
+#elif HAVE_DLFCN_H /* eg LINUX, SOLARIS, ULTRIX */
 typedef void* ObjectFile; 
 #elif HAVE_DL_H /* eg HPUX */
 typedef shl_t ObjectFile;
-#elif HAVE_WINDOWS_H && !defined(__MSDOS__)
-typedef HINSTANCE ObjectFile;
 #else
 #warning GHC file loading not available on this machine
 #endif
@@ -285,11 +284,11 @@ typedef HINSTANCE ObjectFile;
 #endif
 
 #if !defined(HAVE_SNPRINTF)
-extern int snprintf   Args((char*, int, const char*, ...));
+extern int snprintf   ( char*, int, const char*, ... );
 #endif
 
 #if !defined(HAVE_VSNPRINTF)
-extern int vsnprintf  Args((char*, int, const char*, va_list));
+extern int vsnprintf  ( char*, int, const char*, va_list );
 #endif
 
 /*---------------------------------------------------------------------------
@@ -300,15 +299,15 @@ extern int vsnprintf  Args((char*, int, const char*, va_list));
 
 #if REDIRECT_OUTPUT
 
-extern Void   hugsPrintf            Args((const char *, ...));
-extern Void   hugsPutchar           Args((int));
-extern Void   hugsFlushStdout       Args((Void));
-extern Void   hugsEnableOutput      Args((Bool));
-extern String hugsClearOutputBuffer Args((Void));
+extern Void   hugsPrintf            ( const char *, ... );
+extern Void   hugsPutchar           ( int );
+extern Void   hugsFlushStdout       ( Void );
+extern Void   hugsEnableOutput      ( Bool );
+extern String hugsClearOutputBuffer ( Void );
                             
-extern Void   hugsFFlush            Args((FILE*));
-extern Void   hugsFPrintf           Args((FILE*, const char*, ...));
-extern Void   hugsPutc              Args((int, FILE*));
+extern Void   hugsFFlush            ( FILE* );
+extern Void   hugsFPrintf           ( FILE*, const char*, ... );
+extern Void   hugsPutc              ( int, FILE* );
 
 #define Printf               hugsPrintf
 #define Putchar              hugsPutchar