Man Linux: Main Page and Category List


       pmprintf,  pmflush  - print formatted output in a window or to standard


       #include <pcp/pmapi.h>

       int pmprintf(const char *fmt, ... /*args*/);

       int pmflush(void);

       cc ... -lpcp


       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.


       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).


       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

       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.


       pmdbg(1), fprintf(3), PMAPI(3), pmErrStr(3) and tmpnam(3).