xref: /freebsd/lib/libc/gen/times.3 (revision 1e413cf93298b5b97441a21d9a50fdcd0ee9945e)
1.\" Copyright (c) 1990, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 4. Neither the name of the University nor the names of its contributors
13.\"    may be used to endorse or promote products derived from this software
14.\"    without specific prior written permission.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26.\" SUCH DAMAGE.
27.\"
28.\"     @(#)times.3	8.1 (Berkeley) 6/4/93
29.\" $FreeBSD$
30.\"
31.Dd June 4, 1993
32.Dt TIMES 3
33.Os
34.Sh NAME
35.Nm times
36.Nd process times
37.Sh LIBRARY
38.Lb libc
39.Sh SYNOPSIS
40.In sys/times.h
41.Ft clock_t
42.Fn times "struct tms *tp"
43.Sh DESCRIPTION
44.Bf -symbolic
45This interface is obsoleted by
46.Xr getrusage 2
47and
48.Xr gettimeofday 2 .
49.Ef
50.Pp
51The
52.Fn times
53function returns the value of time in
54.Dv CLK_TCK Ns 's
55of a second since
560 hours, 0 minutes, 0 seconds, January 1, 1970, Coordinated Universal
57Time.
58.Pp
59It also fills in the structure pointed to by
60.Fa tp
61with time-accounting information.
62.Pp
63The
64.Vt tms
65structure is defined as follows:
66.Bd -literal -offset indent
67struct tms {
68	clock_t tms_utime;
69	clock_t tms_stime;
70	clock_t tms_cutime;
71	clock_t tms_cstime;
72};
73.Ed
74.Pp
75The elements of this structure are defined as follows:
76.Bl -tag -width ".Va tms_cutime"
77.It Va tms_utime
78The
79.Tn CPU
80time charged for the execution of user instructions.
81.It Va tms_stime
82The
83.Tn CPU
84time charged for execution by the system on behalf of
85the process.
86.It Va tms_cutime
87The sum of the
88.Va tms_utime Ns s
89and
90.Va tms_cutime Ns s
91of the child processes.
92.It Va tms_cstime
93The sum of the
94.Fa tms_stime Ns s
95and
96.Fa tms_cstime Ns s
97of the child processes.
98.El
99.Pp
100All times are in
101.Dv CLK_TCK Ns 's
102of a second.
103.Pp
104The times of a terminated child process are included in the
105.Va tms_cutime
106and
107.Va tms_cstime
108elements of the parent when one of the
109.Xr wait 2
110functions returns the process ID of the terminated child to the parent.
111If an error occurs,
112.Fn times
113returns the value
114.Pq Po Vt clock_t Pc Ns \-1 ,
115and sets
116.Va errno
117to indicate the error.
118.Sh ERRORS
119The
120.Fn times
121function
122may fail and set the global variable
123.Va errno
124for any of the errors specified for the library
125routines
126.Xr getrusage 2
127and
128.Xr gettimeofday 2 .
129.Sh SEE ALSO
130.Xr time 1 ,
131.Xr getrusage 2 ,
132.Xr gettimeofday 2 ,
133.Xr wait 2 ,
134.Xr clocks 7
135.Sh STANDARDS
136The
137.Fn times
138function
139conforms to
140.St -p1003.1-88 .
141