X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=include%2FHsBase.h;h=7f2e63369142cc6df5855d2a1ca11aad06c2cb3e;hb=e96ffbdd524ee98473e486e52e79bb5912aac664;hp=1070aacf13371274ded494034871b458e9c14c26;hpb=d21286147cf436e3336aeb787c0e54ad0c16a84f;p=ghc-base.git diff --git a/include/HsBase.h b/include/HsBase.h index 1070aac..7f2e633 100644 --- a/include/HsBase.h +++ b/include/HsBase.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: HsBase.h,v 1.8 2002/07/04 12:57:39 simonmar Exp $ + * $Id: HsBase.h,v 1.16 2002/10/03 13:04:58 panne Exp $ * * (c) The University of Glasgow 2001-2002 * @@ -13,14 +13,9 @@ #include "config.h" #include "HsFFI.h" -// The following is required on Solaris to force the POSIX versions of -// the various _r functions instead of the Solaris versions. -#ifdef solaris_TARGET_OS -#define _POSIX_PTHREAD_SEMANTICS -#endif - #include #include +#include #ifdef HAVE_SYS_TYPES_H #include @@ -52,6 +47,9 @@ #ifdef HAVE_UTIME_H #include #endif +#ifdef HAVE_SYS_UTSNAME_H +#include +#endif #if defined(HAVE_GETTIMEOFDAY) # ifdef HAVE_SYS_TIME_H # include @@ -102,7 +100,6 @@ #endif #include "lockFile.h" #include "dirUtils.h" -#include "errUtils.h" #if defined(__MINGW32__) #include @@ -116,9 +113,15 @@ int *ghcErrno(void); /* in system.c */ HsInt systemCmd(HsAddr cmd); +/* in rawSystem.c */ +HsInt rawSystemCmd(HsAddr cmd); + /* in inputReady.c */ int inputReady(int fd, int msecs, int isSock); +/* in writeError.c */ +void writeErrString__(HsAddr msg_hdr, HsAddr msg, HsInt len); + /* ----------------------------------------------------------------------------- 64-bit operations, defined in longlong.c -------------------------------------------------------------------------- */ @@ -185,12 +188,6 @@ StgWord64 stg_integerToWord64 (StgInt sa, StgByteArray /* Really: mp_limb_t* */ #define INLINE extern inline #endif -#if !defined(mingw32_TARGET_OS) -INLINE int -__hscore_sigaddset( sigset_t * set, int s ) -{ return sigaddset(set,s); } -#endif - INLINE int __hscore_s_isreg(m) { return S_ISREG(m); } INLINE int __hscore_s_isdir(m) { return S_ISDIR(m); } INLINE int __hscore_s_isfifo(m) { return S_ISFIFO(m); } @@ -201,9 +198,25 @@ INLINE int __hscore_s_issock(m) { return S_ISSOCK(m); } #endif #ifndef mingw32_TARGET_OS -INLINE void +INLINE int __hscore_sigemptyset( sigset_t *set ) -{ sigemptyset(set); } +{ return sigemptyset(set); } + +INLINE int +__hscore_sigfillset( sigset_t *set ) +{ return sigfillset(set); } + +INLINE int +__hscore_sigaddset( sigset_t * set, int s ) +{ return sigaddset(set,s); } + +INLINE int +__hscore_sigdelset( sigset_t * set, int s ) +{ return sigdelset(set,s); } + +INLINE int +__hscore_sigismember( sigset_t * set, int s ) +{ return sigismember(set,s); } #endif INLINE void * @@ -587,5 +600,42 @@ __hscore_f_setfl( void ) #endif } +INLINE int __hscore_hs_fileno (FILE *f) { return fileno (f); } + +#ifndef mingw32_TARGET_OS +INLINE int __hsposix_SIGABRT() { return SIGABRT; } +INLINE int __hsposix_SIGALRM() { return SIGALRM; } +INLINE int __hsposix_SIGBUS() { return SIGBUS; } +INLINE int __hsposix_SIGCHLD() { return SIGCHLD; } +INLINE int __hsposix_SIGCONT() { return SIGCONT; } +INLINE int __hsposix_SIGFPE() { return SIGFPE; } +INLINE int __hsposix_SIGHUP() { return SIGHUP; } +INLINE int __hsposix_SIGILL() { return SIGILL; } +INLINE int __hsposix_SIGINT() { return SIGINT; } +INLINE int __hsposix_SIGKILL() { return SIGKILL; } +INLINE int __hsposix_SIGPIPE() { return SIGPIPE; } +INLINE int __hsposix_SIGQUIT() { return SIGQUIT; } +INLINE int __hsposix_SIGSEGV() { return SIGSEGV; } +INLINE int __hsposix_SIGSTOP() { return SIGSTOP; } +INLINE int __hsposix_SIGTERM() { return SIGTERM; } +INLINE int __hsposix_SIGTSTP() { return SIGTSTP; } +INLINE int __hsposix_SIGTTIN() { return SIGTTIN; } +INLINE int __hsposix_SIGTTOU() { return SIGTTOU; } +INLINE int __hsposix_SIGUSR1() { return SIGUSR1; } +INLINE int __hsposix_SIGUSR2() { return SIGUSR2; } +INLINE int __hsposix_SIGPOLL() { return SIGPOLL; } +INLINE int __hsposix_SIGPROF() { return SIGPROF; } +INLINE int __hsposix_SIGSYS() { return SIGSYS; } +INLINE int __hsposix_SIGTRAP() { return SIGTRAP; } +INLINE int __hsposix_SIGURG() { return SIGURG; } +INLINE int __hsposix_SIGVTALRM() { return SIGVTALRM; } +INLINE int __hsposix_SIGXCPU() { return SIGXCPU; } +INLINE int __hsposix_SIGXFSZ() { return SIGXFSZ; } + +INLINE int __hsposix_SIG_BLOCK() { return SIG_BLOCK; } +INLINE int __hsposix_SIG_UNBLOCK() { return SIG_SETMASK; } +INLINE int __hsposix_SIG_SETMASK() { return SIG_UNBLOCK; } +#endif // mingw32_TARGET_OS + #endif