mc/lib/fs.h

76 lines
1.2 KiB
C
Raw Normal View History

/** \file fs.h
* \brief Header: fs compatibility definitions
*/
1998-02-27 07:54:42 +03:00
/* Include file to use opendir/closedir/readdir */
#ifndef MC_FS_H
#define MC_FS_H
1998-02-27 07:54:42 +03:00
#include <sys/types.h>
2009-02-06 15:44:53 +03:00
#include <unistd.h>
1998-02-27 07:54:42 +03:00
#include <sys/stat.h>
/* Replacement for permission bits missing in sys/stat.h */
#ifndef S_ISLNK
# define S_ISLNK(x) 0
#endif
#ifndef S_ISSOCK
# define S_ISSOCK(x) 0
#endif
#ifndef S_ISFIFO
# define S_ISFIFO(x) 0
#endif
#ifndef S_ISCHR
# define S_ISCHR(x) 0
#endif
#ifndef S_ISBLK
# define S_ISBLK(x) 0
#endif
/* Door is something that only exists on Solaris */
#ifndef S_ISDOOR
# define S_ISDOOR(x) 0
#endif
/* Special named files are widely used in QNX6 */
#ifndef S_ISNAM
# define S_ISNAM(x) 0
#endif
1998-02-27 07:54:42 +03:00
#ifndef MAXPATHLEN
# define MC_MAXPATHLEN 4096
#else
# define MC_MAXPATHLEN MAXPATHLEN
#endif
/* unistd.h defines _POSIX_VERSION on POSIX.1 systems. */
2009-02-06 15:44:53 +03:00
#include <dirent.h>
#define NLENGTH(dirent) (strlen ((dirent)->d_name))
#define DIRENT_LENGTH_COMPUTED 1
1998-02-27 07:54:42 +03:00
#ifndef MAXNAMLEN
# define MC_MAXFILENAMELEN 256
#else
# define MC_MAXFILENAMELEN MAXNAMLEN
#endif
static inline void
compute_namelen (struct dirent *dent __attribute__ ((unused)))
{
#ifdef DIRENT_LENGTH_COMPUTED
return;
#else
dent->d_namlen = strlen (dent);
#endif
}
#endif