summaryrefslogtreecommitdiff
path: root/include/platform.h
diff options
context:
space:
mode:
authorRob Landley2006-06-13 18:28:33 +0000
committerRob Landley2006-06-13 18:28:33 +0000
commit18958e9309b6565245ae14a19aab947fb2da79aa (patch)
treeb09a3d310801261efed160a5151b2518195086f5 /include/platform.h
parent0960ca7383b3ef35433c269709d12fa6508cc78a (diff)
downloadbusybox-18958e9309b6565245ae14a19aab947fb2da79aa.zip
busybox-18958e9309b6565245ae14a19aab947fb2da79aa.tar.gz
Random cleanup of platform.h.
Diffstat (limited to 'include/platform.h')
-rw-r--r--include/platform.h40
1 files changed, 24 insertions, 16 deletions
diff --git a/include/platform.h b/include/platform.h
index 1effc61..3e1229e 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -149,10 +149,8 @@ __extension__ typedef unsigned long long __u64;
#endif /* ifndef __GNUC__ */
#if (defined __digital__ && defined __unix__)
-# undef HAVE_STDBOOL_H
# undef HAVE_MNTENT_H
#else
-# define HAVE_STDBOOL_H 1
# define HAVE_MNTENT_H 1
#endif /* ___digital__ && __unix__ */
@@ -168,6 +166,8 @@ __extension__ typedef unsigned long long __u64;
# error "Sorry, this libc version is not supported :("
#endif
+// Don't perpetuate e2fsck crap into the headers. Clean up e2fsck instead.
+
#if defined __GLIBC__ || defined __UCLIBC__ \
|| defined __dietlibc__ || defined _NEWLIB_VERSION
#include <features.h>
@@ -187,12 +187,10 @@ typedef unsigned long long int uintmax_t;
#endif
#endif
-#if (defined __digital__ && defined __unix__)
-#include <standards.h>
-#define HAVE_STANDARDS_H
-#include <inttypes.h>
-#define HAVE_INTTYPES_H
-#define PRIu32 "u"
+// Is this for non-linux systems, or what?
+
+#if !((__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 1))
+#define lchown chown
#endif
/* uclibc does not implement daemon for no-mmu systems.
@@ -206,8 +204,9 @@ typedef unsigned long long int uintmax_t;
#define BB_NOMMU
#endif
-/* Need to implement fdprintf for platforms that haven't got dprintf. */
-/* THIS SHOULD BE CLEANED OUT OF THE TREE ENTIRELY */
+/* Platforms that haven't got dprintf need to implement fdprintf() in
+ * libbb. This would require a platform.c. It's not going to be cleaned
+ * out of the tree, so stop saying it should be. */
#define fdprintf dprintf
/* THIS SHOULD BE CLEANED OUT OF THE TREE ENTIRELY */
@@ -216,15 +215,16 @@ typedef unsigned long long int uintmax_t;
#define FNM_LEADING_DIR 0
#endif
-/* move to platform.c */
#if (defined __digital__ && defined __unix__)
-/* use legacy setpgrp(pidt_,pid_t) for now.. */
+#include <standards.h>
+#define HAVE_STANDARDS_H
+#include <inttypes.h>
+#define HAVE_INTTYPES_H
+#define PRIu32 "u"
+
+/* use legacy setpgrp(pidt_,pid_t) for now. move to platform.c */
#define bb_setpgrp do{pid_t __me = getpid();setpgrp(__me,__me);}while(0)
-#else
-#define bb_setpgrp setpgrp()
-#endif
-/* This is needed on some non linux unices like Tru64 */
#if !defined ADJ_OFFSET_SINGLESHOT && defined MOD_CLKA && defined MOD_OFFSET
#define ADJ_OFFSET_SINGLESHOT (MOD_CLKA | MOD_OFFSET)
#endif
@@ -238,4 +238,12 @@ typedef unsigned long long int uintmax_t;
#define ADJ_TICK MOD_CLKB
#endif
+#else
+#define bb_setpgrp setpgrp()
+#endif
+
+#if defined(__linux__) && !defined(BLKGETSIZE64)
+#define BLKGETSIZE64 _IOR(0x12,114,size_t)
+#endif
+
#endif /* platform.h */