-#if __STDC__ || c_plusplus
-extern FTS *ftsopen(const char **, int, int (*)(const FTSENT *, const FTSENT *));
-extern FTSENT *ftsread(FTS *);
-extern FTSENT *ftschildren(FTS *);
-extern int ftsset(FTS *, FTSENT *, int);
-extern int ftsclose(FTS *);
-#else
-extern FTS *ftsopen();
-extern FTSENT *ftschildren(), *ftsread();
-extern int ftsclose(), ftsset();
-#endif
+#include <sys/cdefs.h>
+
+__BEGIN_DECLS
+FTSENT *fts_children __P((FTS *));
+int fts_close __P((FTS *));
+FTS *fts_open
+ __P((char * const *, int, int (*)(const FTSENT *, const FTSENT *)));
+FTSENT *fts_read __P((FTS *));
+int fts_set __P((FTS *, FTSENT *, int));
+__END_DECLS