diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2004-04-09 12:09:45 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2004-04-09 12:09:45 +0000 |
commit | 7aa88267c1df43b50cd3236e3e06747e1830d27b (patch) | |
tree | d06c953ba04d4c2d38dcd4eb5665ab5595c1d638 /winsup/cygwin/fhandler.h | |
parent | b79f85c28b63ccc3326ac78654c8171c3f8a5706 (diff) | |
download | cygnal-7aa88267c1df43b50cd3236e3e06747e1830d27b.tar.gz cygnal-7aa88267c1df43b50cd3236e3e06747e1830d27b.tar.bz2 cygnal-7aa88267c1df43b50cd3236e3e06747e1830d27b.zip |
* fhandler.h (fhandler_base::status): Declare private.
(fhandler_base::open_status): Ditto.
(class fhandler_socket): Move status bits into private bitfield struct
type status_flags. Change accessor methods appropriately.
* fhandler_socket.cc (fhandler_socket::fhandler_socket): Accomodate
above status bit changes.
* tty.h: Remove status bit enumerator.
(TTYISSETF): Remove.
(TTYSETF): Remove.
(TTYCLEARF): Remove.
(TTYCONDSETF): Remove.
(tty_min::status): Define as private bitfield struct type status_flags.
Add appropriate accessor methods.
* fhandler_console.cc: Use tty_min::status accessor methods throughout.
* fhandler_termios.cc: Ditto.
* winsup.h (__ISSETF): Remove.
(__SETF): Remove.
(__CLEARF): Remove.
(__CONDSETF): Remove.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r-- | winsup/cygwin/fhandler.h | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index 13920559d..b889c8450 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -71,7 +71,6 @@ class fhandler_base friend class dtable; friend void close_all_files (); - protected: struct status_flags { unsigned rbinary : 1; /* binary read mode */ @@ -92,7 +91,7 @@ class fhandler_base unsigned close_on_exec : 1; /* close-on-exec */ unsigned need_fork_fixup : 1; /* Set if need to fixup after fork. */ - public: + public: status_flags () : rbinary (0), rbinset (0), wbinary (0), wbinset (0), no_handle (0), async_io (0), uninterruptible_io (0), append_mode (0), lseeked (0), @@ -355,9 +354,17 @@ class fhandler_socket: public fhandler_base HANDLE secret_event; struct _WSAPROTOCOL_INFOA *prot_info_ptr; char *sun_path; - unsigned sock_saw_shut_rd : 1; /* Socket saw a SHUT_RD */ - unsigned sock_saw_shut_wr : 1; /* Socket saw a SHUT_WR */ - unsigned had_connect_or_listen : 2; + struct status_flags + { + unsigned sock_saw_shut_rd : 1; /* Socket saw a SHUT_RD */ + unsigned sock_saw_shut_wr : 1; /* Socket saw a SHUT_WR */ + unsigned had_connect_or_listen : 2; + public: + status_flags () : + sock_saw_shut_rd (0), sock_saw_shut_wr (0), + had_connect_or_listen (unconnected) + {} + } status; public: fhandler_socket (); @@ -365,20 +372,22 @@ class fhandler_socket: public fhandler_base int get_socket () { return (int) get_handle(); } fhandler_socket *is_socket () { return this; } - bool saw_shutdown_read () const {return sock_saw_shut_rd;} - bool saw_shutdown_write () const {return sock_saw_shut_wr;} + bool saw_shutdown_read () const { return status.sock_saw_shut_rd; } + bool saw_shutdown_write () const { return status.sock_saw_shut_wr; } - void set_shutdown_read () { sock_saw_shut_rd = 1;} - void set_shutdown_write () { sock_saw_shut_wr = 1;} + void set_shutdown_read () { status.sock_saw_shut_rd = 1;} + void set_shutdown_write () { status.sock_saw_shut_wr = 1;} - bool is_unconnected () const { return had_connect_or_listen == unconnected; } + bool is_unconnected () const + { return status.had_connect_or_listen == unconnected; } bool is_connect_pending () const - { return had_connect_or_listen == connect_pending; } - bool is_connected () const { return had_connect_or_listen == connected; } + { return status.had_connect_or_listen == connect_pending; } + bool is_connected () const + { return status.had_connect_or_listen == connected; } void set_connect_state (connect_state newstate) - { had_connect_or_listen = newstate; } + { status.had_connect_or_listen = newstate; } connect_state get_connect_state () const - { return (connect_state) had_connect_or_listen; } + { return (connect_state) status.had_connect_or_listen; } int bind (const struct sockaddr *name, int namelen); int connect (const struct sockaddr *name, int namelen); |