pmParseInterval, pmParseHighResInterval - convert interval string to binary time structure

#include <pcp/pmapi.h>

int pmParseInterval(const char *string, struct timeval *urslt, char **errmsg);
int pmParseHighResInterval(const char *string, struct timespec *nrslt, char **errmsg);

cc ... -lpcp

pmParseInterval parses the argument string specifying an interval of time and fills in the tv_sec and tv_usec components of the urslt structure to represent that interval (microsecond precision).

Similarly, pmParseHighResInterval parses the argument string and fills in the tv_sec and tv_nsec components of the nrslt structure to represent that interval (nanosecond precision).

The input string is most commonly the argument following a -t command line option to a PCP application, and the syntax is fully described in PCPIntro(1).

pmParseInterval returns 0 and errmsg is undefined if the parsing is successful.

If the given string does not conform to the required syntax pmParseInterval returns -1 and a dynamically allocated error message string in errmsg. The error message is terminated with a newline and includes the text of the input string along with an indicator of the position at which the error was detected, e.g.

4minutes 30mumble
^ -- unexpected value

In the case of an error, the caller is responsible for calling free(3) to release the space allocated for errmsg.

PCPIntro(1), free(3), PMAPI(3) and pmParseTimeWindow(3).

PCP Performance Co-Pilot