Provided by: libssl-doc_3.4.1-1ubuntu3_all bug

NAME

       SSL_get_event_timeout - determine when an SSL object next needs to have events handled

SYNOPSIS

        #include <openssl/ssl.h>

        int SSL_get_event_timeout(SSL *s, struct timeval *tv, int *is_infinite);

DESCRIPTION

       SSL_get_event_timeout() determines when the SSL object next needs to perform internal processing due to
       the passage of time.

       All arguments are required; tv and is_infinite must be non-NULL.

       Upon the successful return of SSL_get_event_timeout(), one of the following cases applies:

       •   The  SSL  object  has events which need to be handled immediately; The fields of *tv are set to 0 and
           *is_infinite is set to 0.

       •   The SSL object has events which need to be handled after some amount of time (relative to the time at
           which  SSL_get_event_timeout()  was  called).  *tv  is  set  to  the  amount  of  time  after   which
           SSL_handle_events(3) should be called and *is_infinite is set to 0.

       •   There  are  currently  no  timer  events  which  require  handling in the future. The value of *tv is
           unspecified and *is_infinite is set to 1.

       This function is currently applicable only to DTLS and QUIC connection SSL objects. If it  is  called  on
       any other kind of SSL object, it always outputs infinity. This is considered a success condition.

       For  DTLS,  this function can be used instead of the older DTLSv1_get_timeout(3) function. Note that this
       function differs from DTLSv1_get_timeout(3) in that the case where no timeout is active is  considered  a
       success condition.

       Note  that the value output by a call to SSL_get_event_timeout() may change as a result of other calls to
       the SSL object.

       Once the timeout expires, SSL_handle_events(3) should be called to handle any internal  processing  which
       is due; for more information, see SSL_handle_events(3).

       Note that SSL_get_event_timeout() supersedes the older DTLSv1_get_timeout(3) function for all use cases.

       If the call to SSL_get_event_timeout() fails, the values of *tv and *is_infinite may still be changed and
       their values become unspecified.

RETURN VALUES

       Returns 1 on success and 0 on failure.

SEE ALSO

       SSL_handle_events(3), DTLSv1_get_timeout(3), ssl(7)

HISTORY

       The SSL_get_event_timeout() function was added in OpenSSL 3.2.

COPYRIGHT

       Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.

       Licensed  under  the  Apache License 2.0 (the "License").  You may not use this file except in compliance
       with the License.  You can obtain  a  copy  in  the  file  LICENSE  in  the  source  distribution  or  at
       <https://www.openssl.org/source/license.html>.

3.4.1                                              2025-04-03                        SSL_GET_EVENT_TIMEOUT(3SSL)