gnutls_record_send_range — API function


#include <gnutls/gnutls.h>
ssize_t gnutls_record_send_range( gnutls_session_t session,
  const void * data,
  size_t data_size,
  const gnutls_range_st * range);


gnutls_session_t session

is a gnutls_session_t structure.

const void * data

contains the data to send.

size_t data_size

is the length of the data.

const gnutls_range_st * range

is the range of lengths in which the real data length must be hidden.


This function operates like gnutls_record_send() but, while gnutls_record_send() adds minimal padding to each TLS record, this function uses the TLS extra−padding feature to conceal the real data size within the range of lengths provided. Some TLS sessions do not support extra padding (e.g. stream ciphers in standard TLS or SSL3 sessions). To know whether the current session supports extra padding, and hence length hiding, use the gnutls_record_can_use_length_hiding() function.


This function currently is only limited to blocking sockets.


The number of bytes sent (that is data_size in a successful invocation), or a negative error code.


Report bugs to <>.

General guidelines for reporting bugs:

GnuTLS home page:


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. As an alternative you may obtain the manual from:


Copyright © 2001-2013 Free Software Foundation, Inc..

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.