NAME
pmprintf, pmflush - print formatted output in a window or to standard
error
C SYNOPSIS
#include <pcp/pmapi.h>
int pmprintf(const char *fmt, ... /*args*/);
int pmflush(void);
cc ... -lpcp
DESCRIPTION
The combination of pmprintf and pmflush produces output in either an
xconfirm(1) window, on the standard error stream, or to a file in a
manner similar to fprintf(3). The fmt argument is used to control the
conversion, formatting, and printing of the variable length args list.
The output technique is controlled via an environment variable.
pmprintf appends the formatted message string to an internal buffer
shared by the two routines, without actually producing any output.
pmflush causes the internal buffer to be either displayed in a window,
printed on standard error, or flushed to a file and the internal buffer
to be cleared.
ENVIRONMENT
The environment variable PCP_STDERR controls the output technique used
by pmflush:
If PCP_STDERR is unset, the text is written onto the stderr stream
of the caller.
If PCP_STDERR is set to the literal reserved word DISPLAY then the
text will be displayed as a GUI dialog using xconfirm(1).
If PCP_STDERR is set to any other value then pmflush interprets the
value as a file name and appends the text to that file. The file
is created if it doesn’t already exist, and in this case if the
file creation fails, then stderr is used instead).
FILES
pmprintf uses the tmpnam(3) function to create a temporary file. This
temporary file is deleted when pmflush is called.
DIAGNOSTICS
On successful completion, pmprintf returns the number of characters
transmitted, while pmflush returns a value of zero on successful
completion.
For either routine, a negative value is returned if an error was
encountered, and this can be passed to pmErrStr(3) to obtain the
associated error message.
SEE ALSO
pmdbg(1), fprintf(3), PMAPI(3), pmErrStr(3) and tmpnam(3).