diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2010-01-29 14:20:06 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2010-01-29 14:20:06 +0300 |
commit | 3432d6f1f766adc1b8c14af4cc63b6ae25399ada (patch) | |
tree | 0ae12368f834b1259f58b1ca888be542baceb51f /winsup/cygwin/ntdll.h | |
parent | 3d635c060e417ac929152832d4d3010f656fd9ec (diff) |
Throughout, use FileBothDirectoryInformation info class rather than
FileDirectoryInformation info class to avoid problems with incomplete
filesystem implementations. Fix comments accordingly.
* fhandler_disk_file.cc (fhandler_disk_file::readdir_helper): Set
fname->Length to 0 in error case to avoid potential crash in debug
output.
(fhandler_disk_file::readdir): Try to speed up the working default case.
Check for STATUS_INVALID_NETWORK_RESPONSE as potential status value
returned by filesystems not implementing FileIdBothDirectoryInformation.
* ntdll.h (STATUS_INVALID_NETWORK_RESPONSE): Define.
(FILE_BOTH_DIRECTORY_INFORMATION): Rename to official name.
* path.cc (symlink_info::check): Don't request FILE_READ_EA access, it's
not required for NFS. Try to speed up the working default case. Check
for STATUS_INVALID_NETWORK_RESPONSE as potential status value returned
by filesystems not supporting non-NULL EA parameters. Fix the way
fs.update is called. Improve debug output.
Diffstat (limited to 'winsup/cygwin/ntdll.h')
-rw-r--r-- | winsup/cygwin/ntdll.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h index 0eeeb544e..465d52782 100644 --- a/winsup/cygwin/ntdll.h +++ b/winsup/cygwin/ntdll.h @@ -1,7 +1,7 @@ /* ntdll.h. Contains ntdll specific stuff not defined elsewhere. Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, - 2009 Red Hat, Inc. + 2009, 2010 Red Hat, Inc. This file is part of Cygwin. @@ -39,6 +39,7 @@ #define STATUS_DISK_FULL ((NTSTATUS) 0xc000007f) #define STATUS_WORKING_SET_QUOTA ((NTSTATUS) 0xc00000a1) #define STATUS_NOT_SUPPORTED ((NTSTATUS) 0xc00000bb) +#define STATUS_INVALID_NETWORK_RESPONSE ((NTSTATUS) 0xc00000c3) #define STATUS_DIRECTORY_NOT_EMPTY ((NTSTATUS) 0xc0000101) #define STATUS_CANNOT_DELETE ((NTSTATUS) 0xc0000121) #define STATUS_INVALID_LEVEL ((NTSTATUS) 0xc0000148) @@ -153,7 +154,7 @@ typedef struct _FILE_DIRECTORY_INFORMATION { WCHAR FileName[1]; } FILE_DIRECTORY_INFORMATION, *PFILE_DIRECTORY_INFORMATION; -typedef struct _FILE_BOTH_DIR_INFORMATION +typedef struct _FILE_BOTH_DIRECTORY_INFORMATION { ULONG NextEntryOffset; ULONG FileIndex; @@ -169,7 +170,7 @@ typedef struct _FILE_BOTH_DIR_INFORMATION CCHAR ShortNameLength; WCHAR ShortName[12]; WCHAR FileName[1]; -} FILE_BOTH_DIR_INFORMATION, *PFILE_BOTH_DIR_INFORMATION; +} FILE_BOTH_DIRECTORY_INFORMATION, *PFILE_BOTH_DIRECTORY_INFORMATION; typedef struct _FILE_ID_BOTH_DIR_INFORMATION { |