X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fio-layer%2Fio.h;h=6e518b60e4596bb7be514d12a7a90f3db8ff39df;hb=863ddf25bfb4e88db7225dd4968a4403840c42af;hp=e8627764812f3e98632ca244254d96fa7efc823d;hpb=e946a6cdebde729e1c03ec374184254ab38da184;p=mono.git diff --git a/mono/io-layer/io.h b/mono/io-layer/io.h index e8627764812..6e518b60e45 100644 --- a/mono/io-layer/io.h +++ b/mono/io-layer/io.h @@ -13,7 +13,6 @@ #include #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) @@ -177,7 +194,7 @@ extern gboolean WriteFile(gpointer handle, gconstpointer buffer, extern gboolean FlushFileBuffers(gpointer handle); extern gboolean SetEndOfFile(gpointer handle); extern guint32 SetFilePointer(gpointer handle, gint32 movedistance, - gint32 *highmovedistance, WapiSeekMethod method); + gint32 *highmovedistance, guint32 method); extern WapiFileType GetFileType(gpointer handle); extern guint32 GetFileSize(gpointer handle, guint32 *highsize); extern gboolean GetFileTime(gpointer handle, WapiFileTime *create_time, @@ -210,11 +227,10 @@ extern guint32 GetCurrentDirectory (guint32 length, gunichar2 *buffer); extern gboolean SetCurrentDirectory (const gunichar2 *path); extern gboolean CreatePipe (gpointer *readpipe, gpointer *writepipe, WapiSecurityAttributes *security, guint32 size); -extern guint32 GetTempPath (guint32 len, gunichar2 *buf); 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, @@ -226,6 +242,7 @@ extern gboolean GetVolumeInformation (const gunichar2 *path, gunichar2 *volumena extern void _wapi_io_init (void); +extern void _wapi_io_cleanup (void); G_END_DECLS