diff options
Diffstat (limited to 'winsup/cygwin/fhandler_mem.cc')
-rw-r--r-- | winsup/cygwin/fhandler_mem.cc | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/winsup/cygwin/fhandler_mem.cc b/winsup/cygwin/fhandler_mem.cc index 8cbbf0666..70a36371c 100644 --- a/winsup/cygwin/fhandler_mem.cc +++ b/winsup/cygwin/fhandler_mem.cc @@ -15,14 +15,15 @@ #include "cygerrno.h" #include "security.h" +#include "path.h" #include "fhandler.h" #include "ntdll.h" /**********************************************************************/ /* fhandler_dev_mem */ -fhandler_dev_mem::fhandler_dev_mem (int nunit) - : fhandler_base (FH_MEM), unit (nunit) +fhandler_dev_mem::fhandler_dev_mem () + : fhandler_base () { /* Reading physical memory only supported on NT/W2K. */ if (!wincap.has_physical_mem_access ()) @@ -31,7 +32,7 @@ fhandler_dev_mem::fhandler_dev_mem (int nunit) return; } - if (unit == 1) /* /dev/mem */ + if (dev () == FH_MEM) /* /dev/mem */ { NTSTATUS ret; SYSTEM_BASIC_INFORMATION sbi; @@ -47,12 +48,12 @@ fhandler_dev_mem::fhandler_dev_mem (int nunit) mem_size = sbi.PhysicalPageSize * sbi.NumberOfPhysicalPages; debug_printf ("MemSize: %d MB", mem_size >> 20); } - else if (unit == 2) /* /dev/kmem - Not yet supported */ + else if (dev () == FH_KMEM) /* /dev/kmem - Not yet supported */ { mem_size = 0; debug_printf ("KMemSize: %d MB", mem_size >> 20); } - else if (unit == 4) /* /dev/port == First 64K of /dev/mem */ + else if (dev () == FH_ZERO) /* /dev/port == First 64K of /dev/mem */ { mem_size = 65536; debug_printf ("PortSize: 64 KB"); @@ -69,15 +70,12 @@ fhandler_dev_mem::~fhandler_dev_mem (void) } int -fhandler_dev_mem::open (path_conv *, int flags, mode_t) +fhandler_dev_mem::open (int flags, mode_t) { if (!wincap.has_physical_mem_access ()) { set_errno (ENOENT); - debug_printf ("%s is accessible under NT/W2K only", - unit == 1 ? "/dev/mem" : - unit == 2 ? "/dev/kmem" : - "/dev/port"); + debug_printf ("%s is accessible under NT/W2K only", dev ().name); return 0; } @@ -406,9 +404,9 @@ fhandler_dev_mem::fixup_mmap_after_fork (HANDLE h, DWORD access, DWORD offset, } int -fhandler_dev_mem::fstat (struct __stat64 *buf, path_conv *pc) +fhandler_dev_mem::fstat (struct __stat64 *buf) { - fhandler_base::fstat (buf, pc); + fhandler_base::fstat (buf); buf->st_mode = S_IFCHR; if (wincap.has_physical_mem_access ()) buf->st_mode |= S_IRUSR | S_IWUSR | |