=head1 NAME
-SSL_set_connect_state, SSL_set_accept_state - prepare SSL object to work in client or server mode
+SSL_set_connect_state, SSL_set_accept_state, SSL_is_server
+- functions for manipulating and examining the client or server mode of an SSL object
=head1 SYNOPSIS
void SSL_set_accept_state(SSL *ssl);
+ int SSL_is_server(const SSL *ssl);
+
=head1 DESCRIPTION
SSL_set_connect_state() sets B<ssl> to work in client mode.
SSL_set_accept_state() sets B<ssl> to work in server mode.
+SSL_is_server() checks if B<ssl> is working in server mode.
+
=head1 NOTES
When the SSL_CTX object was created with L<SSL_CTX_new(3)>,
the handshake routines must be explicitly set in advance using either
SSL_set_connect_state() or SSL_set_accept_state().
+If SSL_is_server() is called before SSL_set_connect_state() or
+SSL_set_accept_state() is called (either automatically or explicitly),
+the result depends on what method was used when SSL_CTX was created with
+L<SSL_CTX_new(3)>. If a generic method or a dedicated server method was
+passed to L<SSL_CTX_new(3)>, SSL_is_server() returns 1; otherwise, it returns 0.
+
=head1 RETURN VALUES
SSL_set_connect_state() and SSL_set_accept_state() do not return diagnostic
information.
+SSL_is_server() returns 1 if B<ssl> is working in server mode or 0 for client mode.
+
=head1 SEE ALSO
L<ssl(7)>, L<SSL_new(3)>, L<SSL_CTX_new(3)>,
=head1 COPYRIGHT
-Copyright 2001-2016 The OpenSSL Project Authors. All Rights Reserved.
+Copyright 2001-2017 The OpenSSL Project Authors. All Rights Reserved.
Licensed under the OpenSSL license (the "License"). You may not use
this file except in compliance with the License. You can obtain a copy