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: 5.6.6 Set File Access and Modification Times  <utime.h>
20  */
21 
22 #ifndef	_UTIME_H
23 #define	_UTIME_H	1
24 
25 #include <features.h>
26 
27 __BEGIN_DECLS
28 
29 #include <bits/types.h>
30 
31 #if defined __USE_XOPEN || defined __USE_XOPEN2K
32 # include <bits/types/time_t.h>
33 #endif
34 
35 /* Structure describing file times.  */
36 struct utimbuf
37   {
38 #ifdef __USE_TIME_BITS64
39     __time64_t actime;		/* Access time.  */
40     __time64_t modtime;		/* Modification time.  */
41 #else
42     __time_t actime;		/* Access time.  */
43     __time_t modtime;		/* Modification time.  */
44 #endif
45   };
46 
47 /* Set the access and modification times of FILE to those given in
48    *FILE_TIMES.  If FILE_TIMES is NULL, set them to the current time.  */
49 #ifndef __USE_TIME_BITS64
50 extern int utime (const char *__file,
51 		  const struct utimbuf *__file_times)
52      __THROW __nonnull ((1));
53 
54 #else
55 # ifdef __REDIRECT_NTH
56 extern int __REDIRECT_NTH (utime, (const char *__file,
57                                    const struct utimbuf *__file_times),
58                            __utime64);
59 # else
60 #  define utime __utime64
61 # endif
62 #endif
63 
64 __END_DECLS
65 
66 #endif /* utime.h */
67