.\" DO NOT MODIFY THIS FILE!  It was generated by gdoc.
.TH "gnutls_bye" 3 "2.12.6.1" "gnutls" "gnutls"
.SH NAME
gnutls_bye \- API function
.SH SYNOPSIS
.B #include <gnutls/gnutls.h>
.sp
.BI "int gnutls_bye(gnutls_session_t " session ", gnutls_close_request_t " how ");"
.SH ARGUMENTS
.IP "gnutls_session_t session" 12
is a \fBgnutls_session_t\fP structure.
.IP "gnutls_close_request_t how" 12
is an integer
.SH "DESCRIPTION"
Terminates the current TLS/SSL connection. The connection should
have been initiated using \fBgnutls_handshake()\fP.  \fIhow\fP should be one
of \fBGNUTLS_SHUT_RDWR\fP, \fBGNUTLS_SHUT_WR\fP.

In case of \fBGNUTLS_SHUT_RDWR\fP then the TLS connection gets
terminated and further receives and sends will be disallowed.  If
the return value is zero you may continue using the connection.
\fBGNUTLS_SHUT_RDWR\fP actually sends an alert containing a close
request and waits for the peer to reply with the same message.

In case of \fBGNUTLS_SHUT_WR\fP then the TLS connection gets terminated
and further sends will be disallowed. In order to reuse the
connection you should wait for an EOF from the peer.
\fBGNUTLS_SHUT_WR\fP sends an alert containing a close request.

Note that not all implementations will properly terminate a TLS
connection.  Some of them, usually for performance reasons, will
terminate only the underlying transport layer, thus causing a
transmission error to the peer.  This error cannot be
distinguished from a malicious party prematurely terminating the
session, thus this behavior is not recommended.

This function may also return \fBGNUTLS_E_AGAIN\fP or
\fBGNUTLS_E_INTERRUPTED\fP; cf.  \fBgnutls_record_get_direction()\fP.
.SH "RETURNS"
\fBGNUTLS_E_SUCCESS\fP on success, or an error code, see
function documentation for entire semantics.
.SH "REPORTING BUGS"
Report bugs to <bug-gnutls@gnu.org>.
GnuTLS home page: http://www.gnu.org/software/gnutls/
General help using GNU software: http://www.gnu.org/gethelp/
.SH COPYRIGHT
Copyright \(co 2008 Free Software Foundation.
.br
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
.SH "SEE ALSO"
The full documentation for
.B gnutls
is maintained as a Texinfo manual.  If the
.B info
and
.B gnutls
programs are properly installed at your site, the command
.IP
.B info gnutls
.PP
should give you access to the complete manual.
