Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
gnutls_transpor...imeout_function(3) gnutls gnutls_transpor...imeout_function(3)

NAME
     gnutls_transport_set_pull_timeout_function - API function

SYNOPSIS
     #include <gnutls/gnutls.h>

     void  gnutls_transport_set_pull_timeout_function(gnutls_session_t	session,
     gnutls_pull_timeout_func func);

ARGUMENTS
     gnutls_session_t session
		 is a gnutls_session_t type.

     gnutls_pull_timeout_func func
		 a callback function

DESCRIPTION
     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_INDEFI-
     NITE_TIMEOUT indicates that the callback should wait indefinitely for data.

      gnutls_pull_timeout_func	is  of	 the   form,   int   (*gnutls_pull_time-
     out_func)(gnutls_transport_ptr_t, unsigned int ms);

     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
     3.0

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

COPYRIGHT
     Copyright (C) 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/local/share/doc/gnutls/ directory does not contain the  HTML  form
     visit

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

gnutls				     3.8.13 gnutls_transpor...imeout_function(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gnutls_transport_set_pull_timeout_function&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help