X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FRtsUtils.h;fp=rts%2FRtsUtils.h;h=96a5f0d82f9b11077f165db43fceee06891d20a3;hb=0065d5ab628975892cea1ec7303f968c3338cbe1;hp=0000000000000000000000000000000000000000;hpb=28a464a75e14cece5db40f2765a29348273ff2d2;p=ghc-hetmet.git diff --git a/rts/RtsUtils.h b/rts/RtsUtils.h new file mode 100644 index 0000000..96a5f0d --- /dev/null +++ b/rts/RtsUtils.h @@ -0,0 +1,54 @@ +/* ----------------------------------------------------------------------------- + * + * (c) The GHC Team, 1998-2005 + * + * General utility functions used in the RTS. + * + * ---------------------------------------------------------------------------*/ + +#ifndef RTSUTILS_H +#define RTSUTILS_H + +/* ----------------------------------------------------------------------------- + * (Checked) dynamic allocation + * -------------------------------------------------------------------------- */ + +extern void *stgMallocBytes(int n, char *msg) + GNUC3_ATTRIBUTE(__malloc__); + +extern void* stgMallocBytesRWX(int len) + GNUC3_ATTRIBUTE(__malloc__); + +extern void *stgReallocBytes(void *p, int n, char *msg); + +extern void *stgCallocBytes(int n, int m, char *msg) + GNUC3_ATTRIBUTE(__malloc__); + +extern void stgFree(void* p); + +/* ----------------------------------------------------------------------------- + * Misc other utilities + * -------------------------------------------------------------------------- */ + +extern void heapOverflow(void); + +extern void setNonBlockingFd(int fd); +extern void resetNonBlockingFd(int fd); + +extern nat stg_strlen(char *str); + +extern char *time_str(void); +extern char *ullong_format_string(ullong, char *, rtsBool); + +#ifdef PAR +extern ullong msTime(void); +#endif + +#ifdef DEBUG +extern void heapCheckFail( void ); +#endif + +extern void* __hscore_get_saved_termios(int fd); +extern void __hscore_set_saved_termios(int fd, void* ts); + +#endif /* RTSUTILS_H */