=pod

=head1 NAME

SSL_get0_connection, SSL_is_connection - get a QUIC connection SSL object from a
QUIC stream SSL object

=head1 SYNOPSIS

 #include <openssl/ssl.h>

 SSL *SSL_get0_connection(SSL *ssl);
 int SSL_is_connection(SSL *ssl);

=head1 DESCRIPTION

The SSL_get0_connection() function, when called on a QUIC stream SSL object,
returns the QUIC connection SSL object which the QUIC stream SSL object belongs
to.

When called on a QUIC connection SSL object, it returns the same object.

When called on a non-QUIC object, it returns the same object it was passed.

SSL_is_connection() returns 1 for QUIC connection SSL objects and for non-QUIC
SSL objects, but returns 0 for QUIC stream SSL objects.

=head1 RETURN VALUES

SSL_get0_connection() returns the QUIC connection SSL object (for a QUIC stream
SSL object) and otherwise returns the same SSL object passed. It always returns
non-NULL.

SSL_is_connection() returns 1 if the SSL object is not a QUIC stream SSL object
and 0 otherwise.

=head1 SEE ALSO

L<SSL_new(3)>, L<SSL_new_stream(3)>, L<SSL_accept_stream(3)>

=head1 HISTORY

These functions were added in OpenSSL 3.2.

=head1 COPYRIGHT

Copyright 2002-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
L<https://www.openssl.org/source/license.html>.

=cut
