Sortix 1.1dev ports manual
This manual documents Sortix 1.1dev ports. You can instead view this document in the latest official manual.
BUF_MEM_NEW(3) | Library Functions Manual | BUF_MEM_NEW(3) |
NAME
BUF_MEM_new, BUF_MEM_free, BUF_MEM_grow, BUF_MEM_grow_clean, BUF_reverse, BUF_strdup — simple character arrays structureSYNOPSIS
#include <openssl/buffer.h> BUF_MEM *BUF_MEM_new(void); void
BUF_MEM_free(BUF_MEM *a); int
BUF_MEM_grow(BUF_MEM *str, size_t len); int
BUF_MEM_grow_clean(BUF_MEM *str, size_t len); void
BUF_reverse(unsigned char *out, const unsigned char *in, size_t len); char *
BUF_strdup(const char *str);
DESCRIPTION
The buffer library handles simple character arrays. Buffers are used for various purposes in the library, most notably memory BIOs. The library uses the BUF_MEM structure defined in buffer.h:typedef struct buf_mem_st { size_t length; /* current number of bytes */ char *data; size_t max; /* size of buffer */ } BUF_MEM;
NULL
pointer, no action occurs.
BUF_MEM_grow() changes the size of an already
existing buffer to len. Any data already in
the buffer is preserved if it increases in size.
BUF_MEM_grow_clean() is similar to
BUF_MEM_grow(), but it sets any freed or
additionally allocated memory to zero.
BUF_reverse() reverses
len bytes at
in into out.
If in is
NULL
, out
is reversed in place.
BUF_strdup() copies a NUL terminated string into a
block of allocated memory and returns a pointer to the allocated block. Unlike
the system strdup(3)
function, BUF_strdup() will accept a
NULL
argument and will return
NULL
in that case. Its use in new programs
is discouraged.
The memory allocated from BUF_strdup() should be
freed up using the
free(3) function.
RETURN VALUES
BUF_MEM_new() returns the buffer orNULL
on error.
BUF_MEM_grow() and
BUF_MEM_grow_clean() return zero on error or the
new size (i.e. len).
SEE ALSO
BIO_new(3), BIO_s_mem(3)HISTORY
BUF_MEM_new(), BUF_MEM_free(), and BUF_MEM_grow() first appeared in SSLeay 0.6.0. BUF_strdup() first appeared in SSLeay 0.8.0. All these functions have been available since OpenBSD 2.4. BUF_MEM_grow_clean() first appeared in OpenSSL 0.9.7 and has been available since OpenBSD 3.2. BUF_reverse() first appeared in OpenSSL 1.0.0 and has been available since OpenBSD 4.9.June 6, 2019 | Debian |