From 7aa88267c1df43b50cd3236e3e06747e1830d27b Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 9 Apr 2004 12:09:45 +0000 Subject: * 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. --- winsup/cygwin/fhandler.h | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) (limited to 'winsup/cygwin/fhandler.h') 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); -- cgit v1.2.3