xref: /freebsd/crypto/openssl/doc/man3/SSL_get0_connection.pod (revision e7be843b4a162e68651d3911f0357ed464915629)
1*e7be843bSPierre Pronchery=pod
2*e7be843bSPierre Pronchery
3*e7be843bSPierre Pronchery=head1 NAME
4*e7be843bSPierre Pronchery
5*e7be843bSPierre ProncherySSL_get0_connection, SSL_is_connection - get a QUIC connection SSL object from a
6*e7be843bSPierre ProncheryQUIC stream SSL object
7*e7be843bSPierre Pronchery
8*e7be843bSPierre Pronchery=head1 SYNOPSIS
9*e7be843bSPierre Pronchery
10*e7be843bSPierre Pronchery #include <openssl/ssl.h>
11*e7be843bSPierre Pronchery
12*e7be843bSPierre Pronchery SSL *SSL_get0_connection(SSL *ssl);
13*e7be843bSPierre Pronchery int SSL_is_connection(SSL *ssl);
14*e7be843bSPierre Pronchery
15*e7be843bSPierre Pronchery=head1 DESCRIPTION
16*e7be843bSPierre Pronchery
17*e7be843bSPierre ProncheryThe SSL_get0_connection() function, when called on a QUIC stream SSL object,
18*e7be843bSPierre Proncheryreturns the QUIC connection SSL object which the QUIC stream SSL object belongs
19*e7be843bSPierre Proncheryto.
20*e7be843bSPierre Pronchery
21*e7be843bSPierre ProncheryWhen called on a QUIC connection SSL object, it returns the same object.
22*e7be843bSPierre Pronchery
23*e7be843bSPierre ProncheryWhen called on a non-QUIC object, it returns the same object it was passed.
24*e7be843bSPierre Pronchery
25*e7be843bSPierre ProncherySSL_is_connection() returns 1 for QUIC connection SSL objects and for non-QUIC
26*e7be843bSPierre ProncherySSL objects, but returns 0 for QUIC stream SSL objects.
27*e7be843bSPierre Pronchery
28*e7be843bSPierre Pronchery=head1 RETURN VALUES
29*e7be843bSPierre Pronchery
30*e7be843bSPierre ProncherySSL_get0_connection() returns the QUIC connection SSL object (for a QUIC stream
31*e7be843bSPierre ProncherySSL object) and otherwise returns the same SSL object passed. It always returns
32*e7be843bSPierre Proncherynon-NULL.
33*e7be843bSPierre Pronchery
34*e7be843bSPierre ProncherySSL_is_connection() returns 1 if the SSL object is not a QUIC stream SSL object
35*e7be843bSPierre Proncheryand 0 otherwise.
36*e7be843bSPierre Pronchery
37*e7be843bSPierre Pronchery=head1 SEE ALSO
38*e7be843bSPierre Pronchery
39*e7be843bSPierre ProncheryL<SSL_new(3)>, L<SSL_new_stream(3)>, L<SSL_accept_stream(3)>
40*e7be843bSPierre Pronchery
41*e7be843bSPierre Pronchery=head1 HISTORY
42*e7be843bSPierre Pronchery
43*e7be843bSPierre ProncheryThese functions were added in OpenSSL 3.2.
44*e7be843bSPierre Pronchery
45*e7be843bSPierre Pronchery=head1 COPYRIGHT
46*e7be843bSPierre Pronchery
47*e7be843bSPierre ProncheryCopyright 2002-2023 The OpenSSL Project Authors. All Rights Reserved.
48*e7be843bSPierre Pronchery
49*e7be843bSPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
50*e7be843bSPierre Proncherythis file except in compliance with the License.  You can obtain a copy
51*e7be843bSPierre Proncheryin the file LICENSE in the source distribution or at
52*e7be843bSPierre ProncheryL<https://www.openssl.org/source/license.html>.
53*e7be843bSPierre Pronchery
54*e7be843bSPierre Pronchery=cut
55