printf, snprintf, vprintf, vsnprintf, uprintf, ttyprintf, tprintf - kernel
formatted output conversion
#include <sys/systm.h>
void
printf(const char *format, ...);
int
snprintf(char *buf, size_t size, const char *format, ...);
void
vprintf(const char *format, va_list ap);
int
vsnprintf(char *buf, size_t size, const char *format, va_list ap);
void
uprintf(const char *format, ...);
void
ttyprintf(struct tty *tty, const char *format, ...);
#include <sys/tprintf.h>
tpr_t
tprintf_open(struct proc *p);
void
tprintf(tpr_t tpr, const char *format, ...);
void
tprintf_close(tpr_t tpr);
The printf() family of functions allows the kernel to send formatted messages
to various output devices. The functions printf() and vprintf()
send formatted strings to the system console. The functions snprintf()
and vsnprintf() write output to a string buffer. These four functions
work similarly to their user space counterparts, and are not described in
detail here.
The functions uprintf() and ttyprintf() send formatted strings to the
current process's controlling tty and a specific tty, respectively.
The tprintf() function sends formatted strings to a process's controlling
tty, via a handle of type tpr_t. This allows multiple write operations
to the tty with a guarantee that the tty will be valid across calls. A
handle is acquired by calling tprintf_open() with the target process as
an argument. This handle must be closed with a matching call to
tprintf_close().
The snprintf() and vsnprintf() functions return the number of characters
placed in the buffer buf.
printf(1), printf(3), bitmask_snprintf(9)
sys/kern/subr_prf.c
The sprintf() and vsprintf() unsized string formatting functions are supported
for compatibility only, and are not documented here. New code
should use the size-limited snprintf() and vsnprintf() functions instead.
In NetBSD 1.5 and earlier, printf() supported more format strings than
the user space printf(). These nonstandard format strings are no longer
supported. For the functionality provided by the former %b format
string, see bitmask_snprintf(9).
The uprintf() and ttyprintf() functions should be used sparingly, if at
all. Where multiple lines of output are required to reach a process's
controlling terminal, tprintf() is preferred.
BSD September 1, 1998 BSD
[ Back ] |