-/* Copyright (C) 1992,1996,1997,1998,1999,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2022 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
/*
* X/Open Portability Guide 4.2: ftw.h
FTW_NS, /* Unstatable file. */
#define FTW_NS FTW_NS
-#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED
+#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
FTW_SL, /* Symbolic link. */
# define FTW_SL FTW_SL
/* Convenient types for callback functions. */
-typedef int (*__ftw_func_t) (__const char *__filename,
- __const struct stat *__status, int __flag);
+typedef int (*__ftw_func_t) (const char *__filename,
+ const struct stat *__status, int __flag);
#ifdef __USE_LARGEFILE64
-typedef int (*__ftw64_func_t) (__const char *__filename,
- __const struct stat64 *__status, int __flag);
+typedef int (*__ftw64_func_t) (const char *__filename,
+ const struct stat64 *__status, int __flag);
#endif
#ifdef __USE_XOPEN_EXTENDED
-typedef int (*__nftw_func_t) (__const char *__filename,
- __const struct stat *__status, int __flag,
+typedef int (*__nftw_func_t) (const char *__filename,
+ const struct stat *__status, int __flag,
struct FTW *__info);
# ifdef __USE_LARGEFILE64
-typedef int (*__nftw64_func_t) (__const char *__filename,
- __const struct stat64 *__status,
+typedef int (*__nftw64_func_t) (const char *__filename,
+ const struct stat64 *__status,
int __flag, struct FTW *__info);
# endif
#endif
This function is a possible cancellation point and therefore not
marked with __THROW. */
#ifndef __USE_FILE_OFFSET64
-extern int ftw (__const char *__dir, __ftw_func_t __func, int __descriptors);
+extern int ftw (const char *__dir, __ftw_func_t __func, int __descriptors)
+ __nonnull ((1, 2));
#else
# ifdef __REDIRECT
-extern int __REDIRECT (ftw, (__const char *__dir, __ftw_func_t __func,
- int __descriptors), ftw64);
+# ifndef __USE_TIME_BITS64
+extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
+ int __descriptors), ftw64) __nonnull ((1, 2));
+# else
+extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
+ int __descriptors), __ftw64_time64)
+ __nonnull ((1, 2));
+# endif
# else
-# define ftw ftw64
+# ifndef __USE_TIME_BITS64
+# define ftw ftw64
+# else
+# define ftw __ftw64_time64
+# endif
# endif
#endif
#ifdef __USE_LARGEFILE64
-extern int ftw64 (__const char *__dir, __ftw64_func_t __func,
- int __descriptors);
+# ifndef __USE_TIME_BITS64
+extern int ftw64 (const char *__dir, __ftw64_func_t __func,
+ int __descriptors) __nonnull ((1, 2));
+# else
+# ifdef __REDIRECT
+extern int __REDIRECT (ftw64, (const char *__dir, __ftw64_func_t __func,
+ int __descriptors),
+ __ftw64_time64)
+ __nonnull ((1, 2));
+# else
+# define nftw64 __nftw64_time64
+# endif
+# endif
#endif
#ifdef __USE_XOPEN_EXTENDED
This function is a possible cancellation point and therefore not
marked with __THROW. */
# ifndef __USE_FILE_OFFSET64
-extern int nftw (__const char *__dir, __nftw_func_t __func, int __descriptors,
- int __flag);
+extern int nftw (const char *__dir, __nftw_func_t __func, int __descriptors,
+ int __flag) __nonnull ((1, 2));
# else
# ifdef __REDIRECT
-extern int __REDIRECT (nftw, (__const char *__dir, __nftw_func_t __func,
- int __descriptors, int __flag), nftw64);
+# ifndef __USE_TIME_BITS64
+extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
+ int __descriptors, int __flag), nftw64)
+ __nonnull ((1, 2));
+# else
+extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
+ int __descriptors, int __flag), __nftw64_time64)
+ __nonnull ((1, 2));
+# endif
# else
-# define nftw nftw64
+# ifndef __USE_TIME_BITS64
+# define nftw nftw64
+# else
+# define nftw __nftw64_time64
+# endif
# endif
# endif
# ifdef __USE_LARGEFILE64
-extern int nftw64 (__const char *__dir, __nftw64_func_t __func,
- int __descriptors, int __flag);
+# ifndef __USE_TIME_BITS64
+extern int nftw64 (const char *__dir, __nftw64_func_t __func,
+ int __descriptors, int __flag) __nonnull ((1, 2));
+# else
+# ifdef __REDIRECT
+extern int __REDIRECT (nftw64, (const char *__dir, __nftw64_func_t __func,
+ int __descriptors, int __flag),
+ __nftw64_time64)
+ __nonnull ((1, 2));
+# else
+# define nftw64 __nftw64_time64
+# endif
+# endif
# endif
#endif