---
name: "pmparseinterval"
section: "3"
platform: "linux"
package: "libpcp3-dev"
version: "4.3.2+really4.3.1-0.1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/pmParseInterval"
---

# pmparseinterval(3)

convert interval string to timeval structure

Part of [pmParseInterval(3)](/pmParseInterval/3.md).

## NAME

**pmParseInterval** - convert interval string to **timeval** structure

## C SYNOPSIS

**#include \<pcp/pmapi.h\>**

**int pmParseInterval(const char \****string***, struct timeval \****rslt***, char \*\****errmsg***);**

**cc ... -lpcp**

## DESCRIPTION

**pmParseInterval** parses the argument *string* specifying an interval of time and fills in the **tv\_sec** and **tv\_usec** components of the *rslt* structure to represent that interval.

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)](/PCPIntro/1.md).

## DIAGNOSTICS

**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)](/free/3.md) to release the space allocated for *errmsg*.

## SEE ALSO

[**PCPIntro**(1)](/PCPIntro/1.md), [**free**(3)](/free/3.md), [**PMAPI**(3)](/PMAPI/3.md) and [**pmParseTimeWindow**(3)](/pmParseTimeWindow/3.md).
