Provided by: libpcp3-dev_3.8.12ubuntu1_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