gnutls_handshake — This is the main function in the handshake protocol.
#include <gnutls/gnutls.h>
int
gnutls_handshake( |
gnutls_session_t | session) ; |
This function does the handshake of the TLS/SSL protocol, and initializes the TLS connection.
This function will fail if any problem is encountered, and will return a negative error code. In case of a client, if the client has asked to resume a session, but the server couldn't, then a full handshake will be performed.
The non−fatal errors such as GNUTLS_E_AGAIN and GNUTLS_E_INTERRUPTED interrupt the
handshake procedure, which should be later be resumed. Call
this function again, until it returns 0; cf. gnutls_record_get_direction
() and
gnutls_error_is_fatal
().
If this function is called by a server after a rehandshake request then GNUTLS_E_GOT_APPLICATION_DATA or GNUTLS_E_WARNING_ALERT_RECEIVED may be returned. Note that these are non fatal errors, only in the specific case of a rehandshake. Their meaning is that the client rejected the rehandshake request.
The full documentation for gnutls is maintained as a Texinfo manual. If the info and gnutls programs are properly installed at your site, the command
info gnutls
should give you access to the complete manual.
COPYRIGHT |
---|
Copyright © 2008 Free Software Foundation. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. |