From 7636b58590621af3c341c3eb37a017e0e6598d3f Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 7 Aug 2006 19:29:14 +0000 Subject: * autoload.cc (NtSetInformationFile): Define. * cygwin.din: Export posix_fadvise and posix_fallocate. * fhandler.cc (fhandler_base::fadvise): New method. (fhandler_base::ftruncate): Add allow_truncate parameter. * fhandler.h (class fhandler_base): Add fadvise method. Accomodate new parameter to ftruncate. (class fhandler_pipe): Add fadvise and ftruncate methods. (class fhandler_disk_file): Add fadvise method. Accomodate new parameter to ftruncate. * fhandler_disk_file.cc (fhandler_disk_file::fadvise): New method. (fhandler_disk_file::ftruncate): Accomodate new allow_truncate parameter. Set EOF using NtSetInformationFile on NT. * ntdll.h (struct _FILE_END_OF_FILE_INFORMATION): Define. (NtSetInformationFile): Declare. * pipe.cc (fhandler_pipe::fadvise): New method. (fhandler_pipe::ftruncate): Ditto. * syscalls.cc (posix_fadvise): New function. (posix_fallocate): Ditto. (ftruncate64): Accomodate second parameter to fhandler's ftruncate method. * include/fcntl.h: Add POSIX_FADV_* flags. Add declarations of posix_fadvise and posix_fallocate. * include/cygwin/version.h: Bump API minor number. --- winsup/cygwin/fhandler.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin/fhandler.h') diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index dee16aaea..6103b432c 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -279,7 +279,8 @@ class fhandler_base virtual int __stdcall fchmod (mode_t mode) __attribute__ ((regparm (1))); virtual int __stdcall fchown (__uid32_t uid, __gid32_t gid) __attribute__ ((regparm (2))); virtual int __stdcall facl (int, int, __acl32 *) __attribute__ ((regparm (3))); - virtual int __stdcall ftruncate (_off64_t) __attribute__ ((regparm (2))); + virtual int __stdcall fadvise (_off64_t, _off64_t, int) __attribute__ ((regparm (3))); + virtual int __stdcall ftruncate (_off64_t, bool) __attribute__ ((regparm (3))); virtual int __stdcall link (const char *) __attribute__ ((regparm (2))); virtual int __stdcall utimes (const struct timeval *) __attribute__ ((regparm (2))); virtual int __stdcall fsync () __attribute__ ((regparm (1))); @@ -536,6 +537,8 @@ public: } int dup (fhandler_base *child); int ioctl (unsigned int cmd, void *); + int __stdcall fadvise (_off64_t, _off64_t, int) __attribute__ ((regparm (3))); + int __stdcall ftruncate (_off64_t, bool) __attribute__ ((regparm (3))); void fixup_in_child (); virtual void fixup_after_fork (HANDLE); void fixup_after_exec (); @@ -684,7 +687,8 @@ class fhandler_disk_file: public fhandler_base int __stdcall fchmod (mode_t mode) __attribute__ ((regparm (1))); int __stdcall fchown (__uid32_t uid, __gid32_t gid) __attribute__ ((regparm (2))); int __stdcall facl (int, int, __acl32 *) __attribute__ ((regparm (3))); - int __stdcall ftruncate (_off64_t) __attribute__ ((regparm (2))); + int __stdcall fadvise (_off64_t, _off64_t, int) __attribute__ ((regparm (3))); + int __stdcall ftruncate (_off64_t, bool) __attribute__ ((regparm (3))); int __stdcall link (const char *) __attribute__ ((regparm (2))); int __stdcall utimes (const struct timeval *) __attribute__ ((regparm (2))); -- cgit v1.2.3