.TH LIBSIMPLE_STRTOTIMESPEC 3 libsimple .SH NAME libsimple_strtotimespec, libsimple_strtotimeval \- convert a string to a duration data structure .SH SYNOPSIS .nf #include int libsimple_strtotimespec(struct timespec *restrict \fIts\fP, const char *\fIs\fP, char **\fIend\fP); int libsimple_strtotimeval(struct timeval *restrict \fItv\fP, const char *\fIs\fP, char **\fIend\fP); #ifndef strtotimespec # define strtotimespec libsimple_strtotimespec #endif #ifndef strtotimeval # define strtotimeval libsimple_strtotimeval #endif .fi .PP Link with .IR \-lsimple . .SH DESCRIPTION The .BR libsimple_strtotimespec () and .BR libsimple_strtotimeval () functions will parse the string .IR s , representing a real value of number of seconds, and store the value in .I ts and .R tv respectively, rounding to the nearest nanosecond (for the .BR libsimple_strtotimespec ()) or microsecond (for the .BR libsimple_strtotimeval ()). These functions will ignore any leading whitespace and byte where the parsing stopped, as .I s with an offset, to .IR end . The parsed part of .I s must contain atleast one digit and be on the format .BR [+-]\e?[0-9]*\e(\e.[0-9]*\e(\e.[0-9]*\e|([0-9]*)\e)\e?\e)\e? . where the digits in .BR \e2 , if any, are repeating decimals and must contain atleast one digit if it is included. .SH RETURN VALUE The .BR libsimple_strtotimespec () and .BR libsimple_strtotimeval () functions return 0 upon successful completion; otherwise \-1 is returned. .SH ERRORS The .BR libsimple_strtotimespec () and .BR libsimple_strtotimeval () functions fail if: .TP .B EINVAL .I s does not represent a real value in a recognised format. .I *end will not be set. .TP .B ERANGE The result is too large or too small to be store. Either .I *ts will be set to .I {.tv_sec=TIME_MAX,.tv_nsec=999999999L} and .I *tv set to .I {.tv_sec=TIME_MAX,.tv_usec=999999L} (if the result is too large) or to .I {.tv_sec=TIME_MIN,.tv_nsec=0L} and .I {.tv_sec=TIME_MIN,.tv_usec=0L} (if the result is too small). .I *end will be set. .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lb lb lb l l l. Interface Attribute Value T{ .BR libsimple_strtotimespec () .br .BR libsimple_strtotimeval () T} Thread safety MT-Safe T{ .BR libsimple_strtotimespec () .br .BR libsimple_strtotimeval () T} Async-signal safety AS-Safe T{ .BR libsimple_strtotimespec () .br .BR libsimple_strtotimeval () T} Async-cancel safety AC-Safe .TE .SH EXAMPLES None. .SH APPLICATION USAGE None. .SH RATIONALE None. .SH FUTURE DIRECTIONS None. .SH NOTES None. .SH HISTORY libsimple 1.0 .SH BUGS None. .SH SEE ALSO .BR libsimple_sumtimespec (3), .BR libsimple_difftimespec (3), .BR libsimple_multimespec (3), .BR libsimple_cmptimespec (3), .BR libsimple_timespectostr (3), .BR libsimple_timespectodouble (3), .BR libsimple_doubletotimespec (3), .BR libsimple_timeval2timespec (3)