PMAGETLOG(3)

NAME
pmaGetLog - direct read of the next record from an archive file

C SYNOPSIS
#include <pcp/pmapi.h>
#include <pcp/libpcp.h>
#include <pcp/archive.h>

int pmaGetLog(__pmArchCtl *acp, int vol, __int32_t **rbuf);

cc ... -lpcp_archive -lpcp

CAVEAT
This documentation is intended for internal Performance Co-Pilot (PCP) developer use.

These interfaces are not part of the PCP APIs that are guaranteed to remain fixed across releases, and they may not work, or may provide different semantics at some point in the future.

DESCRIPTION
This is a cut-down version of __pmLogRead(3) from libpcp, that reads the next physical record from the volume vol of the archive identified by acp.

If vol is PM_LOG_VOL_META then the next metadata record is read, otherwise the next record from the data volume vol is read.

The record is returned in rbuf which is allocated here; so the caller will have to call free(3) when it is no longer needed.

The record header length and trailer length is checked, but otherwise rbuf is not processed, and in particular the record remains in network byte-order.

DIAGNOSTICS AND RETURN VALUES
The return value is 0 if all is well, else PM_ERR_EOL for end of file, else some other error code less than zero.

SEE ALSO
free(3), pmaPutLog(3), PMAPI(3) and __pmLogRead(3).