gnutls_record_set_max_size man page

gnutls_record_set_max_size — API function


#include <gnutls/gnutls.h>

ssize_t gnutls_record_set_max_size(gnutls_session_t session, size_t size);


gnutls_session_t session

is a gnutls_session_t type.

size_t size

is the new size


This function sets the maximum record packet size in this connection.  This property can only be set to clients.  The server may choose not to accept the requested size.

The requested record size does get in effect immediately only while sending data. The receive part will take effect after a successful handshake.

Prior to 3.6.4, this function was implemented using a TLS extension called 'max record size', which limits the acceptable values to 512(=2^9), 1024(=2^10), 2048(=2^11) and 4096(=2^12). Since 3.6.4, it uses another TLS extension called 'record size limit', which doesn't have the limitation, as long as the value ranges between 512 and 16384.  Note that not all TLS implementations use or even understand those extension.


On success, GNUTLS_E_SUCCESS (0) is returned, otherwise a negative error code is returned.

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.3 gnutls