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
mkstemp(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),
mkstemp(3),
pmErrStr(3) and
PMAPI(3).