1 /* Provide a sys/times.h header file. 2 Copyright (C) 2008-2021 Free Software Foundation, Inc. 3 4 This file is free software: you can redistribute it and/or modify 5 it under the terms of the GNU Lesser General Public License as 6 published by the Free Software Foundation; either version 2.1 of the 7 License, or (at your option) any later version. 8 9 This file 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 12 GNU Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public License 15 along with this program. If not, see <https://www.gnu.org/licenses/>. */ 16 17 /* Written by Simon Josefsson <simon@josefsson.org>, 2008. */ 18 19 /* This file is supposed to be used on platforms where <sys/times.h> 20 is missing. */ 21 22 #ifndef _@GUARD_PREFIX@_SYS_TIMES_H 23 24 # if __GNUC__ >= 3 25 @PRAGMA_SYSTEM_HEADER@ 26 # endif 27 @PRAGMA_COLUMNS@ 28 29 # if @HAVE_SYS_TIMES_H@ 30 # @INCLUDE_NEXT@ @NEXT_SYS_TIMES_H@ 31 # endif 32 33 # define _@GUARD_PREFIX@_SYS_TIMES_H 34 35 /* Get clock_t. 36 But avoid namespace pollution on glibc systems. */ 37 # ifndef __GLIBC__ 38 # include <time.h> 39 # endif 40 41 /* The definition of _GL_ARG_NONNULL is copied here. */ 42 43 /* The definition of _GL_WARN_ON_USE is copied here. */ 44 45 # ifdef __cplusplus 46 extern "C" { 47 # endif 48 49 # if !@HAVE_STRUCT_TMS@ 50 # if !GNULIB_defined_struct_tms 51 /* Structure describing CPU time used by a process and its children. */ 52 struct tms 53 { 54 clock_t tms_utime; /* User CPU time. */ 55 clock_t tms_stime; /* System CPU time. */ 56 57 clock_t tms_cutime; /* User CPU time of dead children. */ 58 clock_t tms_cstime; /* System CPU time of dead children. */ 59 }; 60 # define GNULIB_defined_struct_tms 1 61 # endif 62 # endif 63 64 # if @GNULIB_TIMES@ 65 # if !@HAVE_TIMES@ 66 extern clock_t times (struct tms *buffer) _GL_ARG_NONNULL ((1)); 67 # endif 68 # elif defined GNULIB_POSIXCHECK 69 # undef times 70 # if HAVE_RAW_DECL_TIMES 71 _GL_WARN_ON_USE (times, "times is unportable - " 72 "use gnulib module times for portability"); 73 # endif 74 # endif 75 76 # ifdef __cplusplus 77 } 78 # endif 79 80 #endif /* _@GUARD_PREFIX@_SYS_TIMES_H */