Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/fhandler_mem.cc')
-rw-r--r--winsup/cygwin/fhandler_mem.cc22
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 |