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