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:
authorCorinna Vinschen <corinna@vinschen.de>2000-10-07 21:35:36 +0400
committerCorinna Vinschen <corinna@vinschen.de>2000-10-07 21:35:36 +0400
commit4ea34a68506bcd5233be1a3bfca9b81b5f9234b2 (patch)
tree7c8d1066f9b48e736b8be2c52d81708cfbe59e35 /winsup/cygwin/fhandler.h
parent7aadaf0f7eefe50e4f7d4aa71b71b1f85e37ea6e (diff)
* 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/fhandler.h')
-rw-r--r--winsup/cygwin/fhandler.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h
index 16b0e7332..3f8a1c1e0 100644
--- a/winsup/cygwin/fhandler.h
+++ b/winsup/cygwin/fhandler.h
@@ -467,10 +467,9 @@ public:
BOOL is_device () { return FALSE; }
int fstat (struct stat *buf);
- virtual HANDLE mmap (caddr_t *addr, size_t len, DWORD access,
- int flags, off_t off);
- virtual int munmap (HANDLE h, caddr_t addr, size_t len);
- virtual int msync (HANDLE h, caddr_t addr, size_t len, int flags);
+ HANDLE mmap (caddr_t *addr, size_t len, DWORD access, int flags, off_t off);
+ int munmap (HANDLE h, caddr_t addr, size_t len);
+ int msync (HANDLE h, caddr_t addr, size_t len, int flags);
};
class fhandler_serial: public fhandler_base
@@ -777,8 +776,9 @@ public:
class fhandler_dev_mem: public fhandler_base
{
protected:
- unsigned long mem_size;
- unsigned long pos;
+ int unit;
+ DWORD mem_size;
+ DWORD pos;
bool init_phase;
void init (void);
@@ -795,6 +795,10 @@ public:
int fstat (struct stat *buf);
int dup (fhandler_base *child);
+ HANDLE mmap (caddr_t *addr, size_t len, DWORD access, int flags, off_t off);
+ int munmap (HANDLE h, caddr_t addr, size_t len);
+ int msync (HANDLE h, caddr_t addr, size_t len, int flags);
+
void dump ();
};