2 * (c) The GRASP/AQUA Project, Glasgow University, 1994-
7 #include "PrelIOUtils.h"
13 #define offsetof(t, f) ((size_t) &((t *)0)->f)
21 HsBool prel_supportsTextMode()
23 #if defined(mingw32_TARGET_OS)
59 HsInt prel_setmode(HsInt fd, HsBool toBin)
62 return setmode(fd,(toBin == HS_BOOL_TRUE) ? _O_BINARY : _O_TEXT);
68 HsInt prel_PrelHandle_write(HsInt fd, HsBool isSock, HsAddr ptr, HsInt off, int sz)
72 return send(fd,ptr + off, sz, 0);
75 return write(fd,ptr + off, sz);
78 HsInt prel_PrelHandle_read(HsInt fd, HsBool isSock, HsAddr ptr, HsInt off, int sz)
82 return recv(fd,ptr + off, sz, 0);
85 return read(fd,ptr + off, sz);
89 void *prel_PrelIO_memcpy(char *dst, HsInt dst_off, const char *src, size_t sz)
91 return memcpy(dst+dst_off, src, sz);
95 int s_isreg_PrelPosix_wrap(int m) { return S_ISREG(m); }
96 int s_isdir_PrelPosix_wrap(int m) { return S_ISDIR(m); }
97 int s_isfifo_PrelPosix_wrap(int m) { return S_ISFIFO(m); }
98 int s_isblk_PrelPosix_wrap(int m) { return S_ISBLK(m); }
99 int s_ischr_PrelPosix_wrap(int m) { return S_ISCHR(m); }
100 #ifndef mingw32_TARGET_OS
101 int s_issock_PrelPosix_wrap(int m) { return S_ISSOCK(m); }
102 void sigemptyset_PrelPosix_wrap(sigset_t *set) { sigemptyset(set); }