2004-11-04 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / mono / io-layer / io-private.h
index cc680831a5741a61b2566004c775534a3ca4afbb..0fd2b4a7d4bec586e697c34a555b0913571306b9 100644 (file)
 
 #include <config.h>
 #include <glib.h>
-#include <glob.h>
+#include <dirent.h>
+#include <mono/io-layer/io.h>
 
 extern struct _WapiHandleOps _wapi_file_ops;
 extern struct _WapiHandleOps _wapi_console_ops;
 extern struct _WapiHandleOps _wapi_find_ops;
+extern struct _WapiHandleOps _wapi_pipe_ops;
 
-/* Currently used for both FILE and CONSOLE handle types.  This may
+/* Currently used for both FILE, CONSOLE and PIPE handle types.  This may
  * have to change in future.
  */
 struct _WapiHandle_file
@@ -28,23 +30,35 @@ struct _WapiHandle_file
        guint32 fileaccess;
        guint32 sharemode;
        guint32 attrs;
+       dev_t device;
+       ino_t inode;
 };
 
 struct _WapiHandlePrivate_file
 {
-       int fd;
+       WapiFDMapped fd_mapped;
+       gboolean async;
+       WapiOverlappedCB callback;
 };
 
 struct _WapiHandle_find
 {
-       glob_t glob;
-       size_t count;
+       int dummy;
 };
 
 struct _WapiHandlePrivate_find
 {
-       int dummy;
+       gchar **namelist;
+       gchar *dir_part;
+       int num;
+       size_t count;
 };
 
+G_BEGIN_DECLS
+int _wapi_file_handle_to_fd (gpointer handle);
+gboolean _wapi_io_add_callback (gpointer handle,
+                               WapiOverlappedCB callback,
+                               guint64 flags);
+G_END_DECLS
 
 #endif /* _WAPI_IO_PRIVATE_H_ */