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