diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2005-03-23 17:27:18 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2005-03-23 17:27:18 +0000 |
commit | a6099ff810747d2830edebc836202ff8dae1ead7 (patch) | |
tree | 3c79a17be098abb709311e8893488d2c3c116d33 /winsup/cygwin/fhandler.h | |
parent | bc3f9e29d0baa7d8ad07567a7780473c0fd3edcc (diff) | |
download | cygnal-a6099ff810747d2830edebc836202ff8dae1ead7.tar.gz cygnal-a6099ff810747d2830edebc836202ff8dae1ead7.tar.bz2 cygnal-a6099ff810747d2830edebc836202ff8dae1ead7.zip |
* fhandler.h (fhandler_socket::eid_connect): Make private.
(fhandler_socket::set_connect_secret): Ditto.
(fhandler_socket::get_connect_secret): Ditto.
(fhandler_socket::create_secret_event): Ditto. Remove secret argument.
(fhandler_socket::check_peer_secret_event): Ditto.
(fhandler_socket::signal_secret_event): Make private.
(fhandler_socket::close_secret_event): Ditto.
(fhandler_socket::sec_event_accept): New private method.
(fhandler_socket::sec_event_connect): Ditto.
(fhandler_socket::af_local_connect): New public method.
* fhandler_socket.cc: Use 'struct sockaddr' and 'struct sockaddr_in'
rather than just 'sockaddr' and 'sockaddr_in' throughout.
(fhandler_socket::eid_connect): Drop AF_LOCAL/SOCK_STREAM test.
(fhandler_socket::create_secret_event): Remove secret argument.
Always use connect_secret instead.
(fhandler_socket::check_peer_secret_event): Ditto.
(fhandler_socket::sec_event_connect): New method, combining entire
secret event handshake on connect side.
(fhandler_socket::af_local_connect): New method, combining secret
event handshake and eid credential transaction on connect side, to
be called from select.
(fhandler_socket::sec_event_accept): New method, combining entire
secret event handshake on accept side.
(fhandler_socket::connect): Drop secret, use connect_secret instead.
Move entire secret event handshake to sec_event_connect.
(fhandler_socket::accept): Move entire secret event handshake to
sec_event_accept.
* select.cc (set_bits): Just call af_local_connect here.
Diffstat (limited to 'winsup/cygwin/fhandler.h')
-rw-r--r-- | winsup/cygwin/fhandler.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/winsup/cygwin/fhandler.h b/winsup/cygwin/fhandler.h index 1ca95d35f..2f1424681 100644 --- a/winsup/cygwin/fhandler.h +++ b/winsup/cygwin/fhandler.h @@ -376,8 +376,8 @@ class fhandler_socket: public fhandler_base bool eid_recv (void); bool eid_send (void); void eid_accept (void); - public: void eid_connect (void); + public: void set_socketpair_eids (void); private: @@ -458,12 +458,19 @@ class fhandler_socket: public fhandler_base int get_socket_type () {return type;} void set_sun_path (const char *path); char *get_sun_path () {return sun_path;} + + private: void set_connect_secret (); void get_connect_secret (char*); - HANDLE create_secret_event (int *secret = NULL); - int check_peer_secret_event (struct sockaddr_in *peer, int *secret = NULL); + HANDLE create_secret_event (); + int check_peer_secret_event (struct sockaddr_in *peer); void signal_secret_event (); void close_secret_event (); + int sec_event_accept (int, struct sockaddr_in *); + int sec_event_connect (struct sockaddr_in *peer); + public: + int af_local_connect (void); + int __stdcall fstat (struct __stat64 *buf) __attribute__ ((regparm (2))); int __stdcall fchmod (mode_t mode) __attribute__ ((regparm (1))); int __stdcall fchown (__uid32_t uid, __gid32_t gid) __attribute__ ((regparm (2))); |