diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2008-10-20 19:30:06 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2008-10-20 19:30:06 +0000 |
commit | 669bdeb82236ed53f094702ec4af7d253d828df4 (patch) | |
tree | 581f6fbb9f9cca2ce4689f4c59857d3ff927e530 /winsup/cygwin/ntdll.h | |
parent | 87ab6bfb627d902150a73ef8f6f81f135e015224 (diff) | |
download | cygnal-669bdeb82236ed53f094702ec4af7d253d828df4.tar.gz cygnal-669bdeb82236ed53f094702ec4af7d253d828df4.tar.bz2 cygnal-669bdeb82236ed53f094702ec4af7d253d828df4.zip |
* ntdll.h (NtSetAttributesFile): New inline function.
* fhandler_disk_file.cc (fhandler_disk_file::fchmod): Use
NtSetAttributesFile.
* path.cc (symlink_worker): Ditto.
* syscalls.cc (unlink_nt): Ditto.
(rename): Omit FILE_SHARE_DELETE when opening files on Samba. Add
comment to explain why.
Diffstat (limited to 'winsup/cygwin/ntdll.h')
-rw-r--r-- | winsup/cygwin/ntdll.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h index 4d5eed235..1ce348f47 100644 --- a/winsup/cygwin/ntdll.h +++ b/winsup/cygwin/ntdll.h @@ -1072,4 +1072,15 @@ extern "C" NTSTATUS NTAPI RtlInt64ToHexUnicodeString (ULONGLONG value, PUNICODE_STRING dest, BOOLEAN append); + /* Set file attributes. Don't change file times. */ + inline + NTSTATUS NTAPI NtSetAttributesFile (HANDLE h, ULONG attr) + { + IO_STATUS_BLOCK io; + FILE_BASIC_INFORMATION fbi; + fbi.CreationTime.QuadPart = fbi.LastAccessTime.QuadPart = + fbi.LastWriteTime.QuadPart = fbi.ChangeTime.QuadPart = 0LL; + fbi.FileAttributes = attr ?: FILE_ATTRIBUTE_NORMAL; + return NtSetInformationFile(h, &io, &fbi, sizeof fbi, FileBasicInformation); + } } |