cpp: Use #pragma once instead of #ifndef guards
[ghc.git] / rts / win32 / IOManager.h
index 866e950..a5bd61a 100644 (file)
@@ -5,15 +5,14 @@
  * (c) sof, 2002-2003
  */
 
  * (c) sof, 2002-2003
  */
 
-#ifndef WIN32_IOMANAGER_H
-#define WIN32_IOMANAGER_H
+#pragma once
 
 #include <windows.h>
 
 /*
  The IOManager subsystem provides a non-blocking view
  of I/O operations. It lets one (or more) OS thread(s)
 
 #include <windows.h>
 
 /*
  The IOManager subsystem provides a non-blocking view
  of I/O operations. It lets one (or more) OS thread(s)
- issue multiple I/O requests, which the IOManager then 
+ issue multiple I/O requests, which the IOManager then
  handles independently of/concurrent to the thread(s)
  that issued the request. Upon completion, the issuing
  thread can inspect the result of the I/O operation &
  handles independently of/concurrent to the thread(s)
  that issued the request. Upon completion, the issuing
  thread can inspect the result of the I/O operation &
  *
  */
 typedef void (*CompletionProc)(unsigned int requestID,
  *
  */
 typedef void (*CompletionProc)(unsigned int requestID,
-                              int   fd,
-                              int   len,
-                              void* buf,
-                              int   errCode);
+                               int   fd,
+                               HsInt len,
+                               void* buf,
+                               HsInt errCode);
 
 
-/* 
+/*
  * Asynchronous procedure calls executed by a worker thread
  * Asynchronous procedure calls executed by a worker thread
- * take a generic state argument pointer and return an int by 
- * default. 
+ * take a generic state argument pointer and return an int by
+ * default.
  */
 typedef int (*DoProcProc)(void *param);
 
 typedef union workData {
     struct {
  */
 typedef int (*DoProcProc)(void *param);
 
 typedef union workData {
     struct {
-       int   fd;
-       int   len;
-       char *buf; 
+        int   fd;
+        HsInt len;
+        char *buf;
     } ioData;
     } ioData;
-    struct { 
-       int   usecs;
+    struct {
+        HsInt usecs;
     } delayData;
     } delayData;
-    struct { 
-       DoProcProc proc;
-       void* param;
+    struct {
+        DoProcProc proc;
+        void* param;
     } procData;
 } WorkData;
 
     } procData;
 } WorkData;
 
@@ -78,30 +77,28 @@ extern CompletionProc onComplete;
 #define WORKER_DO_PROC    16
 
 /*
 #define WORKER_DO_PROC    16
 
 /*
- * Starting up and shutting down. 
- */ 
-extern BOOL StartIOManager     ( void );
-extern void ShutdownIOManager  ( rtsBool wait_threads );
+ * Starting up and shutting down.
+ */
+extern bool StartIOManager     ( void );
+extern void ShutdownIOManager  ( bool wait_threads );
 
 /*
  * Adding I/O and delay requests. With each request a
  * completion routine is supplied, which the worker thread
  * will invoke upon completion.
  */
 
 /*
  * Adding I/O and delay requests. With each request a
  * completion routine is supplied, which the worker thread
  * will invoke upon completion.
  */
-extern int AddDelayRequest ( unsigned int   usecs,
-                            CompletionProc onCompletion);
+extern int AddDelayRequest ( HsInt          usecs,
+                             CompletionProc onCompletion);
 
 extern int AddIORequest ( int            fd,
 
 extern int AddIORequest ( int            fd,
-                         BOOL           forWriting,
-                         BOOL           isSocket,
-                         int            len,
-                         char*          buffer,
-                         CompletionProc onCompletion);
+                          bool           forWriting,
+                          bool           isSocket,
+                          HsInt          len,
+                          char*          buffer,
+                          CompletionProc onCompletion);
 
 extern int AddProcRequest ( void*          proc,
 
 extern int AddProcRequest ( void*          proc,
-                           void*          data,
-                           CompletionProc onCompletion);
+                            void*          data,
+                            CompletionProc onCompletion);
 
 extern void abandonWorkRequest ( int reqID );
 
 extern void abandonWorkRequest ( int reqID );
-
-#endif /* WIN32_IOMANAGER_H */