summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/sysdeps/linux/mips/bits/kernel_stat.h53
-rw-r--r--libc/sysdeps/linux/mips/bits/kernel_types.h13
2 files changed, 39 insertions, 27 deletions
diff --git a/libc/sysdeps/linux/mips/bits/kernel_stat.h b/libc/sysdeps/linux/mips/bits/kernel_stat.h
index e8721ee7c..2bce38884 100644
--- a/libc/sysdeps/linux/mips/bits/kernel_stat.h
+++ b/libc/sysdeps/linux/mips/bits/kernel_stat.h
@@ -9,25 +9,26 @@
#define kernel_stat kernel_stat64
#else
struct kernel_stat {
- unsigned long st_dev;
- unsigned long st_pad0[3]; /* Reserved for st_dev expansion */
- unsigned long long st_ino;
- unsigned int st_mode;
- int st_nlink;
- int st_uid;
- int st_gid;
- unsigned long st_rdev;
- unsigned long st_pad1[3]; /* Reserved for st_rdev expansion */
- long long st_size;
- long st_atime;
- unsigned long reserved0; /* Reserved for st_atime expansion */
- long st_mtime;
- unsigned long reserved1; /* Reserved for st_mtime expansion */
- long st_ctime;
- unsigned long reserved2; /* Reserved for st_ctime expansion */
- unsigned long st_blksize;
- unsigned long st_pad2;
- long long st_blocks;
+ __kernel_dev_t st_dev;
+ long st_pad1[3];
+ __kernel_ino_t st_ino;
+ __kernel_mode_t st_mode;
+ __kernel_nlink_t st_nlink;
+ __kernel_uid_t st_uid;
+ __kernel_gid_t st_gid;
+ __kernel_dev_t st_rdev;
+ long st_pad2[2];
+ __kernel_off_t st_size;
+ long st_pad3;
+ time_t st_atime;
+ long reserved0;
+ time_t st_mtime;
+ long reserved1;
+ time_t st_ctime;
+ long reserved2;
+ long st_blksize;
+ long st_blocks;
+ long st_pad4[14];
};
#endif
@@ -35,18 +36,18 @@ struct kernel_stat64 {
unsigned long st_dev;
unsigned long st_pad0[3]; /* Reserved for st_dev expansion */
unsigned long long st_ino;
- unsigned int st_mode;
- int st_nlink;
- int st_uid;
- int st_gid;
+ __kernel_mode_t st_mode;
+ __kernel_nlink_t st_nlink;
+ __kernel_uid_t st_uid;
+ __kernel_gid_t st_gid;
unsigned long st_rdev;
unsigned long st_pad1[3]; /* Reserved for st_rdev expansion */
long long st_size;
- long st_atime;
+ time_t st_atime;
unsigned long reserved0; /* Reserved for st_atime expansion */
- long st_mtime;
+ time_t st_mtime;
unsigned long reserved1; /* Reserved for st_mtime expansion */
- long st_ctime;
+ time_t st_ctime;
unsigned long reserved2; /* Reserved for st_ctime expansion */
unsigned long st_blksize;
unsigned long st_pad2;
diff --git a/libc/sysdeps/linux/mips/bits/kernel_types.h b/libc/sysdeps/linux/mips/bits/kernel_types.h
index 0f20eef59..39b6a41d2 100644
--- a/libc/sysdeps/linux/mips/bits/kernel_types.h
+++ b/libc/sysdeps/linux/mips/bits/kernel_types.h
@@ -36,7 +36,17 @@ typedef long long __kernel_loff_t;
typedef unsigned int __kernel_dev_t;
typedef unsigned long __kernel_ino_t;
typedef unsigned int __kernel_mode_t;
-typedef unsigned long __kernel_nlink_t;
+
+/* Linux 2.4.20 include/asm-mips/posix_types.h has this:
+but apparently that is an error?!?!?
+*/
+#if 0
+typedef int __kernel_nlink_t;
+#else
+/* So use this instead */
+typedef unsigned long __kernel_nlink_t;
+#endif
+
typedef long __kernel_off_t;
typedef int __kernel_pid_t;
typedef int __kernel_ipc_pid_t;
@@ -59,6 +69,7 @@ typedef __kernel_gid_t __kernel_old_gid_t;
typedef long long __kernel_loff_t;
#endif
+
typedef struct {
long val[2];
} __kernel_fsid_t;