1/* Set file access and modification times. 2 3 Copyright 2012-2014 Free Software Foundation, Inc. 4 5 This program is free software: you can redistribute it and/or modify it 6 under the terms of the GNU General Public License as published by the 7 Free Software Foundation; either version 3 of the License, or any 8 later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 17 18/* Written by Paul Eggert. */ 19 20#include <time.h> 21int fdutimens (int, char const *, struct timespec const [2]); 22int utimens (char const *, struct timespec const [2]); 23int lutimens (char const *, struct timespec const [2]); 24 25#if GNULIB_FDUTIMENSAT 26# include <fcntl.h> 27# include <sys/stat.h> 28 29#ifndef _GL_INLINE_HEADER_BEGIN 30 #error "Please include config.h first." 31#endif 32_GL_INLINE_HEADER_BEGIN 33#ifndef _GL_UTIMENS_INLINE 34# define _GL_UTIMENS_INLINE _GL_INLINE 35#endif 36 37int fdutimensat (int fd, int dir, char const *name, struct timespec const [2], 38 int atflag); 39 40/* Using this function makes application code slightly more readable. */ 41_GL_UTIMENS_INLINE int 42lutimensat (int dir, char const *file, struct timespec const times[2]) 43{ 44 return utimensat (dir, file, times, AT_SYMLINK_NOFOLLOW); 45} 46 47_GL_INLINE_HEADER_END 48 49#endif 50