diff --git a/include/stdint.h b/include/stdint.h
index 2022a30..47fec18 100644
--- a/include/stdint.h
+++ b/include/stdint.h
@@ -110,4 +110,7 @@
 
 #endif
 
+/* Keep the kernel from trying to define these types... */
+#define __BIT_TYPES_DEFINED__
+
 #endif /* _STDINT_H */
diff --git a/include/sys/time.h b/include/sys/time.h
index 4eccf82..b503d21 100644
--- a/include/sys/time.h
+++ b/include/sys/time.h
@@ -6,6 +6,7 @@
 #define _SYS_TIME_H
 
 #include <klibc/extern.h>
+#include <sys/types.h>
 #include <linux/time.h>
 
 __extern int gettimeofday(struct timeval *, struct timezone *);
diff --git a/include/sys/types.h b/include/sys/types.h
index a25873c..88523da 100644
--- a/include/sys/types.h
+++ b/include/sys/types.h
@@ -1,8 +1,5 @@
 /*
  * sys/types.h
- *
- * This is a bastardized version of linux/types.h, since that file
- * is broken w.r.t. <stdint.h> definitions.
  */
 
 #ifndef _SYS_TYPES_H
@@ -25,7 +22,7 @@
 typedef __kernel_ino_t		ino_t;
 typedef __kernel_mode_t		mode_t;
 typedef __kernel_nlink_t	nlink_t;
-typedef __kernel_off_t		off_t;
+typedef __kernel_off_t		off_t; /* Should become __kernel_loff_t... */
 typedef __kernel_pid_t		pid_t;
 typedef __kernel_daddr_t	daddr_t;
 typedef __kernel_key_t		key_t;
@@ -83,15 +80,11 @@
 typedef unsigned int		uint;
 typedef unsigned long		ulong;
 
-#ifndef __BIT_TYPES_DEFINED__
-#define __BIT_TYPES_DEFINED__
-
-typedef		__u8		u_int8_t;
-typedef		__u16		u_int16_t;
-typedef		__u32		u_int32_t;
-typedef		__u64		u_int64_t;
-
-#endif /* !(__BIT_TYPES_DEFINED__) */
+/* Linux-specific? */
+typedef uint8_t			u_int8_t;
+typedef uint16_t		u_int16_t;
+typedef uint32_t 		u_int32_t;
+typedef uint64_t		u_int64_t;
 
 /*
  * transition to 64-bit sector_t, possibly making it an option...
diff --git a/include/sys/wait.h b/include/sys/wait.h
index cad6989..4cfafc9 100644
--- a/include/sys/wait.h
+++ b/include/sys/wait.h
@@ -11,6 +11,15 @@
 
 #include <linux/wait.h>
 
+#define WEXITSTATUS(s)	(((s) & 0xff00) >> 8)
+#define WTERMSIG(s)	((s) & 0x7f)
+#define WIFEXITED(s)	(WTERMSIG(s) == 0)
+#define WIFSTOPPED(s)	(WTERMSIG(s) == 0x7f)
+/* Ugly hack to avoid multiple evaluation of "s" */
+#define WIFSIGNALED(s)	(WTERMSIG((s)+1) >= 2)
+#define WCOREDUMP(s)	((s) & 0x80)
+#define WSTOPSIG(s)	WEXITSTATUS(s)
+
 __extern pid_t wait(int *);
 __extern pid_t waitpid(pid_t, int *, int);
 __extern pid_t wait3(int *, int, struct rusage *);
diff --git a/include/unistd.h b/include/unistd.h
index 3d5c688..f1cde23 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -49,6 +49,12 @@
 __extern int getfsuid(uid_t);
 __extern int setfsuid(uid_t);
 
+/* Macros for access() */
+#define R_OK	4		/* Read */
+#define W_OK	2		/* Write */
+#define X_OK	1		/* Execute */
+#define F_OK	0		/* Existence */
+
 __extern int access(const char *, int);
 __extern int link(const char *, const char *);
 __extern int unlink(const char *);
diff --git a/klibc/include/stdint.h b/klibc/include/stdint.h
index 2022a30..47fec18 100644
--- a/klibc/include/stdint.h
+++ b/klibc/include/stdint.h
@@ -110,4 +110,7 @@
 
 #endif
 
