DTLSv1_get_timeout.3ossl 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. .\" -*- mode: troff; coding: utf-8 -*-
  2. .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
  3. .\"
  4. .\" Standard preamble:
  5. .\" ========================================================================
  6. .de Sp \" Vertical space (when we can't use .PP)
  7. .if t .sp .5v
  8. .if n .sp
  9. ..
  10. .de Vb \" Begin verbatim text
  11. .ft CW
  12. .nf
  13. .ne \\$1
  14. ..
  15. .de Ve \" End verbatim text
  16. .ft R
  17. .fi
  18. ..
  19. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
  20. .ie n \{\
  21. . ds C` ""
  22. . ds C' ""
  23. 'br\}
  24. .el\{\
  25. . ds C`
  26. . ds C'
  27. 'br\}
  28. .\"
  29. .\" Escape single quotes in literal strings from groff's Unicode transform.
  30. .ie \n(.g .ds Aq \(aq
  31. .el .ds Aq '
  32. .\"
  33. .\" If the F register is >0, we'll generate index entries on stderr for
  34. .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
  35. .\" entries marked with X<> in POD. Of course, you'll have to process the
  36. .\" output yourself in some meaningful fashion.
  37. .\"
  38. .\" Avoid warning from groff about undefined register 'F'.
  39. .de IX
  40. ..
  41. .nr rF 0
  42. .if \n(.g .if rF .nr rF 1
  43. .if (\n(rF:(\n(.g==0)) \{\
  44. . if \nF \{\
  45. . de IX
  46. . tm Index:\\$1\t\\n%\t"\\$2"
  47. ..
  48. . if !\nF==2 \{\
  49. . nr % 0
  50. . nr F 2
  51. . \}
  52. . \}
  53. .\}
  54. .rr rF
  55. .\" ========================================================================
  56. .\"
  57. .IX Title "DTLSV1_GET_TIMEOUT 3ossl"
  58. .TH DTLSV1_GET_TIMEOUT 3ossl 2025-01-17 3.4.0 OpenSSL
  59. .\" For nroff, turn off justification. Always turn off hyphenation; it makes
  60. .\" way too many mistakes in technical documents.
  61. .if n .ad l
  62. .nh
  63. .SH NAME
  64. DTLSv1_get_timeout \- determine when a DTLS or QUIC SSL object next needs a
  65. timeout event to be handled
  66. .SH SYNOPSIS
  67. .IX Header "SYNOPSIS"
  68. .Vb 1
  69. \& #include <openssl/ssl.h>
  70. \&
  71. \& int DTLSv1_get_timeout(SSL *s, struct timeval *tv);
  72. .Ve
  73. .SH DESCRIPTION
  74. .IX Header "DESCRIPTION"
  75. \&\fBDTLSv1_get_timeout()\fR can be used on a DTLS or QUIC SSL object to determine when
  76. the SSL object next needs to perform internal processing due to the passage of
  77. time.
  78. .PP
  79. Calling \fBDTLSv1_get_timeout()\fR results in \fI*tv\fR being written with an amount of
  80. time left before the SSL object needs have \fBDTLSv1_handle_timeout()\fR called on it.
  81. If the SSL object needs to be ticked immediately, \fI*tv\fR is zeroed and the
  82. function succeeds, returning 1. If no timeout is currently active, this function
  83. returns 0.
  84. .PP
  85. This function is only applicable to DTLS and QUIC objects. It fails if called on
  86. any other kind of SSL object.
  87. .PP
  88. Note that the value output by a call to \fBDTLSv1_get_timeout()\fR may change as a
  89. result of other calls to the SSL object.
  90. .PP
  91. Once the timeout expires, \fBDTLSv1_handle_timeout()\fR should be called to handle any
  92. internal processing which is due; for more information, see
  93. \&\fBDTLSv1_handle_timeout\fR\|(3).
  94. .PP
  95. \&\fBSSL_get_event_timeout\fR\|(3) supersedes all use cases for this this function and
  96. may be used instead of it.
  97. .SH "RETURN VALUES"
  98. .IX Header "RETURN VALUES"
  99. On success, writes a duration to \fI*tv\fR and returns 1.
  100. .PP
  101. Returns 0 on failure, or if no timeout is currently active.
  102. .SH "SEE ALSO"
  103. .IX Header "SEE ALSO"
  104. \&\fBDTLSv1_handle_timeout\fR\|(3), \fBSSL_get_event_timeout\fR\|(3), \fBssl\fR\|(7)
  105. .SH COPYRIGHT
  106. .IX Header "COPYRIGHT"
  107. Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.
  108. .PP
  109. Licensed under the Apache License 2.0 (the "License"). You may not use
  110. this file except in compliance with the License. You can obtain a copy
  111. in the file LICENSE in the source distribution or at
  112. <https://www.openssl.org/source/license.html>.