1/*	$NetBSD: compat___fts31.c,v 1.5 2013/10/04 20:49:16 christos Exp $	*/
2
3#include "namespace.h"
4#include <sys/cdefs.h>
5#include <dirent.h>
6
7#define	__LIBC12_SOURCE__
8
9__warn_references(__fts_children31,
10    "warning: reference to compatibility __fts_children31();"
11    " include <fts.h> for correct reference")
12__warn_references(__fts_close31,
13    "warning: reference to compatibility __fts_close31();"
14    " include <fts.h> for correct reference")
15__warn_references(__fts_open31,
16    "warning: reference to compatibility __fts_open31();"
17    " include <fts.h> for correct reference")
18__warn_references(__fts_read31,
19    "warning: reference to compatibility __fts_read31();"
20    " include <fts.h> for correct reference")
21__warn_references(__fts_set31,
22    "warning: reference to compatibility __fts_set31();"
23    " include <fts.h> for correct reference")
24
25#include <sys/stat.h>
26#include <compat/sys/time.h>
27#include <compat/sys/stat.h>
28
29#define	__fts_stat_t	struct stat30
30#define	__fts_number_t	long
31#define	__fts_dev_t	uint32_t
32#define	__fts_level_t	short
33
34#ifndef ftsent_namelen_truncate
35#define ftsent_namelen_truncate(a)	\
36    ((a) > USHRT_MAX ? USHRT_MAX : (unsigned short)(a))
37#endif
38#ifndef ftsent_pathlen_truncate
39#define ftsent_pathlen_truncate(a)	\
40    ((a) > USHRT_MAX ? USHRT_MAX : (unsigned short)(a))
41#endif
42
43#define	stat		__compat___stat30
44#define	lstat		__compat___lstat30
45#define	fstat		__compat___fstat30
46
47#undef	fts_children
48#define	fts_children __fts_children31
49#undef	fts_close
50#define	fts_close __fts_close31
51#undef	fts_open
52#define	fts_open  __fts_open31
53#undef	fts_read
54#define	fts_read __fts_read31
55#undef	fts_set
56#define	fts_set __fts_set31
57
58#include <fts.h>
59#include <compat/include/fts.h>
60
61#define	__FTS_COMPAT_LEVEL
62
63#include "gen/fts.c"
64