gnutls_transport_set_pull_timeout_function(3) — Linux manual page


gnutls_transp...eout_function(3) gnutls gnutls_transp...eout_function(3)

NAME         top

       gnutls_transport_set_pull_timeout_function - API function

SYNOPSIS         top

       #include <gnutls/gnutls.h>

       void gnutls_transport_set_pull_timeout_function(gnutls_session_t
       session, gnutls_pull_timeout_func func);

ARGUMENTS         top

       gnutls_session_t session
                   is a gnutls_session_t type.

       gnutls_pull_timeout_func func
                   a callback function

DESCRIPTION         top

       This is the function where you set a function for gnutls to know
       whether data are ready to be received. It should wait for data a
       given time frame in milliseconds. The callback should return 0 on
       timeout, a positive number if data can be received, and -1 on
       error.  You'll need to override this function if select() is not
       suitable for the provided transport calls.

       As with select(), if the timeout value is zero the callback
       should return zero if no data are immediately available. The
       special value GNUTLS_INDEFINITE_TIMEOUT indicates that the
       callback should wait indefinitely for data.

        gnutls_pull_timeout_func is of the form, int
       (*gnutls_pull_timeout_func)(gnutls_transport_ptr_t, unsigned int

       This callback is necessary when gnutls_handshake_set_timeout() or
       gnutls_record_set_timeout() are set, under TLS1.3 and for
       enforcing the DTLS mode timeouts when in blocking mode.

       For compatibility with future GnuTLS versions this callback must
       be set when a custom pull function is registered. The callback
       will not be used when the session is in TLS mode with
       non-blocking sockets. That is, when GNUTLS_NONBLOCK is specified
       for a TLS session in gnutls_init().

       The helper function gnutls_system_recv_timeout() is provided to
       simplify writing callbacks.

SINCE         top


REPORTING BUGS         top

       Report bugs to <>.
       Home page:

COPYRIGHT         top

       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         top

       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

COLOPHON         top

       This page is part of the GnuTLS (GnuTLS Transport Layer Security
       Library) project.  Information about the project can be found at
       ⟨⟩.  If you have a bug report for this
       manual page, send it to  This page was obtained
       from the tarball gnutls-3.8.5.tar.xz fetched from
       ⟨⟩ on 2024-06-14.  If you
       discover any rendering problems in this HTML version of the page,
       or you believe there is a better or more up-to-date source for
       the page, or you have corrections or improvements to the
       information in this COLOPHON (which is not part of the original
       manual page), send a mail to

gnutls                            3.8.5 gnutls_transp...eout_function(3)