master
 1/* Copyright (C) 1991-2025 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.  */
36struct utimbuf
37  {
38#ifdef __USE_TIME64_REDIRECTS
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_TIME64_REDIRECTS
50extern int utime (const char *__file,
51		  const struct utimbuf *__file_times)
52     __THROW __nonnull ((1));
53
54#else
55# ifdef __REDIRECT_NTH
56extern 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 */