diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2011-05-04 12:56:12 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2011-05-04 12:56:12 +0000 |
commit | 82fa6b929bfebd3afd8cdb39b6cf48a03ff646b7 (patch) | |
tree | 2883d6b71b70ff431db0428a70581e532ba8d3ec /winsup/cygwin/fhandler.h | |
parent | 412693ab6529ecd163630785064f2c989db9ad4a (diff) | |
download | cygnal-82fa6b929bfebd3afd8cdb39b6cf48a03ff646b7.tar.gz cygnal-82fa6b929bfebd3afd8cdb39b6cf48a03ff646b7.tar.bz2 cygnal-82fa6b929bfebd3afd8cdb39b6cf48a03ff646b7.zip |
* fhandler.h (class fhandler_mailslot): Move down in file and change
parent class to fhandler_base_overlapped. Remove declaration of
method write. Add declaraiotns for raw_read and raw_write.
* fhandler_mailslot.cc (fhandler_mailslot::fhandler_mailslot): Call
fhandler_base_overlapped constructor.
(fhandler_mailslot::fstat): Call fhandler_base_overlapped::fstat.
(fhandler_mailslot::open): Drop FILE_SYNCHRONOUS_IO_NONALERT flag from
call to NtOpenFile.
(fhandler_mailslot::raw_read): New method.
(fhandler_mailslot::raw_write): Ditto. Take over length algorithm from
former write method.
(fhandler_mailslot::write): Remove.
(fhandler_mailslot::ioctl): Call fhandler_base_overlapped::ioctl.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r-- | winsup/cygwin/fhandler.h | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index 398aca913..e4ef5cb4a 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -405,18 +405,6 @@ public: virtual bool __stdcall has_ongoing_io () __attribute__ ((regparm (1))) {return false;} }; -class fhandler_mailslot : public fhandler_base -{ - POBJECT_ATTRIBUTES get_object_attr (OBJECT_ATTRIBUTES &, PUNICODE_STRING, int); - public: - fhandler_mailslot (); - int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2))); - int open (int flags, mode_t mode = 0); - ssize_t __stdcall write (const void *ptr, size_t len); - int ioctl (unsigned int cmd, void *); - select_record *select_read (select_stuff *); -}; - struct wsa_event { LONG serial_number; @@ -667,6 +655,19 @@ public: select_record *select_except (select_stuff *); }; +class fhandler_mailslot : public fhandler_base_overlapped +{ + POBJECT_ATTRIBUTES get_object_attr (OBJECT_ATTRIBUTES &, PUNICODE_STRING, int); + public: + fhandler_mailslot (); + int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2))); + int open (int flags, mode_t mode = 0); + void __stdcall raw_read (void *ptr, size_t& len); + ssize_t __stdcall raw_write (const void *, size_t); + int ioctl (unsigned int cmd, void *); + select_record *select_read (select_stuff *); +}; + class fhandler_dev_raw: public fhandler_base { protected: |