+/* Keep the kernel from trying to define these types... */
+#define __BIT_TYPES_DEFINED__
+
 #endif /* _STDINT_H */
diff --git a/klibc/include/sys/time.h b/klibc/include/sys/time.h
index 4eccf82..b503d21 100644
--- a/klibc/include/sys/time.h
+++ b/klibc/include/sys/time.h
@@ -6,6 +6,7 @@
 #define _SYS_TIME_H
 
 #include <klibc/extern.h>
+#include <sys/types.h>
 #include <linux/time.h>
 
 __extern int gettimeofday(struct timeval *, struct timezone *);
diff --git a/klibc/include/sys/types.h b/klibc/include/sys/types.h
index a25873c..88523da 100644
--- a/klibc/include/sys/types.h
+++ b/klibc/include/sys/types.h
@@ -1,8 +1,5 @@
 /*
  * sys/types.h
- *
- * This is a bastardized version of linux/types.h, since that file
- * is broken w.r.t. <stdint.h> definitions.
  */
 
 #ifndef _SYS_TYPES_H
@@ -25,7 +22,7 @@
 typedef __kernel_ino_t		ino_t;
 typedef __kernel_mode_t		mode_t;
 typedef __kernel_nlink_t	nlink_t;
-typedef __kernel_off_t		off_t;
+typedef __kernel_off_t		off_t; /* Should become __kernel_loff_t... */
 typedef __kernel_pid_t		pid_t;
 typedef __kernel_daddr_t	daddr_t;
 typedef __kernel_key_t		key_t;
@@ -83,15 +80,11 @@
 typedef unsigned int		uint;
 typedef unsigned long		ulong;
 
-#ifndef __BIT_TYPES_DEFINED__
-#define __BIT_TYPES_DEFINED__
-
-typedef		__u8		u_int8_t;
-typedef		__u16		u_int16_t;
-typedef		__u32		u_int32_t;
-typedef		__u64		u_int64_t;
-
-#endif /* !(__BIT_TYPES_DEFINED__) */
+/* Linux-specific? */
+typedef uint8_t			u_int8_t;
+typedef uint16_t		u_int16_t;
+typedef uint32_t 		u_int32_t;
+typedef uint64_t		u_int64_t;
 
 /*
  * transition to 64-bit sector_t, possibly making it an option...
diff --git a/klibc/include/sys/wait.h b/klibc/include/sys/wait.h
index cad6989..4cfafc9 100644
--- a/klibc/include/sys/wait.h
+++ b/klibc/include/sys/wait.h
@@ -11,6 +11,15 @@
 
 #include <linux/wait.h>
 
+#define WEXITSTATUS(s)	(((s) & 0xff00) >> 8)
+#define WTERMSIG(s)	((s) & 0x7f)
+#define WIFEXITED(s)	(WTERMSIG(s) == 0)
+#define WIFSTOPPED(s)	(WTERMSIG(s) == 0x7f)
+/* Ugly hack to avoid multiple evaluation of "s" */
+#define WIFSIGNALED(s)	(WTERMSIG((s)+1) >= 2)
+#define WCOREDUMP(s)	((s) & 0x80)
+#define WSTOPSIG(s)	WEXITSTATUS(s)
+
 __extern pid_t wait(int *);
 __extern pid_t waitpid(pid_t, int *, int);
 __extern pid_t wait3(int *, int, struct rusage *);
diff --git a/klibc/include/unistd.h b/klibc/include/unistd.h
index 3d5c688..f1cde23 100644
--- a/klibc/include/unistd.h
+++ b/klibc/include/unistd.h
@@ -49,6 +49,12 @@
 __extern int getfsuid(uid_t);
 __extern int setfsuid(uid_t);
 
+/* Macros for access() */
+#define R_OK	4		/* Read */
+#define W_OK	2		/* Write */
+#define X_OK	1		/* Execute */
+#define F_OK	0		/* Existence */
+
 __extern int access(const char *, int);
 __extern int link(const char *, const char *);
 __extern int unlink(const char *);
