/* leverage for platfrom specific OS features * $Id: machine.h,v 2.10 2012/07/24 14:28:35 ksb Exp $ */ /* do we have scandir,readdir and friends in , else look for * */ #if !defined(HAS_NDIR) #define HAS_NDIR (defined(ETA10)||defined(V386)) #endif #if !defined(HAS_DIRENT) #define HAS_DIRENT (defined(EPIX)||defined(SUN5)||defined(FREEBSD)||defined(DARWIN)||defined(OPENBSD)||defined(NETBSD)||defined(PARAGON) ) #endif #if !defined(DIRENT) #if defined(IBMR2) || HAS_DIRENT #define DIRENT dirent #else #define DIRENT direct #endif #endif /* we used to use pD->d_namlen -- under EPIX -systype bsd we still can! */ #if !defined(D_NAMELEN) #if HAS_DIRENT #define D_NAMELEN(MpD) ((MpD)->d_reclen - DIRENTSIZE(0)) #else #define D_NAMELEN(MpD) ((MpD)->d_namlen) #endif #endif #ifndef HAVE_STRERROR #define HAVE_STRERROR (defined(NEXT2)||defined(IBMR2)||defined(HPUX7)||defined(HPUX8)||defined(SUN5)||defined(NETBSD)||defined(FREEBSD)||defined(DARWIN)||defined(OPENBSD)||defined(LINUX)) #endif extern int errno; #if !HAVE_STRERROR extern char *sys_errlist[]; #define strerror(Me) (sys_errlist[Me]) #endif #if HAS_NDIR #include #else #if HAS_DIRENT #if defined(IBMR2) #include #else #include #endif #else #include #endif #endif