PMTIMEVAL(3)              Library Functions Manual              PMTIMEVAL(3)

NAME         top

       pmtimevalNow, pmtimevalInc, pmtimevalDec, pmtimevalAdd, pmtimevalSub,
       pmtimevalToReal, pmtimevalFromReal, pmPrintStamp, pmPrintHighResStamp
       - helper routines for time stored as a struct timeval

C SYNOPSIS         top

       #include <pcp/pmapi.h>

       void pmtimevalNow(struct timeval *tv);
       void pmtimevalInc(struct timeval *ap, const struct timeval *bp);
       void pmtimevalDec(struct timeval *ap, const struct timeval *bp);
       double pmtimevalAdd(const struct timeval *ap, const struct timeval
       double pmtimevalSub(const struct timeval *ap, const struct timeval
       double pmtimevalToReal(const struct timeval *val);
       void pmtimevalFromReal(double secs, struct timeval *val);
       void pmPrintStamp(FILE *f, const struct timeval *tp);
       void pmPrintHighResStamp(FILE *f, const struct timespec *tp);

       cc ... -lpcp

DESCRIPTION         top

       pmtimevalNow is a platform-independent method that returns the
       current system time since the Epoch in tv.

       pmtimevalInc adds the time in ap to the time in bp and stores the
       result in ap.  Similarly pmtimevalDec subtracts the time in bp from
       the time in ap and stores the result in ap.

       pmtimevalAdd (and pmtimevalSub) add (and subtract) times and return
       the result as a double value.  The time in the ap argument is not

       pmtimevalToReal converts the time in tp to an equivalent double
       value.  pmtimevalFromReal provides the reverse conversion, taking the
       time in secs and returning the equivalent time in val.

       pmPrintStamp prints the timestamp from tp on the stream f in the
       local time (as returned by pmLocaltime(3)) in the format
       HH:MM:SS.XXX.  pmPrintHighResStamp performs a similar service, but
       for a struct timespec and reports the timestamp to nanosecond

SEE ALSO         top

       gettimeofday(2), time(2), PMAPI(3) and pmLocaltime(3).

COLOPHON         top

       This page is part of the PCP (Performance Co-Pilot) project.
       Information about the project can be found at ⟨⟩.
       If you have a bug report for this manual page, send it to  This page was obtained from the project's upstream
       Git repository ⟨⟩ on
       2018-04-30.  (At that time, the date of the most recent commit that
       was found in the repository was 2018-04-30.)  If you discover any
       rendering problems in this HTML version of the page, or you believe
       there is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to

Performance Co-Pilot                 PCP                        PMTIMEVAL(3)