| =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 |