Throughout replace all usage of wincap.shared with the constant

FILE_SHARE_VALID_FLAGS.
	* fhandler.cc (fhandler_base::open_9x): Drop local variable shared.
	* wincap.cc: Remove shared member throughout.
	* wincap.h: Ditto.
This commit is contained in:
Corinna Vinschen 2007-02-22 11:17:01 +00:00
parent 570858c30f
commit bd8f891e8a
12 changed files with 37 additions and 35 deletions

View File

@ -1,3 +1,11 @@
2007-02-22 Corinna Vinschen <corinna@vinschen.de>
Throughout replace all usage of wincap.shared with the constant
FILE_SHARE_VALID_FLAGS.
* fhandler.cc (fhandler_base::open_9x): Drop local variable shared.
* wincap.cc: Remove shared member throughout.
* wincap.h: Ditto.
2007-02-22 Corinna Vinschen <corinna@vinschen.de> 2007-02-22 Corinna Vinschen <corinna@vinschen.de>
* Makefile.in (DLL_IMPORTS): Add libntdll.a. * Makefile.in (DLL_IMPORTS): Add libntdll.a.

View File

@ -465,7 +465,6 @@ fhandler_base::open_9x (int flags, mode_t mode)
int res = 0; int res = 0;
HANDLE x; HANDLE x;
int file_attributes; int file_attributes;
int shared;
int creation_distribution; int creation_distribution;
SECURITY_ATTRIBUTES sa = sec_none; SECURITY_ATTRIBUTES sa = sec_none;
@ -509,9 +508,6 @@ fhandler_base::open_9x (int flags, mode_t mode)
if (flags & O_APPEND) if (flags & O_APPEND)
append_mode (true); append_mode (true);
/* These flags are host dependent. */
shared = wincap.shared ();
file_attributes = FILE_ATTRIBUTE_NORMAL; file_attributes = FILE_ATTRIBUTE_NORMAL;
if (flags & O_DIROPEN) if (flags & O_DIROPEN)
file_attributes |= FILE_FLAG_BACKUP_SEMANTICS; file_attributes |= FILE_FLAG_BACKUP_SEMANTICS;
@ -540,7 +536,7 @@ fhandler_base::open_9x (int flags, mode_t mode)
pc.file_attributes (file_attributes & FILE_ATTRIBUTE_VALID_SET_FLAGS); pc.file_attributes (file_attributes & FILE_ATTRIBUTE_VALID_SET_FLAGS);
} }
x = CreateFile (get_win32_name (), access, shared, &sa, creation_distribution, x = CreateFile (get_win32_name (), access, FILE_SHARE_VALID_FLAGS, &sa, creation_distribution,
file_attributes, 0); file_attributes, 0);
if (x == INVALID_HANDLE_VALUE) if (x == INVALID_HANDLE_VALUE)
@ -567,7 +563,7 @@ fhandler_base::open_9x (int flags, mode_t mode)
set_open_status (); set_open_status ();
done: done:
debug_printf ("%p = CreateFile (%s, %p, %p, %p, %p, %p, 0)", debug_printf ("%p = CreateFile (%s, %p, %p, %p, %p, %p, 0)",
x, get_win32_name (), access, shared, &sa, x, get_win32_name (), access, FILE_SHARE_VALID_FLAGS, &sa,
creation_distribution, file_attributes); creation_distribution, file_attributes);
syscall_printf ("%d = fhandler_base::open (%s, %p)", res, get_win32_name (), syscall_printf ("%d = fhandler_base::open (%s, %p)", res, get_win32_name (),
@ -589,7 +585,7 @@ fhandler_base::open (int flags, mode_t mode)
int res = 0; int res = 0;
HANDLE x; HANDLE x;
ULONG file_attributes = 0; ULONG file_attributes = 0;
ULONG shared = (get_major () == DEV_TAPE_MAJOR ? 0 : wincap.shared ()); ULONG shared = (get_major () == DEV_TAPE_MAJOR ? 0 : FILE_SHARE_VALID_FLAGS);
ULONG create_disposition; ULONG create_disposition;
ULONG create_options; ULONG create_options;
SECURITY_ATTRIBUTES sa = sec_none; SECURITY_ATTRIBUTES sa = sec_none;

View File

@ -1511,7 +1511,7 @@ fhandler_disk_file::opendir ()
NULL, sa.lpSecurityDescriptor); NULL, sa.lpSecurityDescriptor);
status = NtOpenFile (&dir->__handle, status = NtOpenFile (&dir->__handle,
SYNCHRONIZE | FILE_LIST_DIRECTORY, SYNCHRONIZE | FILE_LIST_DIRECTORY,
&attr, &io, wincap.shared (), &attr, &io, FILE_SHARE_VALID_FLAGS,
FILE_SYNCHRONOUS_IO_NONALERT FILE_SYNCHRONOUS_IO_NONALERT
| FILE_OPEN_FOR_BACKUP_INTENT | FILE_OPEN_FOR_BACKUP_INTENT
| FILE_DIRECTORY_FILE); | FILE_DIRECTORY_FILE);
@ -1639,9 +1639,10 @@ readdir_get_ino (DIR *dir, const char *path, bool dot_dot)
} }
else if (!pc.hasgood_inode ()) else if (!pc.hasgood_inode ())
ino = hash_path_name (0, pc); ino = hash_path_name (0, pc);
else if ((hdl = CreateFile (pc, GENERIC_READ, wincap.shared (), NULL, else if ((hdl = CreateFile (pc, GENERIC_READ, FILE_SHARE_VALID_FLAGS,
OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS, NULL, OPEN_EXISTING,
NULL)) != INVALID_HANDLE_VALUE) FILE_FLAG_BACKUP_SEMANTICS, NULL))
!= INVALID_HANDLE_VALUE)
{ {
ino = readdir_get_ino_by_handle (hdl); ino = readdir_get_ino_by_handle (hdl);
CloseHandle (hdl); CloseHandle (hdl);
@ -1776,7 +1777,8 @@ go_ahead:
InitializeObjectAttributes (&attr, &upath, OBJ_CASE_INSENSITIVE, InitializeObjectAttributes (&attr, &upath, OBJ_CASE_INSENSITIVE,
dir->__handle , NULL); dir->__handle , NULL);
if (!NtOpenFile (&hdl, READ_CONTROL, &attr, &io, if (!NtOpenFile (&hdl, READ_CONTROL, &attr, &io,
wincap.shared (), FILE_OPEN_FOR_BACKUP_INTENT)) FILE_SHARE_VALID_FLAGS,
FILE_OPEN_FOR_BACKUP_INTENT))
{ {
de->d_ino = readdir_get_ino_by_handle (hdl); de->d_ino = readdir_get_ino_by_handle (hdl);
CloseHandle (hdl); CloseHandle (hdl);
@ -1849,7 +1851,7 @@ fhandler_disk_file::rewinddir (DIR *dir)
InitializeObjectAttributes (&attr, &fname, OBJ_CASE_INSENSITIVE, InitializeObjectAttributes (&attr, &fname, OBJ_CASE_INSENSITIVE,
dir->__handle, NULL); dir->__handle, NULL);
status = NtOpenFile (&new_dir, SYNCHRONIZE | FILE_LIST_DIRECTORY, status = NtOpenFile (&new_dir, SYNCHRONIZE | FILE_LIST_DIRECTORY,
&attr, &io, wincap.shared (), &attr, &io, FILE_SHARE_VALID_FLAGS,
FILE_SYNCHRONOUS_IO_NONALERT FILE_SYNCHRONOUS_IO_NONALERT
| FILE_OPEN_FOR_BACKUP_INTENT | FILE_OPEN_FOR_BACKUP_INTENT
| FILE_DIRECTORY_FILE); | FILE_DIRECTORY_FILE);

View File

@ -79,7 +79,8 @@ fhandler_mailslot::open (int flags, mode_t mode)
__seterrno (); __seterrno ();
break; break;
} }
x = CreateFile (get_win32_name (), GENERIC_READ, wincap.shared (), x = CreateFile (get_win32_name (), GENERIC_READ,
FILE_SHARE_VALID_FLAGS,
&sec_none, OPEN_EXISTING, 0, 0); &sec_none, OPEN_EXISTING, 0, 0);
#endif #endif
if (x == INVALID_HANDLE_VALUE) if (x == INVALID_HANDLE_VALUE)
@ -102,7 +103,7 @@ fhandler_mailslot::open (int flags, mode_t mode)
set_errno (EPERM); /* As on Linux. */ set_errno (EPERM); /* As on Linux. */
break; break;
} }
x = CreateFile (get_win32_name (), GENERIC_WRITE, wincap.shared (), x = CreateFile (get_win32_name (), GENERIC_WRITE, FILE_SHARE_VALID_FLAGS,
&sec_none, OPEN_EXISTING, 0, 0); &sec_none, OPEN_EXISTING, 0, 0);
if (x == INVALID_HANDLE_VALUE) if (x == INVALID_HANDLE_VALUE)
{ {

View File

@ -963,7 +963,7 @@ format_proc_partitions (char *destbuf, size_t maxsize)
InitializeObjectAttributes (&attr, &upath, OBJ_CASE_INSENSITIVE, InitializeObjectAttributes (&attr, &upath, OBJ_CASE_INSENSITIVE,
dirhdl, NULL); dirhdl, NULL);
status = NtOpenFile (&devhdl, READ_CONTROL | FILE_READ_DATA, &attr, &io, status = NtOpenFile (&devhdl, READ_CONTROL | FILE_READ_DATA, &attr, &io,
wincap.shared (), 0); FILE_SHARE_VALID_FLAGS, 0);
if (!NT_SUCCESS (status)) if (!NT_SUCCESS (status))
{ {
/* Retry with READ_CONTROL only for non-privileged users. This /* Retry with READ_CONTROL only for non-privileged users. This
@ -972,7 +972,7 @@ format_proc_partitions (char *destbuf, size_t maxsize)
a non-privileged user shouldn't get read access to the drive a non-privileged user shouldn't get read access to the drive
layout information. */ layout information. */
status = NtOpenFile (&devhdl, READ_CONTROL, &attr, &io, status = NtOpenFile (&devhdl, READ_CONTROL, &attr, &io,
wincap.shared (), 0); FILE_SHARE_VALID_FLAGS, 0);
if (!NT_SUCCESS (status)) if (!NT_SUCCESS (status))
{ {
debug_printf ("NtOpenFile(%s) %x", devname, status); debug_printf ("NtOpenFile(%s) %x", devname, status);

View File

@ -82,8 +82,9 @@ get_inet_addr (const struct sockaddr *in, int inlen,
set_errno (EBADF); set_errno (EBADF);
return 0; return 0;
} }
HANDLE fh = CreateFile (pc, GENERIC_READ, wincap.shared (), &sec_none, HANDLE fh = CreateFile (pc, GENERIC_READ, FILE_SHARE_VALID_FLAGS,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); &sec_none, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
0);
if (fh == INVALID_HANDLE_VALUE) if (fh == INVALID_HANDLE_VALUE)
{ {
__seterrno (); __seterrno ();

View File

@ -913,7 +913,7 @@ mmap64 (void *addr, size_t len, int prot, int flags, int fd, _off64_t off)
the file isn't explicitely opened with EXECUTE access. */ the file isn't explicitely opened with EXECUTE access. */
HANDLE h = CreateFile (fh->get_win32_name (), HANDLE h = CreateFile (fh->get_win32_name (),
fh->get_access () | GENERIC_EXECUTE, fh->get_access () | GENERIC_EXECUTE,
wincap.shared (), &sec_none_nih, FILE_SHARE_VALID_FLAGS, &sec_none_nih,
OPEN_EXISTING, 0, NULL); OPEN_EXISTING, 0, NULL);
if (h != INVALID_HANDLE_VALUE) if (h != INVALID_HANDLE_VALUE)
{ {

View File

@ -4283,7 +4283,8 @@ cwdstuff::set (const char *win32_cwd, const char *posix_cwd, bool doit)
if (wincap.can_open_directories ()) if (wincap.can_open_directories ())
{ {
HANDLE h = CreateFile (win32_cwd, FILE_TRAVERSE, HANDLE h = CreateFile (win32_cwd, FILE_TRAVERSE,
wincap.shared (), NULL, OPEN_EXISTING, FILE_SHARE_VALID_FLAGS, NULL,
OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS, NULL); FILE_FLAG_BACKUP_SEMANTICS, NULL);
if (h == INVALID_HANDLE_VALUE) if (h == INVALID_HANDLE_VALUE)
{ {

View File

@ -283,7 +283,8 @@ unlink_nt (path_conv &win32_name, bool setattrs)
if (status == STATUS_SHARING_VIOLATION) if (status == STATUS_SHARING_VIOLATION)
{ {
move_to_bin = true; move_to_bin = true;
status = NtOpenFile (&h, DELETE, &attr, &io, wincap.shared (), flags); status = NtOpenFile (&h, DELETE, &attr, &io, FILE_SHARE_VALID_FLAGS,
flags);
} }
if (!NT_SUCCESS (status)) if (!NT_SUCCESS (status))
{ {
@ -1114,7 +1115,7 @@ EXPORT_ALIAS (fsync, fdatasync)
static void static void
sync_worker (const char *vol) sync_worker (const char *vol)
{ {
HANDLE fh = CreateFileA (vol, GENERIC_WRITE, wincap.shared (), HANDLE fh = CreateFileA (vol, GENERIC_WRITE, FILE_SHARE_VALID_FLAGS,
&sec_none_nih, OPEN_EXISTING, 0, NULL); &sec_none_nih, OPEN_EXISTING, 0, NULL);
if (fh != INVALID_HANDLE_VALUE) if (fh != INVALID_HANDLE_VALUE)
{ {
@ -1944,7 +1945,7 @@ statvfs (const char *fname, struct statvfs *sfs)
{ {
/* Quotas active. We can't trust totalc. */ /* Quotas active. We can't trust totalc. */
HANDLE hdl = CreateFile (full_path, READ_CONTROL, HANDLE hdl = CreateFile (full_path, READ_CONTROL,
wincap.shared (), &sec_none_nih, FILE_SHARE_VALID_FLAGS, &sec_none_nih,
OPEN_EXISTING, OPEN_EXISTING,
FILE_FLAG_BACKUP_SEMANTICS, NULL); FILE_FLAG_BACKUP_SEMANTICS, NULL);
if (hdl == INVALID_HANDLE_VALUE) if (hdl == INVALID_HANDLE_VALUE)

View File

@ -1,6 +1,7 @@
/* uinfo.cc: user info (uid, gid, etc...) /* uinfo.cc: user info (uid, gid, etc...)
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Red Hat, Inc. Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007 Red Hat, Inc.
This file is part of Cygwin. This file is part of Cygwin.
@ -532,7 +533,7 @@ pwdgrp::load (const char *posix_fname)
} }
else else
{ {
HANDLE fh = CreateFile (pc, GENERIC_READ, wincap.shared (), NULL, HANDLE fh = CreateFile (pc, GENERIC_READ, FILE_SHARE_VALID_FLAGS, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (fh == INVALID_HANDLE_VALUE) if (fh == INVALID_HANDLE_VALUE)
{ {

View File

@ -16,7 +16,6 @@ static NO_COPY wincaps wincap_unknown = {
lock_file_highword:UINT32_MAX, lock_file_highword:UINT32_MAX,
chunksize:0, chunksize:0,
heapslop:0x0, heapslop:0x0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
is_server:false, is_server:false,
access_denied_on_delete:false, access_denied_on_delete:false,
has_delete_on_close:true, has_delete_on_close:true,
@ -81,7 +80,6 @@ static NO_COPY wincaps wincap_nt4 = {
lock_file_highword:UINT32_MAX, lock_file_highword:UINT32_MAX,
chunksize:0, chunksize:0,
heapslop:0x0, heapslop:0x0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
is_server:false, is_server:false,
access_denied_on_delete:false, access_denied_on_delete:false,
has_delete_on_close:true, has_delete_on_close:true,
@ -146,7 +144,6 @@ static NO_COPY wincaps wincap_nt4sp4 = {
lock_file_highword:UINT32_MAX, lock_file_highword:UINT32_MAX,
chunksize:0, chunksize:0,
heapslop:0x0, heapslop:0x0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
is_server:false, is_server:false,
access_denied_on_delete:false, access_denied_on_delete:false,
has_delete_on_close:true, has_delete_on_close:true,
@ -211,7 +208,6 @@ static NO_COPY wincaps wincap_2000 = {
lock_file_highword:UINT32_MAX, lock_file_highword:UINT32_MAX,
chunksize:0, chunksize:0,
heapslop:0x0, heapslop:0x0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
is_server:false, is_server:false,
access_denied_on_delete:false, access_denied_on_delete:false,
has_delete_on_close:true, has_delete_on_close:true,
@ -276,7 +272,6 @@ static NO_COPY wincaps wincap_xp = {
lock_file_highword:UINT32_MAX, lock_file_highword:UINT32_MAX,
chunksize:0, chunksize:0,
heapslop:0x0, heapslop:0x0,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
is_server:false, is_server:false,
access_denied_on_delete:false, access_denied_on_delete:false,
has_delete_on_close:true, has_delete_on_close:true,
@ -341,7 +336,6 @@ static NO_COPY wincaps wincap_2003 = {
lock_file_highword:UINT32_MAX, lock_file_highword:UINT32_MAX,
chunksize:0, chunksize:0,
heapslop:0x4, heapslop:0x4,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
is_server:true, is_server:true,
access_denied_on_delete:false, access_denied_on_delete:false,
has_delete_on_close:true, has_delete_on_close:true,
@ -406,7 +400,6 @@ static NO_COPY wincaps wincap_vista = {
lock_file_highword:UINT32_MAX, lock_file_highword:UINT32_MAX,
chunksize:0, chunksize:0,
heapslop:0x4, heapslop:0x4,
shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
is_server:false, is_server:false,
access_denied_on_delete:false, access_denied_on_delete:false,
has_delete_on_close:true, has_delete_on_close:true,

View File

@ -16,7 +16,6 @@ struct wincaps
DWORD lock_file_highword; DWORD lock_file_highword;
DWORD chunksize; DWORD chunksize;
DWORD heapslop; DWORD heapslop;
int shared;
unsigned is_server : 1; unsigned is_server : 1;
unsigned access_denied_on_delete : 1; unsigned access_denied_on_delete : 1;
unsigned has_delete_on_close : 1; unsigned has_delete_on_close : 1;
@ -97,7 +96,6 @@ public:
DWORD IMPLEMENT (lock_file_highword) DWORD IMPLEMENT (lock_file_highword)
DWORD IMPLEMENT (chunksize) DWORD IMPLEMENT (chunksize)
DWORD IMPLEMENT (heapslop) DWORD IMPLEMENT (heapslop)
int IMPLEMENT (shared)
bool IMPLEMENT (is_server) bool IMPLEMENT (is_server)
bool IMPLEMENT (access_denied_on_delete) bool IMPLEMENT (access_denied_on_delete)
bool IMPLEMENT (has_delete_on_close) bool IMPLEMENT (has_delete_on_close)