1 /* Copyright (C) 1991-2022 Free Software Foundation, Inc.
2    This file is part of the GNU C Library.
3 
4    The GNU C Library is free software; you can redistribute it and/or
5    modify it under the terms of the GNU Lesser General Public
6    License as published by the Free Software Foundation; either
7    version 2.1 of the License, or (at your option) any later version.
8 
9    The GNU C Library is distributed in the hope that it will be useful,
10    but WITHOUT ANY WARRANTY; without even the implied warranty of
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12    Lesser General Public License for more details.
13 
14    You should have received a copy of the GNU Lesser General Public
15    License along with the GNU C Library; if not, see
16    <https://www.gnu.org/licenses/>.  */
17 
18 /*
19  *	POSIX Standard: 4.5.2 Process Times	<sys/times.h>
20  */
21 
22 #ifndef	_SYS_TIMES_H
23 #define	_SYS_TIMES_H	1
24 
25 #include <features.h>
26 
27 #include <bits/types/clock_t.h>
28 
29 __BEGIN_DECLS
30 
31 /* Structure describing CPU time used by a process and its children.  */
32 struct tms
33   {
34     clock_t tms_utime;		/* User CPU time.  */
35     clock_t tms_stime;		/* System CPU time.  */
36 
37     clock_t tms_cutime;		/* User CPU time of dead children.  */
38     clock_t tms_cstime;		/* System CPU time of dead children.  */
39   };
40 
41 
42 /* Store the CPU time used by this process and all its
43    dead children (and their dead children) in BUFFER.
44    Return the elapsed real time, or (clock_t) -1 for errors.
45    All times are in CLK_TCKths of a second.  */
46 extern clock_t times (struct tms *__buffer) __THROW;
47 
48 __END_DECLS
49 
50 #endif /* sys/times.h	*/
51