summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/path.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2000-10-07 17:35:36 +0000
committerCorinna Vinschen <corinna@vinschen.de>2000-10-07 17:35:36 +0000
commit4ea34a68506bcd5233be1a3bfca9b81b5f9234b2 (patch)
tree7c8d1066f9b48e736b8be2c52d81708cfbe59e35 /winsup/cygwin/path.cc
parent7aadaf0f7eefe50e4f7d4aa71b71b1f85e37ea6e (diff)
downloadcygnal-4ea34a68506bcd5233be1a3bfca9b81b5f9234b2.tar.gz
cygnal-4ea34a68506bcd5233be1a3bfca9b81b5f9234b2.tar.bz2
cygnal-4ea34a68506bcd5233be1a3bfca9b81b5f9234b2.zip
* fhandler.h (fhandler_dev_mem): Add methods mmap, munmap and msync.
Add `unit' member. * fhandler_mem.cc (fhandler_dev_mem): Initialize `unit' as well. (init): Care for differences between /dev/mem, /dev/kmem (not implemented yet) and /dev/port. (open): Change debug message to reflect the device. (mmap): New function. (munmap): Ditto. (msync): Ditto. (fstat): Use unit when setting st_dev in stat structure. * mmap.cc (mmap): Handle MAP_ANONYMOUS flag. Change error handling slightly. * path.cc (get_device_number): Handle /dev/port.
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r--winsup/cygwin/path.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 033a0c5c5..fb8bcd5dd 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -500,7 +500,15 @@ get_device_number (const char *name, int &unit, BOOL from_conv)
unit = 8 + (deveqn ("u", 1) ? 1 : 0); /* Keep unit Linux conformant */
}
else if (deveq ("mem"))
- devn = FH_MEM;
+ {
+ devn = FH_MEM;
+ unit = 1;
+ }
+ else if (deveq ("port"))
+ {
+ devn = FH_MEM;
+ unit = 4;
+ }
else if (deveqn ("com", 3) && (unit = digits (name + 3)) >= 0)
devn = FH_SERIAL;
else if (deveq ("pipe") || deveq ("piper") || deveq ("pipew"))