[project @ 2003-09-21 22:20:57 by wolfgang]
[ghc-base.git] / include / HsBase.h
index 51f2e60..e091f14 100644 (file)
@@ -1,5 +1,5 @@
 /* -----------------------------------------------------------------------------
- * $Id: HsBase.h,v 1.23 2003/08/19 16:39:14 simonmar Exp $
+ * $Id: HsBase.h,v 1.27 2003/09/21 22:20:57 wolfgang Exp $
  *
  * (c) The University of Glasgow 2001-2002
  *
@@ -129,6 +129,12 @@ int inputReady(int fd, int msecs, int isSock);
 /* in writeError.c */
 void writeErrString__(HsAddr msg_hdr, HsAddr msg, HsInt len);
 
+/* in forkOS.c */
+int forkOS_createThread ( HsStablePtr entry );
+
+/* in Signals.c */
+extern HsInt nocldstop;
+
 /* -----------------------------------------------------------------------------
    64-bit operations, defined in longlong.c
    -------------------------------------------------------------------------- */
@@ -259,11 +265,7 @@ __hscore_seek_cur()
 INLINE HsInt
 __hscore_o_binary()
 {
-#ifdef HAVE_O_BINARY
-  return O_BINARY;
-#else
-  return 0;
-#endif
+  return CONST_O_BINARY;
 }
 
 INLINE int
@@ -431,7 +433,15 @@ __hscore_lstat( HsAddr fname, HsAddr st )
 #endif
 }
 
-INLINE HsInt __hscore_path_max() { return PATH_MAX; }
+#ifdef PATH_MAX
+/* A size that will contain many path names, but not necessarily all
+ * (PATH_MAX is not defined on systems with unlimited path length,
+ * e.g. the Hurd).
+ */
+INLINE HsInt __hscore_long_path_size() { return PATH_MAX; }
+#else
+INLINE HsInt __hscore_long_path_size() { return 4096; }
+#endif
 
 INLINE mode_t __hscore_R_OK() { return R_OK; }
 INLINE mode_t __hscore_W_OK() { return W_OK; }