[project @ 2004-08-18 17:48:44 by krasimir]
[haskell-directory.git] / include / HsBase.h
index 3f0426c..1fed966 100644 (file)
@@ -9,7 +9,7 @@
 #ifndef __HSBASE_H__
 #define __HSBASE_H__
 
-#include "config.h"
+#include "ghcconfig.h"
 #include "HsFFI.h"
 
 #include <stdio.h>
 #include <io.h>
 #include <fcntl.h>
 #include "timeUtils.h"
+#include <shlobj.h>
 #endif
 
 /* in system.c */
@@ -407,6 +408,20 @@ __hscore_PrelHandle_read( HsInt fd, HsAddr ptr, HsInt off, int sz )
 }
 
 #if defined(mingw32_TARGET_OS) || defined(_MSC_VER)
+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);
+}
+#endif
+
+#if defined(mingw32_TARGET_OS) || defined(_MSC_VER)
 INLINE long *
 __hscore_Time_ghcTimezone( void ) { return &_timezone; }
 
@@ -695,5 +710,12 @@ INLINE int __hscore_fstat(int fd, struct stat *buf) {
        return (fstat(fd,buf));
 }
 
+#if defined(mingw32_TARGET_OS)
+INLINE int __hscore_CSIDL_PROFILE() { return CSIDL_PROFILE; }
+INLINE int __hscore_CSIDL_APPDATA() { return CSIDL_APPDATA; }
+INLINE int __hscore_CSIDL_WINDOWS() { return CSIDL_WINDOWS; }
+INLINE int __hscore_CSIDL_PERSONAL() { return CSIDL_PERSONAL; }
+#endif
+
 #endif /* __HSBASE_H__ */