compat___fts30.c revision 1.6
1/*	$NetBSD: compat___fts30.c,v 1.6 2012/03/14 00:25:19 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_children30,
10    "warning: reference to compatibility __fts_children30();"
11    " include <fts.h> for correct reference")
12__warn_references(__fts_close30,
13    "warning: reference to compatibility __fts_close30();"
14    " include <fts.h> for correct reference")
15__warn_references(__fts_open30,
16    "warning: reference to compatibility __fts_open30();"
17    " include <fts.h> for correct reference")
18__warn_references(__fts_read30,
19    "warning: reference to compatibility __fts_read30();"
20    " include <fts.h> for correct reference")
21__warn_references(__fts_set30,
22    "warning: reference to compatibility __fts_set30();"
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_length_t	u_short
31#define	__fts_number_t	long
32#define	__fts_dev_t	uint32_t
33#define	__fts_level_t	short
34
35#define	stat		__stat30
36#define	lstat		__lstat30
37#define	fstat		__fstat30
38
39#ifndef ftsent_namelen_truncate
40#define ftsent_namelen_truncate(a)	\
41    ((a) > USHRT_MAX ? USHRT_MAX : (unsigned short)(a))
42#endif
43#ifndef ftsent_pathlen_truncate
44#define ftsent_pathlen_truncate(a)	\
45    ((a) > USHRT_MAX ? USHRT_MAX : (unsigned short)(a))
46#endif
47
48#undef	fts_children
49#define	fts_children __fts_children30
50#undef	fts_close
51#define	fts_close __fts_close30
52#undef	fts_open
53#define	fts_open  __fts_open30
54#undef	fts_read
55#define	fts_read __fts_read30
56#undef	fts_set
57#define	fts_set __fts_set30
58
59#include <fts.h>
60#include <compat/include/fts.h>
61
62#define	__FTS_COMPAT_LENGTH
63#define	__FTS_COMPAT_LEVEL
64
65#include "gen/fts.c"
66