[reflection] Use coop handles for MonoMethod icalls (#4272)
[mono.git] / mono / io-layer / io.h
index 5321bcd7c4459da7642a1dd34fbe00d936c6e6c6..6e518b60e4596bb7be514d12a7a90f3db8ff39df 100644 (file)
@@ -13,7 +13,6 @@
 #include <stdlib.h>
 
 #include "mono/io-layer/wapi.h"
-#include "mono/io-layer/timefuncs.h"
 
 G_BEGIN_DECLS
 
@@ -134,6 +133,16 @@ typedef struct
        guint16 wMilliseconds;
 } WapiSystemTime;
 
+typedef struct {
+#if G_BYTE_ORDER == G_BIG_ENDIAN
+       guint32 dwHighDateTime;
+       guint32 dwLowDateTime;
+#else
+       guint32 dwLowDateTime;
+       guint32 dwHighDateTime;
+#endif
+} WapiFileTime;
+
 typedef struct
 {
        guint32 dwFileAttributes;
@@ -158,6 +167,14 @@ typedef struct
        guint32 nFileSizeLow;
 } WapiFileAttributesData;
 
+typedef union {
+       struct {
+               guint32 LowPart;
+               guint32 HighPart;
+       } u;
+       guint64 QuadPart;
+} ULARGE_INTEGER;
+
 #define INVALID_SET_FILE_POINTER ((guint32)-1)
 #define INVALID_FILE_SIZE ((guint32)0xFFFFFFFF)
 #define INVALID_FILE_ATTRIBUTES ((guint32)-1)
@@ -211,9 +228,9 @@ extern gboolean SetCurrentDirectory (const gunichar2 *path);
 extern gboolean CreatePipe (gpointer *readpipe, gpointer *writepipe,
                            WapiSecurityAttributes *security, guint32 size);
 extern gint32 GetLogicalDriveStrings (guint32 len, gunichar2 *buf);
-extern gboolean GetDiskFreeSpaceEx(const gunichar2 *path_name, WapiULargeInteger *free_bytes_avail,
-                                  WapiULargeInteger *total_number_of_bytes,
-                                  WapiULargeInteger *total_number_of_free_bytes);
+extern gboolean GetDiskFreeSpaceEx(const gunichar2 *path_name, ULARGE_INTEGER *free_bytes_avail,
+                                  ULARGE_INTEGER *total_number_of_bytes,
+                                  ULARGE_INTEGER *total_number_of_free_bytes);
 extern guint32 GetDriveType(const gunichar2 *root_path_name);
 extern gboolean LockFile (gpointer handle, guint32 offset_low,
                          guint32 offset_high, guint32 length_low,