X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mono%2Fio-layer%2Fio.h;h=e8627764812f3e98632ca244254d96fa7efc823d;hb=89d5527369717465b43e3145cbecdca3a8601ec4;hp=abab516c89f2b2f27992f5e8a9345589ef472ee9;hpb=5d9434fcb3acc1ed7d3d30603faae797d672fe65;p=mono.git diff --git a/mono/io-layer/io.h b/mono/io-layer/io.h index abab516c89f..e8627764812 100644 --- a/mono/io-layer/io.h +++ b/mono/io-layer/io.h @@ -82,6 +82,9 @@ typedef void (*WapiOverlappedCB) (guint32 error, guint32 numbytes, #define FILE_FLAG_OVERLAPPED 0x40000000 #define FILE_FLAG_WRITE_THROUGH 0x80000000 +#define REPLACEFILE_WRITE_THROUGH 0x00000001 +#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002 + #define MAX_PATH 260 typedef enum { @@ -104,6 +107,16 @@ typedef enum { FILE_TYPE_REMOTE=0x8000 } WapiFileType; +typedef enum { + DRIVE_UNKNOWN=0, + DRIVE_NO_ROOT_DIR=1, + DRIVE_REMOVABLE=2, + DRIVE_FIXED=3, + DRIVE_REMOTE=4, + DRIVE_CDROM=5, + DRIVE_RAMDISK=6 +} WapiDriveType; + typedef enum { GetFileExInfoStandard=0x0000, GetFileExMaxInfoLevel=0x0001 @@ -185,6 +198,9 @@ extern gboolean RemoveDirectory (const gunichar2 *name); extern gboolean MoveFile (const gunichar2 *name, const gunichar2 *dest_name); extern gboolean CopyFile (const gunichar2 *name, const gunichar2 *dest_name, gboolean fail_if_exists); +extern gboolean ReplaceFile (const gunichar2 *replacedFileName, const gunichar2 *replacementFileName, + const gunichar2 *backupFileName, guint32 replaceFlags, + gpointer exclude, gpointer reserved); extern guint32 GetFileAttributes (const gunichar2 *name); extern gboolean GetFileAttributesEx (const gunichar2 *name, WapiGetFileExInfoLevels level, @@ -196,12 +212,20 @@ 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 guint32 GetDriveType(const gunichar2 *root_path_name); extern gboolean LockFile (gpointer handle, guint32 offset_low, guint32 offset_high, guint32 length_low, guint32 length_high); extern gboolean UnlockFile (gpointer handle, guint32 offset_low, guint32 offset_high, guint32 length_low, guint32 length_high); +extern gboolean GetVolumeInformation (const gunichar2 *path, gunichar2 *volumename, int volumesize, int *outserial, int *maxcomp, int *fsflags, gunichar2 *fsbuffer, int fsbuffersize); + + +extern void _wapi_io_init (void); G_END_DECLS