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, for
matting, 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 inter
nal 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 DIS
PLAY 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.
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).
Man(1) output converted with
man2html