gnutls_ia_recv3
Read data from the tls/ia protocol
Usage
#include <gnutls/extra.h>
ssize_t gnutls_ia_recv(gnutls_session_t session, char * data, size_t sizeofdata);
Arguments
gnutls_session_t session
|
is a |
|---|---|
char * data
|
the buffer that the data will be read into, must hold >= 12 bytes. |
size_t sizeofdata
|
the number of requested bytes, must be >= 12. |
Overview
Receive TLS/IA data. This function has the similar semantics with recv(). The only difference is that it accepts a GnuTLS session, and uses different error codes.
If the server attempt to finish an application phase, this function will return GNUTLS_E_WARNING_IA_IPHF_RECEIVED or GNUTLS_E_WARNING_IA_FPHF_RECEIVED. The caller should then invoke gnutls_ia_verify_endphase(), and if it runs the client side, also send an endphase message of its own using gnutls_ia_endphase_send.
If EINTR is returned by the internal push function (the default is code{recv()}) then GNUTLS_E_INTERRUPTED will be returned. If GNUTLS_E_INTERRUPTED or GNUTLS_E_AGAIN is returned, you must call this function again, with the same parameters; alternatively you could provide a NULL pointer for data, and 0 for size.
Returns
The number of bytes received. A negative error code is returned in case of an error. The GNUTLS_E_WARNING_IA_IPHF_RECEIVED and GNUTLS_E_WARNING_IA_FPHF_RECEIVED errors are returned when an application phase finished message has been sent by the server.
Releases
3 releases since Debian 4.0 (Etch); the text changed 2 times.