Updated: 2025/Nov/16

Please read Privacy Policy. It's for your privacy.


DTLSv1_get_timeout(3)               OpenSSL              DTLSv1_get_timeout(3)


NAME
       DTLSv1_get_timeout - determine when a DTLS or QUIC SSL object next
       needs a timeout event to be handled

SYNOPSIS
        #include <openssl/ssl.h>

        int DTLSv1_get_timeout(SSL *s, struct timeval *tv);

DESCRIPTION
       DTLSv1_get_timeout() can be used on a DTLS or QUIC SSL object to
       determine when the SSL object next needs to perform internal processing
       due to the passage of time.

       Calling DTLSv1_get_timeout() results in *tv being written with an
       amount of time left before the SSL object needs have
       DTLSv1_handle_timeout() called on it.  If the SSL object needs to be
       ticked immediately, *tv is zeroed and the function succeeds, returning
       1. If no timeout is currently active, this function returns 0.

       This function is only applicable to DTLS and QUIC objects. It fails if
       called on any other kind of SSL object.

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

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

       SSL_get_event_timeout(3) supersedes all use cases for this this
       function and may be used instead of it.

RETURN VALUES
       On success, writes a duration to *tv and returns 1.

       Returns 0 on failure, or if no timeout is currently active.

SEE ALSO
       DTLSv1_handle_timeout(3), SSL_get_event_timeout(3), ssl(7)

COPYRIGHT
       Copyright 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.5.1                             2025-07-01             DTLSv1_get_timeout(3)