Provided by: gnutls-doc_3.8.3-1.1ubuntu3.2_all bug

NAME

       gnutls_record_send - API function

SYNOPSIS

       #include <gnutls/gnutls.h>

       ssize_t gnutls_record_send(gnutls_session_t session, const void * data, size_t data_size);

ARGUMENTS

       gnutls_session_t session
                   is a gnutls_session_t type.

       const void * data
                   contains the data to send

       size_t data_size
                   is the length of the data

DESCRIPTION

       This  function  has  the  similar  semantics  with send().  The only difference is that it
       accepts a GnuTLS session, and uses different error codes.  Note that if the send buffer is
       full, send() will block this function.  See the send() documentation for more information.

       You    can   replace   the   default   push   function   which   is   send(),   by   using
       gnutls_transport_set_push_function().

       If the EINTR is returned by the internal push function 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 exact same parameters, or provide a NULL pointer for  data  and  0
       for   data_size  ,  in  order to write the same data as before. If you wish to discard the
       previous data instead of retrying, you  must  call  gnutls_record_discard_queued()  before
       calling  this  function  with  different  parameters.  Note  that the latter works only on
       special transports (e.g., UDP).  cf. gnutls_record_get_direction().

       Note that in DTLS this function will return the GNUTLS_E_LARGE_PACKET error  code  if  the
       send data exceed the data MTU value - as returned by gnutls_dtls_get_data_mtu(). The errno
       value EMSGSIZE also maps to GNUTLS_E_LARGE_PACKET.  Note that since 3.2.13  this  function
       can  be  called under cork in DTLS mode, and will refuse to send data over the MTU size by
       returning GNUTLS_E_LARGE_PACKET.

RETURNS

       The number of bytes sent, or a negative error code.  The number of  bytes  sent  might  be
       less  than   data_size  .   The maximum number of bytes this function can send in a single
       call depends on the negotiated maximum record size.

REPORTING BUGS

       Report bugs to <bugs@gnutls.org>.
       Home page: https://www.gnutls.org

COPYRIGHT

       Copyright © 2001-2023 Free Software Foundation, Inc., and others.
       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.

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

       https://www.gnutls.org/manual/