root/maint/gnulib/lib/utime.in.h

/* [previous][next][first][last][top][bottom][index][help] */
   1 /* Substitute for and wrapper around <utime.h>.
   2    Copyright (C) 2017-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 #ifndef _@GUARD_PREFIX@_UTIME_H
  18 
  19 #if __GNUC__ >= 3
  20 @PRAGMA_SYSTEM_HEADER@
  21 #endif
  22 @PRAGMA_COLUMNS@
  23 
  24 /* The include_next requires a split double-inclusion guard.  */
  25 #if @HAVE_UTIME_H@
  26 # @INCLUDE_NEXT@ @NEXT_UTIME_H@
  27 #endif
  28 
  29 #ifndef _@GUARD_PREFIX@_UTIME_H
  30 #define _@GUARD_PREFIX@_UTIME_H
  31 
  32 #if !@HAVE_UTIME_H@
  33 # include <sys/utime.h>
  34 #endif
  35 
  36 #if @GNULIB_UTIME@
  37 /* Get struct timespec.  */
  38 # include <time.h>
  39 #endif
  40 
  41 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
  42 
  43 /* The definition of _GL_ARG_NONNULL is copied here.  */
  44 
  45 /* The definition of _GL_WARN_ON_USE is copied here.  */
  46 
  47 
  48 #if defined _WIN32 && ! defined __CYGWIN__
  49 
  50 /* Define 'struct utimbuf' as an alias of 'struct _utimbuf'
  51    (or possibly, if present, 'struct __utimbuf64').  */
  52 # define utimbuf _utimbuf
  53 
  54 #endif
  55 
  56 
  57 #if @GNULIB_UTIME@
  58 # if @REPLACE_UTIME@
  59 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
  60 #   define utime rpl_utime
  61 #  endif
  62 _GL_FUNCDECL_RPL (utime, int, (const char *filename, const struct utimbuf *ts)
  63                               _GL_ARG_NONNULL ((1)));
  64 _GL_CXXALIAS_RPL (utime, int, (const char *filename, const struct utimbuf *ts));
  65 # elif defined _WIN32 && !defined __CYGWIN__
  66 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
  67 #   undef utime
  68 #   define utime _utime
  69 #  endif
  70 _GL_CXXALIAS_MDA (utime, int, (const char *filename, const struct utimbuf *ts));
  71 # else
  72 #  if !@HAVE_UTIME@
  73 _GL_FUNCDECL_SYS (utime, int, (const char *filename, const struct utimbuf *ts)
  74                               _GL_ARG_NONNULL ((1)));
  75 #  endif
  76 _GL_CXXALIAS_SYS (utime, int, (const char *filename, const struct utimbuf *ts));
  77 # endif
  78 # if __GLIBC__ >= 2
  79 _GL_CXXALIASWARN (utime);
  80 # endif
  81 #elif defined GNULIB_POSIXCHECK
  82 # undef utime
  83 # if HAVE_RAW_DECL_UTIME
  84 _GL_WARN_ON_USE (utime,
  85                  "utime is unportable - "
  86                  "use gnulib module canonicalize-lgpl for portability");
  87 # endif
  88 #elif @GNULIB_MDA_UTIME@
  89 /* On native Windows, map 'utime' to '_utime', so that -loldnames is not
  90    required.  In C++ with GNULIB_NAMESPACE, avoid differences between
  91    platforms by defining GNULIB_NAMESPACE::utime always.  */
  92 # if defined _WIN32 && !defined __CYGWIN__
  93 #  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
  94 #   undef utime
  95 #   define utime _utime
  96 #  endif
  97 _GL_CXXALIAS_MDA (utime, int, (const char *filename, const struct utimbuf *ts));
  98 # else
  99 _GL_CXXALIAS_SYS (utime, int, (const char *filename, const struct utimbuf *ts));
 100 # endif
 101 # if __GLIBC__ >= 2
 102 _GL_CXXALIASWARN (utime);
 103 # endif
 104 #endif
 105 
 106 #if @GNULIB_UTIME@
 107 extern int _gl_utimens_windows (const char *filename, struct timespec ts[2]);
 108 #endif
 109 
 110 
 111 #endif /* _@GUARD_PREFIX@_UTIME_H */
 112 #endif /* _@GUARD_PREFIX@_UTIME_H */

/* [previous][next][first][last][top][bottom][index][help] */