-.\" $OpenBSD: BUF_MEM_new.3,v 1.16 2019/06/06 01:06:58 schwarze Exp $
+.\" $OpenBSD: BUF_MEM_new.3,v 1.17 2023/07/26 20:12:45 tb Exp $
.\" OpenSSL doc/crypto/buffer.pod 18edda0f Sep 20 03:28:54 2000 +0000
.\" not merged: 74924dcb, 58e3457a, 21b0fa91, 7644a9ae
.\" OpenSSL doc/crypto/BUF_MEM_new.pod 53934822 Jun 9 16:39:19 2016 -0400
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
.\" OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd $Mdocdate: June 6 2019 $
+.Dd $Mdocdate: July 26 2023 $
.Dt BUF_MEM_NEW 3
.Os
.Sh NAME
.Nm BUF_MEM_free ,
.Nm BUF_MEM_grow ,
.Nm BUF_MEM_grow_clean ,
-.Nm BUF_reverse ,
-.Nm BUF_strdup
.Nd simple character arrays structure
.Sh SYNOPSIS
.In openssl/buffer.h
.Fa "BUF_MEM *str"
.Fa "size_t len"
.Fc
-.Ft void
-.Fo BUF_reverse
-.Fa "unsigned char *out"
-.Fa "const unsigned char *in"
-.Fa "size_t len"
-.Fc
-.Ft char *
-.Fo BUF_strdup
-.Fa "const char *str"
-.Fc
.Sh DESCRIPTION
The buffer library handles simple character arrays.
Buffers are used for various purposes in the library, most notably
is similar to
.Fn BUF_MEM_grow ,
but it sets any freed or additionally allocated memory to zero.
-.Pp
-.Fn BUF_reverse
-reverses
-.Fa len
-bytes at
-.Fa in
-into
-.Fa out .
-If
-.Fa in
-is
-.Dv NULL ,
-.Fa out
-is reversed in place.
-.Pp
-.Fn BUF_strdup
-copies a NUL terminated string into a block of allocated memory and
-returns a pointer to the allocated block.
-Unlike the system
-.Xr strdup 3
-function,
-.Fn BUF_strdup
-will accept a
-.Dv NULL
-argument and will return
-.Dv NULL
-in that case.
-Its use in new programs is discouraged.
-.Pp
-The memory allocated from
-.Fn BUF_strdup
-should be freed up using the
-.Xr free 3
-function.
.Sh RETURN VALUES
.Fn BUF_MEM_new
returns the buffer or
and
.Fn BUF_MEM_grow
first appeared in SSLeay 0.6.0.
-.Fn BUF_strdup
-first appeared in SSLeay 0.8.0.
All these functions have been available since
.Ox 2.4 .
.Pp
first appeared in OpenSSL 0.9.7 and has been available since
.Ox 3.2 .
.Pp
-.Fn BUF_reverse
-first appeared in OpenSSL 1.0.0 and has been available since
-.Ox 4.9 .