* 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.
		
			
				
	
	
		
			43 lines
		
	
	
		
			933 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			933 B
		
	
	
	
		
			C
		
	
	
	
	
	
/* fcntl.h
 | 
						|
 | 
						|
   Copyright 1996, 1998, 2001, 2005, 2006 Red Hat, Inc.
 | 
						|
 | 
						|
This file is part of Cygwin.
 | 
						|
 | 
						|
This software is a copyrighted work licensed under the terms of the
 | 
						|
Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
 | 
						|
details. */
 | 
						|
 | 
						|
#ifndef _FCNTL_H
 | 
						|
#define _FCNTL_H
 | 
						|
 | 
						|
#include <sys/fcntl.h>
 | 
						|
#define O_NDELAY	_FNDELAY
 | 
						|
 | 
						|
/* sys/fcntl defines values up to 0x40000 (O_NOINHERIT). */
 | 
						|
#define _FDIRECT	0x80000
 | 
						|
#define _FNOFOLLOW	0x100000
 | 
						|
 | 
						|
#define O_DIRECT	_FDIRECT
 | 
						|
#define O_NOFOLLOW	_FNOFOLLOW
 | 
						|
#define O_DSYNC		_FSYNC
 | 
						|
#define O_RSYNC		_FSYNC
 | 
						|
 | 
						|
#define POSIX_FADV_NORMAL	0
 | 
						|
#define POSIX_FADV_SEQUENTIAL	1
 | 
						|
#define POSIX_FADV_RANDOM	2
 | 
						|
#define POSIX_FADV_WILLNEED	3
 | 
						|
#define POSIX_FADV_DONTNEED	4
 | 
						|
#define POSIX_FADV_NOREUSE	5
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
extern int posix_fadvise _PARAMS ((int, off_t, off_t, int));
 | 
						|
extern int posix_fallocate _PARAMS ((int, off_t, off_t));
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* _FCNTL_H */
 |