gnutls_heartbeat_ping — API function


#include <gnutls/gnutls.h>

int gnutls_heartbeat_ping(gnutls_session_t session, size_t data_size, unsigned int max_tries, unsigned int flags);


gnutls_session_t session

is a gnutls_session_t type.

size_t data_size

is the length of the ping payload.

unsigned int max_tries

if flags is GNUTLS_HEARTBEAT_WAIT then this sets the number of retransmissions. Use zero for indefinite (until timeout).

unsigned int flags

if GNUTLS_HEARTBEAT_WAIT then wait for pong or timeout instead of returning immediately.


This function sends a ping to the peer. If the  flags is set to GNUTLS_HEARTBEAT_WAIT then it waits for a reply from the peer.

Note that it is highly recommended to use this function with the flag GNUTLS_HEARTBEAT_WAIT, or you need to handle retransmissions and timeouts manually.

The total TLS data transmitted as part of the ping message are given by the following formula: MAX(16,  data_size )+gnutls_record_overhead_size()+3.


GNUTLS_E_SUCCESS on success, otherwise a negative error code.



Reporting Bugs

Report bugs to <>.
Home page:

See Also

The full documentation for gnutls is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit


3.6.9 gnutls