summaryrefslogtreecommitdiff
path: root/bin/pdksh/ksh_stat.h
diff options
context:
space:
mode:
authorJason Downs <downsj@cvs.openbsd.org>1996-08-14 06:19:13 +0000
committerJason Downs <downsj@cvs.openbsd.org>1996-08-14 06:19:13 +0000
commit3039b959c7de1e35fe4ec27ae02f1c8fe8d4d4ac (patch)
tree09c6b5a4f13282e07afe153445fcfaa0d10651f4 /bin/pdksh/ksh_stat.h
parent596c2317eee31ab9606c6b88085644407d4d2f0f (diff)
Import pdksh 5.2.7.
Diffstat (limited to 'bin/pdksh/ksh_stat.h')
-rw-r--r--bin/pdksh/ksh_stat.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/bin/pdksh/ksh_stat.h b/bin/pdksh/ksh_stat.h
new file mode 100644
index 00000000000..0c6e5244f57
--- /dev/null
+++ b/bin/pdksh/ksh_stat.h
@@ -0,0 +1,58 @@
+/* $OpenBSD: ksh_stat.h,v 1.1 1996/08/14 06:19:11 downsj Exp $ */
+
+/* Wrapper around the ugly sys/stat includes/ifdefs */
+
+/* assumes <sys/types.h> already included */
+#include <sys/stat.h>
+
+#ifndef HAVE_LSTAT
+# define lstat(path, buf) stat(path, buf)
+#endif /* HAVE_LSTAT */
+
+#ifdef STAT_MACROS_BROKEN
+# undef S_ISREG
+# undef S_ISDIR
+# undef S_ISCHR
+# undef S_ISBLK
+# undef S_ISFIFO
+# undef S_ISLNK
+#endif /* STAT_MACROS_BROKEN */
+
+#if !defined(S_ISREG) && defined(S_IFREG)
+# define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+#endif /* S_ISREG */
+#if !defined(S_ISDIR) && defined(S_IFDIR)
+# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#endif /* S_ISDIR */
+#if !defined(S_ISCHR) && defined(S_IFCHR)
+# define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+#endif /* S_ISCHR */
+#if !defined(S_ISBLK) && defined(S_IFBLK)
+# define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
+#endif /* S_ISBLK */
+#if !defined(S_ISFIFO) && defined(S_IFFIFO)
+# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFFIFO)
+#endif /* S_ISFIFO */
+#if !defined(S_ISLNK) && defined(S_IFLNK)
+# define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+#endif /* S_ISLNK */
+#if !defined(S_ISSOCK) && defined(S_IFSOCK)
+# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
+#endif /* S_ISSOCK */
+#if !defined(S_ISCDF) && defined(S_CDF)
+# define S_ISCDF(m) (S_ISDIR(m) && ((m) & S_CDF))
+#endif /* S_ISSOCK */
+
+#ifndef S_ISVTX
+# define S_ISVTX 01000 /* sticky bit */
+#endif /* S_ISVTX */
+
+#ifndef S_IXUSR
+# define S_IXUSR 00100 /* user execute bit */
+#endif /* S_IXUSR */
+#ifndef S_IXGRP
+# define S_IXGRP 00010 /* user execute bit */
+#endif /* S_IXGRP */
+#ifndef S_IXOTH
+# define S_IXOTH 00001 /* user execute bit */
+#endif /* S_IXOTH */