|  | =pod | 
|  |  | 
|  | =head1 NAME | 
|  |  | 
|  | SSL_free_buffers, SSL_alloc_buffers - manage SSL structure buffers | 
|  |  | 
|  | =head1 SYNOPSIS | 
|  |  | 
|  | #include <openssl/ssl.h> | 
|  |  | 
|  | int SSL_free_buffers(SSL *ssl); | 
|  | int SSL_alloc_buffers(SSL *ssl); | 
|  |  | 
|  | =head1 DESCRIPTION | 
|  |  | 
|  | SSL_free_buffers() frees the read and write buffers of the given B<ssl>. | 
|  | SSL_alloc_buffers() allocates the read and write buffers of the given B<ssl>. | 
|  |  | 
|  | The B<SSL_MODE_RELEASE_BUFFERS> mode releases read or write buffers whenever | 
|  | the buffers have been drained. These functions allow applications to manually | 
|  | control when buffers are freed and allocated. | 
|  |  | 
|  | After freeing the buffers, the buffers are automatically reallocated upon a | 
|  | new read or write. The SSL_alloc_buffers() does not need to be called, but | 
|  | can be used to make sure the buffers are preallocated. This can be used to | 
|  | avoid allocation during data processing or with CRYPTO_set_mem_functions() | 
|  | to control where and how buffers are allocated. | 
|  |  | 
|  | =head1 RETURN VALUES | 
|  |  | 
|  | The following return values can occur: | 
|  |  | 
|  | =over 4 | 
|  |  | 
|  | =item 0 (Failure) | 
|  |  | 
|  | The SSL_free_buffers() function returns 0 when there is pending data to be | 
|  | read or written. The SSL_alloc_buffers() function returns 0 when there is | 
|  | an allocation failure. | 
|  |  | 
|  | =item 1 (Success) | 
|  |  | 
|  | The SSL_free_buffers() function returns 1 if the buffers have been freed. This | 
|  | value is also returned if the buffers had been freed before calling | 
|  | SSL_free_buffers(). | 
|  | The SSL_alloc_buffers() function returns 1 if the buffers have been allocated. | 
|  | This value is also returned if the buffers had been allocated before calling | 
|  | SSL_alloc_buffers(). | 
|  |  | 
|  | =back | 
|  |  | 
|  | =head1 SEE ALSO | 
|  |  | 
|  | L<ssl(7)>, | 
|  | L<SSL_free(3)>, L<SSL_clear(3)>, | 
|  | L<SSL_new(3)>, L<SSL_CTX_set_mode(3)>, | 
|  | L<CRYPTO_set_mem_functions(3)> | 
|  |  | 
|  | =head1 COPYRIGHT | 
|  |  | 
|  | Copyright 2017-2020 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 |