diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2000-10-07 17:35:36 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2000-10-07 17:35:36 +0000 |
commit | 4ea34a68506bcd5233be1a3bfca9b81b5f9234b2 (patch) | |
tree | 7c8d1066f9b48e736b8be2c52d81708cfbe59e35 /winsup/cygwin/fhandler.h | |
parent | 7aadaf0f7eefe50e4f7d4aa71b71b1f85e37ea6e (diff) | |
download | cygnal-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/fhandler.h')
-rw-r--r-- | winsup/cygwin/fhandler.h | 16 |
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 (); }; |