Provided by: libpcp3-dev_3.10.8build1_amd64 bug

NAME

       pmGetArchiveEnd - locate logical end of file for an archive log

C SYNOPSIS

       #include <pcp/pmapi.h>

       int pmGetArchiveEnd(struct timeval *tvp);

       cc ... -lpcp

DESCRIPTION

       Assuming the current PMAPI context is associated with an archive log, pmGetArchiveEnd will
       attempt to find the logical end of file (after the last complete record in  the  archive),
       and  return  the  last  recorded  timestamp  via  tvp.   This  timestamp  may be passed to
       pmSetMode(3) to reliably position the context at  the  last  valid  log  record,  e.g.  in
       preparation for subsequent reading in reverse chronological order.

       For archive logs that are not concurrently being written, the physical end of file and the
       logical end of file are co-incident.  However if  an  archive  log  is  being  written  by
       pmlogger(1) at the same time an application is trying to read the archive, the logical end
       of file may be before the physical end of file due to write buffering that is not  aligned
       with the logical record boundaries.

       pmGetArchiveEnd  returns  an  error  less  than  zero if the context is neither valid, nor
       associated with an archive, or the archive is seriously corrupted.  Otherwise, the  return
       value  is  0 if there has been no change of state since the last call, or 1 if the logical
       end of file has advanced since the last call.

       In the absence of an error, the result returned via tvp is well-defined.

       pmGetArchiveEnd preserves the positioning state of the log file  prior  to  this  function
       call.

PCP ENVIRONMENT

       Environment variables with the prefix PCP_ are used to parameterize the file and directory
       names used by PCP.  On each installation, the file /etc/pcp.conf contains the local values
       for  these  variables.   The  $PCP_CONF  variable  may  be  used to specify an alternative
       configuration file, as described in  pcp.conf(5).   Values  for  these  variables  may  be
       obtained programmatically using the pmGetConfig(3) function.

SEE ALSO

       PMAPI(3),    pmFetch(3),    pmFetchArchive(3),    pmGetArchiveLabel(3),    pmGetConfig(3),
       pmSetMode(3), pcp.conf(5) and pcp.env(5).

DIAGNOSTICS

       PM_ERR_NOCONTEXT
              the current PMAPI context is either invalid, or not associated with an archive log

       PM_ERR_LOGREC
              the archive is sufficiently damaged, that not a single valid record can be found