* 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.
This commit is contained in:
@ -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)));
|
||||
|
||||
|
Reference in New Issue
Block a user