BIO_printf(3ssl)

BIO_printf3ssl

Formatted output to a bio

Usage

 #include <openssl/bio.h>
 int BIO_printf(BIO *bio, const char *format, ...);
 int BIO_vprintf(BIO *bio, const char *format, va_list args);
 int BIO_snprintf(char *buf, size_t n, const char *format, ...);
 int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args);

Overview

BIO_printf() is similar to the standard C printf() function, except that the output is sent to the specified BIO, bio, rather than standard output. All common format specifiers are supported.

BIO_vprintf() is similar to the vprintf() function found on many platforms, the output is sent to the specified BIO, bio, rather than standard output. All common format specifiers are supported. The argument list args is a stdarg argument list.

BIO_snprintf() is for platforms that do not have the common snprintf() function. It is like sprintf() except that the size parameter, n, specifies the size of the output buffer.

BIO_vsnprintf() is to BIO_snprintf() as BIO_vprintf() is to BIO_printf().

Return values

All functions return the number of bytes written, or -1 on error. For BIO_snprintf() and BIO_vsnprintf() this includes when the output buffer is too small.

Notes

Except when n is 0, both BIO_snprintf() and BIO_vsnprintf() always terminate their output with '\0'. This includes cases where -1 is returned, such as when there is insufficient space to output the whole string.

Releases

6 releases since Debian 9 (Stretch); the text changed 5 times.

  1. 9
  2. 10
  3. 11
  4. 12
  5. 13
  6. Arch

From openssl 3.6.5-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.