gnutls_record_recv — reads data from the TLS record protocol
#include <gnutls/gnutls.h>
ssize_t gnutls_record_recv( |
gnutls_session_t | session, |
void * | data, | |
size_t | sizeofdata) ; |
is a gnutls_session_t
structure.
the buffer that the data will be read into
the number of requested bytes
This function has the similar semantics with recv()
. The only difference
is that is accepts a GNUTLS session, and uses different error
codes.
In the special case that a server requests a renegotiation, the client may receive an error code of GNUTLS_E_REHANDSHAKE. This message may be simply ignored, replied with an alert containing NO_RENEGOTIATION, or replied with a new handshake, depending on the client's will.
If EINTR is returned by the
internal push function (the default is recv()
) then GNUTLS_E_INTERRUPTED will be returned. If
GNUTLS_E_INTERRUPTED or
GNUTLS_E_AGAIN is returned,
you must call this function again to get the data. See also
gnutls_record_get_direction()
.
A server may also receive GNUTLS_E_REHANDSHAKE when a client has initiated a handshake. In that case the server can only initiate a handshake or terminate the connection.
Returns the number of bytes received and zero on EOF. A
negative error code is returned in case of an error. The
number of bytes received might be less than sizeofdata
.
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 © 2006, 2007 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. |