12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- =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 pre-allocated. 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_free(3)>, L<SSL_clear(3)>,
- L<SSL_new(3)>, L<SSL_CTX_set_mode(3)>,
- L<CRYPTO_set_mem_functions>
- =head1 COPYRIGHT
- Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
- Licensed under the OpenSSL license (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
|