[project @ 2004-06-02 16:00:02 by simonmar]
[haskell-directory.git] / include / HsBase.h
index b131841..d3fc3a2 100644 (file)
@@ -406,6 +406,18 @@ __hscore_PrelHandle_read( HsInt fd, HsAddr ptr, HsInt off, int sz )
 
 }
 
+INLINE HsInt
+__hscore_PrelHandle_send( HsInt fd, HsAddr ptr, HsInt off, int sz )
+{
+    return send(fd,(char *)ptr + off, sz, 0);
+}
+
+INLINE HsInt
+__hscore_PrelHandle_recv( HsInt fd, HsAddr ptr, HsInt off, int sz )
+{
+    return recv(fd,(char *)ptr + off, sz, 0);
+}
+
 #if defined(mingw32_TARGET_OS) || defined(_MSC_VER)
 INLINE long *
 __hscore_Time_ghcTimezone( void ) { return &_timezone; }
@@ -675,7 +687,7 @@ INLINE int __hsposix_SIG_UNBLOCK() { return SIG_UNBLOCK; }
 INLINE int __hsposix_SIG_SETMASK() { return SIG_SETMASK; }
 #endif /* mingw32_TARGET_OS */
 
-// These three are wrapped because on some OSs (eg. Linux) they are
+// These are wrapped because on some OSs (eg. Linux) they are
 // macros which redirect to the 64-bit-off_t versions when large file
 // support is enabled.
 //
@@ -687,6 +699,10 @@ INLINE off_t __hscore_lseek(int fd, off_t off, int whence) {
        return (lseek(fd,off,whence));
 }
 
+INLINE int __hscore_stat(char *file, struct stat *buf) {
+       return (stat(file,buf));
+}
+
 INLINE int __hscore_fstat(int fd, struct stat *buf) {
        return (fstat(fd,buf));
 }