SSL_GET_EVENT_TIMEOUT(3ossl) OpenSSL SSL_GET_EVENT_TIMEOUT(3ossl)
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(3) 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(3), one of the
following cases applies:
o 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.
o 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(3) 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.
o 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(3) 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(3) supersedes the older
DTLSv1_get_timeout(3) function for all use cases.
If the call to SSL_get_event_timeout(3) 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(3) 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.3.2 2024-09-04 SSL_GET_EVENT_TIMEOUT(3ossl)
openssl 3.3.2 - Generated Thu Sep 26 15:17:05 CDT 2024
