xref: /freebsd/lib/libc/gen/timespec_get.3 (revision 5f4c09dd85bff675e0ca63c55ea3c517e0fddfcc)
1.\"	$NetBSD: timespec_get.3,v 1.2 2016/10/04 10:46:40 wiz Exp $
2.\"
3.\" Copyright (c) 2016 The NetBSD Foundation, Inc.
4.\" All rights reserved.
5.\"
6.\" This code is derived from software contributed to The NetBSD Foundation
7.\" by Kamil Rytarowski.
8.\"
9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions
11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright
13.\"    notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\"    notice, this list of conditions and the following disclaimer in the
16.\"    documentation and/or other materials provided with the distribution.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE.
29.\"
30.Dd August 21, 2023
31.Dt TIMESPEC_GET 3
32.Os
33.Sh NAME
34.Nm timespec_get
35.Nd get current calendar time
36.Sh LIBRARY
37.Lb libc
38.Sh SYNOPSIS
39.In time.h
40.Ft int
41.Fn timespec_get "struct timespec *ts" "int base"
42.Sh DESCRIPTION
43The
44.Nm
45function sets the interval pointed to by
46.Fa ts
47to hold the current calendar time based on the specified time base in
48.Fa base .
49.Pp
50The base
51.Dv TIME_UTC
52returns the time since the epoch.
53This time is expressed in seconds and nanoseconds since midnight (0 hour), January 1, 1970.
54In
55.Fx ,
56this corresponds to
57.Dv CLOCK_REALTIME .
58.Pp
59The base
60.Dv TIME_MONOTONIC
61returns a monotonically-increasing time since an unspecified point in the past.
62In
63.Fx ,
64this corresponds to
65.Dv CLOCK_MONOTONIC .
66.Sh RETURN VALUES
67The
68.Nm
69function returns the passed value of
70.Fa base
71if successful, otherwise
72.Dv 0
73on failure.
74.Sh SEE ALSO
75.Xr clock_gettime 2 ,
76.Xr gettimeofday 2 ,
77.Xr time 3 ,
78.Xr timespec_getres 3
79.Sh STANDARDS
80The
81.Nm
82function with a
83.Fa base
84of
85.Dv TIME_UTC
86conforms to
87.St -isoC-2011 .
88.\" The
89.\" .Dv TIME_MONOTONIC
90.\" base conforms to
91.\" -isoC-2023 .
92.Sh HISTORY
93This interface first appeared in
94.Fx 12 .
95.Sh AUTHORS
96.An Kamil Rytarowski Aq Mt kamil@NetBSD.org
97.An Warner Losh Aq Mt imp@FreeBSD.org
98