VSNPRINTF(9) Basic C Library Functions VSNPRINTF(9)NAMEvsnprintf - Format a string and place it in a buffer
SYNOPSIS
int vsnprintf(char * buf, size_t size, const char * fmt, va_list args);
ARGUMENTS
buf
The buffer to place the result into
size
The size of the buffer, including the trailing null space
fmt
The format string to use
args
Arguments for the format string
DESCRIPTION
This function follows C99 vsnprintf, but has some extensions: pS output
the name of a text symbol with offset ps output the name of a text
symbol without offset pF output the name of a function pointer with its
offset pf output the name of a function pointer without its offset pB
output the name of a backtrace symbol with its offset pR output the
address range in a struct resource with decoded flags pr output the
address range in a struct resource with raw flags pM output a 6-byte
MAC address with colons pMR output a 6-byte MAC address with colons in
reversed order pMF output a 6-byte MAC address with dashes pm output a
6-byte MAC address without colons pmR output a 6-byte MAC address
without colons in reversed order pI4 print an IPv4 address without
leading zeros pi4 print an IPv4 address with leading zeros pI6 print an
IPv6 address with colons pi6 print an IPv6 address without colons pI6c
print an IPv6 address as specified by RFC 5952 pIS depending on
sa_family of 'struct sockaddr *' print IPv4/IPv6 address piS depending
on sa_family of 'struct sockaddr *' print IPv4/IPv6 address pU[bBlL]
print a UUID/GUID in big or little endian using lower or upper case.
%*ph[CDN] a variable-length hex string with a separator (supports up to
64 bytes of the input) n is ignored
** Please update Documentation/printk-formats.txt when making changes
**
The return value is the number of characters which would be generated
for the given input, excluding the trailing '\0', as per ISO C99. If
you want to have the exact number of characters written into buf as
return value (not including the trailing '\0'), use vscnprintf. If the
return is greater than or equal to size, the resulting string is
truncated.
If you're not already dealing with a va_list consider using snprintf.
COPYRIGHTKernel Hackers Manual 3.11 November 2013 VSNPRINTF(9)