1 /* $NetBSD: compat_fts.c,v 1.8 2013/10/04 21:07:37 christos Exp $ */ 2 3 /* 4 * Written by Jason R. Thorpe <thorpej@NetBSD.org>, October 21, 1997. 5 * Public domain. 6 */ 7 8 #include "namespace.h" 9 #include <sys/cdefs.h> 10 #include <dirent.h> 11 12 #define __LIBC12_SOURCE__ 13 #include <sys/stat.h> 14 #include <compat/sys/time.h> 15 #include <compat/sys/stat.h> 16 17 #define __fts_stat_t struct stat12 18 #define __fts_nlink_t u_int16_t 19 #define __fts_ino_t u_int32_t 20 #define __fts_length_t unsigned short 21 #define __fts_number_t long 22 #define __fts_dev_t uint32_t 23 #define __fts_level_t short 24 25 #ifndef ftsent_namelen 26 #define ftsent_namelen_truncate(a) \ 27 ((a) > USHRT_MAX ? USHRT_MAX : (unsigned short)(a)) 28 #endif 29 #ifndef fts_pathlen_truncate 30 #define ftsent_pathlen_truncate(a) \ 31 ((a) > USHRT_MAX ? USHRT_MAX : (unsigned short)(a)) 32 #endif 33 34 #include <fts.h> 35 #include <compat/include/fts.h> 36 37 #ifdef __weak_alias 38 __weak_alias(fts_children,_fts_children) 39 __weak_alias(fts_close,_fts_close) 40 __weak_alias(fts_open,_fts_open) 41 __weak_alias(fts_read,_fts_read) 42 __weak_alias(fts_set,_fts_set) 43 #endif /* __weak_alias */ 44 45 __warn_references(fts_children, 46 "warning: reference to compatibility fts_children();" 47 " include <fts.h> for correct reference") 48 __warn_references(fts_close, 49 "warning: reference to compatibility fts_close();" 50 " include <fts.h> for correct reference") 51 __warn_references(fts_open, 52 "warning: reference to compatibility fts_open();" 53 " include <fts.h> for correct reference") 54 __warn_references(fts_read, 55 "warning: reference to compatibility fts_read();" 56 " include <fts.h> for correct reference") 57 __warn_references(fts_set, 58 "warning: reference to compatibility fts_set();" 59 " include <fts.h> for correct reference") 60 61 #define __FTS_COMPAT_TAILINGSLASH 62 #define __FTS_COMPAT_LENGTH 63 #define __FTS_COMPAT_LEVEL 64 65 #define stat __compat_stat 66 #define lstat __compat_lstat 67 #define fstat __compat_fstat 68 69 #include "gen/fts.c" 70