From d8634ea863cbfefc29360b822e80a3cb8a9d2815 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 24 Jan 2003 16:10:36 +0000 Subject: Finish up fixing stat and setting various system types. --- libc/sysdeps/linux/alpha/bits/types.h | 23 +++++++-------- libc/sysdeps/linux/arm/bits/kernel_stat.h | 2 +- libc/sysdeps/linux/common/bits/kernel_stat.h | 2 +- libc/sysdeps/linux/common/bits/types.h | 19 ++++++------ libc/sysdeps/linux/common/xstatconv.c | 44 +--------------------------- libc/sysdeps/linux/cris/bits/kernel_stat.h | 2 +- libc/sysdeps/linux/h8300/bits/kernel_stat.h | 2 +- libc/sysdeps/linux/i386/bits/kernel_stat.h | 2 +- libc/sysdeps/linux/m68k/bits/kernel_stat.h | 2 +- libc/sysdeps/linux/mips/bits/types.h | 19 ++++++------ libc/sysdeps/linux/powerpc/bits/types.h | 2 +- libc/sysdeps/linux/sparc/bits/types.h | 31 ++++++++++---------- 12 files changed, 52 insertions(+), 98 deletions(-) diff --git a/libc/sysdeps/linux/alpha/bits/types.h b/libc/sysdeps/linux/alpha/bits/types.h index c5e98c5a0..d5e4aac21 100644 --- a/libc/sysdeps/linux/alpha/bits/types.h +++ b/libc/sysdeps/linux/alpha/bits/types.h @@ -46,19 +46,18 @@ typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef __quad_t *__qaddr_t; -/* changed to be more compatible with kernel */ -typedef __kernel_dev_t __dev_t; /* Type of device numbers. */ -typedef __kernel_uid_t __uid_t; /* Type of user identifications. */ -typedef __kernel_gid_t __gid_t; /* Type of group identifications. */ -typedef __kernel_ino_t __ino_t; /* Type of file serial numbers. */ -typedef __uint32_t __mode_t; /* Type of file attribute bitmasks. */ -typedef __kernel_nlink_t __nlink_t; /* Type of file link counts. */ -typedef __kernel_off_t __off_t; /* Type of file sizes and offsets. */ -typedef __kernel_loff_t __loff_t; /* Type of file sizes and offsets. */ -typedef __kernel_pid_t __pid_t; /* Type of process identifications. */ -typedef __kernel_ssize_t __ssize_t; /* Type of a byte count, or error. */ +typedef __uint64_t __dev_t; /* Type of device numbers. */ +typedef __uint32_t __uid_t; /* Type of user identifications. */ +typedef __uint32_t __gid_t; /* Type of group identifications. */ +typedef __uint32_t __ino_t; /* Type of file serial numbers. */ typedef __uint64_t __ino64_t; /* "" (LFS) */ +typedef __uint32_t __mode_t; /* Type of file attribute bitmasks. */ +typedef __uint32_t __nlink_t; /* Type of file link counts. */ +typedef __int64_t __off_t; /* Type of file sizes and offsets. */ typedef __int64_t __off64_t; /* "" (LFS) */ +typedef __int64_t __loff_t; /* Type of file sizes and offsets. */ +typedef __int32_t __pid_t; /* Type of process identifications. */ +typedef __int64_t __ssize_t; /* Type of a byte count, or error. */ typedef __uint64_t __rlim_t; /* Type of resource counts. */ typedef __uint64_t __rlim64_t; /* "" (LFS) */ typedef __uint32_t __blksize_t; /* Type to represnet block size. */ @@ -92,7 +91,7 @@ typedef int __clockid_t; typedef int __timer_t; /* Used in `struct shmid_ds'. */ -typedef int __ipc_pid_t; +typedef __kernel_ipc_pid_t __ipc_pid_t; /* Number of descriptors that can fit in an `fd_set'. */ #define __FD_SETSIZE 1024 diff --git a/libc/sysdeps/linux/arm/bits/kernel_stat.h b/libc/sysdeps/linux/arm/bits/kernel_stat.h index cb1d36cda..bfef64cea 100644 --- a/libc/sysdeps/linux/arm/bits/kernel_stat.h +++ b/libc/sysdeps/linux/arm/bits/kernel_stat.h @@ -31,7 +31,7 @@ struct kernel_stat { struct kernel_stat64 { unsigned short st_dev; unsigned char __pad0[10]; -#define STAT64_HAS_BROKEN_ST_INO 1 +#define _HAVE_STAT64___ST_INO unsigned long __st_ino; unsigned int st_mode; unsigned int st_nlink; diff --git a/libc/sysdeps/linux/common/bits/kernel_stat.h b/libc/sysdeps/linux/common/bits/kernel_stat.h index 04c984757..4bcc0fe3a 100644 --- a/libc/sysdeps/linux/common/bits/kernel_stat.h +++ b/libc/sysdeps/linux/common/bits/kernel_stat.h @@ -32,7 +32,7 @@ struct kernel_stat { struct kernel_stat64 { unsigned short st_dev; unsigned char __pad0[10]; -#define STAT64_HAS_BROKEN_ST_INO 1 +#define _HAVE_STAT64___ST_INO unsigned long __st_ino; unsigned int st_mode; unsigned int st_nlink; diff --git a/libc/sysdeps/linux/common/bits/types.h b/libc/sysdeps/linux/common/bits/types.h index 547478e36..07b8ff1a7 100644 --- a/libc/sysdeps/linux/common/bits/types.h +++ b/libc/sysdeps/linux/common/bits/types.h @@ -59,17 +59,16 @@ __extension__ typedef unsigned long long int __uint64_t; #endif typedef __quad_t *__qaddr_t; -/* changed to be more compatible with kernel */ -typedef __kernel_dev_t __dev_t; /* Type of device numbers. */ -typedef __kernel_uid_t __uid_t; /* Type of user identifications. */ -typedef __kernel_gid_t __gid_t; /* Type of group identifications. */ -typedef __kernel_ino_t __ino_t; /* Type of file serial numbers. */ +typedef __u_quad_t __dev_t; /* Type of device numbers. */ +typedef __u_int __uid_t; /* Type of user identifications. */ +typedef __u_int __gid_t; /* Type of group identifications. */ +typedef __u_long __ino_t; /* Type of file serial numbers. */ typedef __u_int __mode_t; /* Type of file attribute bitmasks. */ -typedef __kernel_nlink_t __nlink_t; /* Type of file link counts. */ -typedef __kernel_off_t __off_t; /* Type of file sizes and offsets. */ -typedef __kernel_loff_t __loff_t; /* Type of file sizes and offsets. */ -typedef __kernel_pid_t __pid_t; /* Type of process identifications. */ -typedef __kernel_ssize_t __ssize_t; /* Type of a byte count, or error. */ +typedef __u_int __nlink_t; /* Type of file link counts. */ +typedef long int __off_t; /* Type of file sizes and offsets. */ +typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ +typedef int __pid_t; /* Type of process identifications. */ +typedef int __ssize_t; /* Type of a byte count, or error. */ typedef __u_long __rlim_t; /* Type of resource counts. */ typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */ typedef __u_int __id_t; /* General type for ID. */ diff --git a/libc/sysdeps/linux/common/xstatconv.c b/libc/sysdeps/linux/common/xstatconv.c index 8b432a328..e35e900ef 100644 --- a/libc/sysdeps/linux/common/xstatconv.c +++ b/libc/sysdeps/linux/common/xstatconv.c @@ -36,80 +36,38 @@ void __xstat_conv(struct kernel_stat *kbuf, struct stat *buf) { /* Convert to current kernel version of `struct stat'. */ buf->st_dev = kbuf->st_dev; -#ifdef _HAVE_STAT___PAD1 - buf->__pad1 = 0; -#endif buf->st_ino = kbuf->st_ino; buf->st_mode = kbuf->st_mode; buf->st_nlink = kbuf->st_nlink; buf->st_uid = kbuf->st_uid; buf->st_gid = kbuf->st_gid; buf->st_rdev = kbuf->st_rdev; -#ifdef _HAVE_STAT___PAD2 - buf->__pad2 = 0; -#endif buf->st_size = kbuf->st_size; buf->st_blksize = kbuf->st_blksize; buf->st_blocks = kbuf->st_blocks; buf->st_atime = kbuf->st_atime; -#ifdef _HAVE_STAT___UNUSED1 - buf->__unused1 = 0; -#endif buf->st_mtime = kbuf->st_mtime; -#ifdef _HAVE_STAT___UNUSED2 - buf->__unused2 = 0; -#endif buf->st_ctime = kbuf->st_ctime; -#ifdef _HAVE_STAT___UNUSED3 - buf->__unused3 = 0; -#endif -#ifdef _HAVE_STAT___UNUSED4 - buf->__unused4 = 0; -#endif -#ifdef _HAVE_STAT___UNUSED5 - buf->__unused5 = 0; -#endif } void __xstat64_conv(struct kernel_stat64 *kbuf, struct stat64 *buf) { /* Convert to current kernel version of `struct stat64'. */ buf->st_dev = kbuf->st_dev; -#ifdef _HAVE_STAT64___PAD1 - buf->__pad1 = 0; -#endif buf->st_ino = kbuf->st_ino; #ifdef _HAVE_STAT64___ST_INO - buf->__st_ino = kbuf->st_ino; + buf->__st_ino = kbuf->__st_ino; #endif buf->st_mode = kbuf->st_mode; buf->st_nlink = kbuf->st_nlink; buf->st_uid = kbuf->st_uid; buf->st_gid = kbuf->st_gid; buf->st_rdev = kbuf->st_rdev; -#ifdef _HAVE_STAT64___PAD2 - buf->__pad2 = 0; -#endif buf->st_size = kbuf->st_size; buf->st_blksize = kbuf->st_blksize; buf->st_blocks = kbuf->st_blocks; buf->st_atime = kbuf->st_atime; -#ifdef _HAVE_STAT64___UNUSED1 - buf->__unused1 = 0; -#endif buf->st_mtime = kbuf->st_mtime; -#ifdef _HAVE_STAT64___UNUSED2 - buf->__unused2 = 0; -#endif buf->st_ctime = kbuf->st_ctime; -#ifdef _HAVE_STAT64___UNUSED3 - buf->__unused3 = 0; -#endif -#ifdef _HAVE_STAT64___UNUSED4 - buf->__unused4 = 0; -#endif -#ifdef _HAVE_STAT64___UNUSED5 - buf->__unused5 = 0; -#endif } diff --git a/libc/sysdeps/linux/cris/bits/kernel_stat.h b/libc/sysdeps/linux/cris/bits/kernel_stat.h index 38f5036a2..d4be6a64d 100644 --- a/libc/sysdeps/linux/cris/bits/kernel_stat.h +++ b/libc/sysdeps/linux/cris/bits/kernel_stat.h @@ -47,7 +47,7 @@ struct kernel_stat64 { unsigned short st_dev; unsigned char __pad0[10]; -#define STAT64_HAS_BROKEN_ST_INO 1 +#define _HAVE_STAT64___ST_INO unsigned long __st_ino; unsigned int st_mode; diff --git a/libc/sysdeps/linux/h8300/bits/kernel_stat.h b/libc/sysdeps/linux/h8300/bits/kernel_stat.h index 9152811ba..3d2805e7f 100644 --- a/libc/sysdeps/linux/h8300/bits/kernel_stat.h +++ b/libc/sysdeps/linux/h8300/bits/kernel_stat.h @@ -32,7 +32,7 @@ struct kernel_stat64 { unsigned char __pad0[6]; unsigned short st_dev; unsigned char __pad1[2]; -#define STAT64_HAS_BROKEN_ST_INO 1 +#define _HAVE_STAT64___ST_INO unsigned long __st_ino; unsigned int st_mode; unsigned int st_nlink; diff --git a/libc/sysdeps/linux/i386/bits/kernel_stat.h b/libc/sysdeps/linux/i386/bits/kernel_stat.h index 5df484fe7..a574bd5f4 100644 --- a/libc/sysdeps/linux/i386/bits/kernel_stat.h +++ b/libc/sysdeps/linux/i386/bits/kernel_stat.h @@ -31,7 +31,7 @@ struct kernel_stat { struct kernel_stat64 { unsigned short st_dev; unsigned char __pad0[10]; -#define STAT64_HAS_BROKEN_ST_INO 1 +#define _HAVE_STAT64___ST_INO unsigned long __st_ino; unsigned int st_mode; unsigned int st_nlink; diff --git a/libc/sysdeps/linux/m68k/bits/kernel_stat.h b/libc/sysdeps/linux/m68k/bits/kernel_stat.h index 9152811ba..3d2805e7f 100644 --- a/libc/sysdeps/linux/m68k/bits/kernel_stat.h +++ b/libc/sysdeps/linux/m68k/bits/kernel_stat.h @@ -32,7 +32,7 @@ struct kernel_stat64 { unsigned char __pad0[6]; unsigned short st_dev; unsigned char __pad1[2]; -#define STAT64_HAS_BROKEN_ST_INO 1 +#define _HAVE_STAT64___ST_INO unsigned long __st_ino; unsigned int st_mode; unsigned int st_nlink; diff --git a/libc/sysdeps/linux/mips/bits/types.h b/libc/sysdeps/linux/mips/bits/types.h index d879194ce..5a2908b0e 100644 --- a/libc/sysdeps/linux/mips/bits/types.h +++ b/libc/sysdeps/linux/mips/bits/types.h @@ -59,17 +59,16 @@ __extension__ typedef unsigned long long int __uint64_t; #endif typedef __quad_t *__qaddr_t; -/* changed to be more compatible with kernel */ -typedef __kernel_dev_t __dev_t; /* Type of device numbers. */ -typedef __kernel_uid_t __uid_t; /* Type of user identifications. */ -typedef __kernel_gid_t __gid_t; /* Type of group identifications. */ -typedef __kernel_ino_t __ino_t; /* Type of file serial numbers. */ +typedef __u_quad_t __dev_t; /* Type of device numbers. */ +typedef __u_int __uid_t; /* Type of user identifications. */ +typedef __u_int __gid_t; /* Type of group identifications. */ +typedef __u_long __ino_t; /* Type of file serial numbers. */ typedef __u_int __mode_t; /* Type of file attribute bitmasks. */ -typedef __kernel_nlink_t __nlink_t; /* Type of file link counts. */ -typedef __kernel_off_t __off_t; /* Type of file sizes and offsets. */ -typedef __kernel_loff_t __loff_t; /* Type of file sizes and offsets. */ -typedef __kernel_pid_t __pid_t; /* Type of process identifications. */ -typedef __kernel_ssize_t __ssize_t; /* Type of a byte count, or error. */ +typedef __u_int __nlink_t; /* Type of file link counts. */ +typedef long int __off_t; /* Type of file sizes and offsets. */ +typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ +typedef int __pid_t; /* Type of process identifications. */ +typedef int __ssize_t; /* Type of a byte count, or error. */ typedef __u_long __rlim_t; /* Type of resource counts. */ typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */ typedef __u_int __id_t; /* General type for ID. */ diff --git a/libc/sysdeps/linux/powerpc/bits/types.h b/libc/sysdeps/linux/powerpc/bits/types.h index 72ed269ff..547478e36 100644 --- a/libc/sysdeps/linux/powerpc/bits/types.h +++ b/libc/sysdeps/linux/powerpc/bits/types.h @@ -103,7 +103,7 @@ typedef int __timer_t; typedef int __key_t; /* Used in `struct shmid_ds'. */ -typedef unsigned short int __ipc_pid_t; +typedef __kernel_ipc_pid_t __ipc_pid_t; /* Type to represent block size. */ diff --git a/libc/sysdeps/linux/sparc/bits/types.h b/libc/sysdeps/linux/sparc/bits/types.h index dcddd8e6a..0c7cfbea7 100644 --- a/libc/sysdeps/linux/sparc/bits/types.h +++ b/libc/sysdeps/linux/sparc/bits/types.h @@ -70,19 +70,22 @@ __extension__ typedef unsigned long long int __uint64_t; #endif typedef __quad_t *__qaddr_t; -/* changed to be more compatible with kernel */ -typedef __kernel_dev_t __dev_t; /* Type of device numbers. */ -typedef __kernel_uid_t __uid_t; /* Type of user identifications. */ -typedef __kernel_gid_t __gid_t; /* Type of group identifications. */ -typedef __kernel_ino_t __ino_t; /* Type of file serial numbers. */ -typedef __u_int __mode_t; /* Type of file attribute bitmasks. */ -typedef __kernel_nlink_t __nlink_t; /* Type of file link counts. */ -typedef __kernel_off_t __off_t; /* Type of file sizes and offsets. */ -typedef __kernel_loff_t __loff_t; /* Type of file sizes and offsets. */ -typedef __kernel_pid_t __pid_t; /* Type of process identifications. */ -typedef __kernel_ssize_t __ssize_t; /* Type of a byte count, or error. */ +typedef __u_quad_t __dev_t; /* Type of device numbers. */ +typedef __u_int __uid_t; /* Type of user identifications. */ +typedef __u_int __gid_t; /* Type of group identifications. */ +typedef __u_long __ino_t; /* Type of file serial numbers. */ typedef __u_quad_t __ino64_t; /* Type of file serial numbers. */ +typedef __u_int __mode_t; /* Type of file attribute bitmasks. */ +typedef __u_int __nlink_t; /* Type of file link counts. */ +typedef long int __off_t; /* Type of file sizes and offsets. */ typedef __quad_t __off64_t; /* "" (LFS) */ +typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ +typedef int __pid_t; /* Type of process identifications. */ +#if __WORDSIZE == 64 +typedef long int __ssize_t; /* Type of a byte count, or error. */ +#else +typedef int __ssize_t; /* Type of a byte count, or error. */ +#endif typedef __u_long __rlim_t; /* Type of resource counts. */ typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */ typedef __u_int __id_t; /* General type for IDs. */ @@ -115,11 +118,7 @@ typedef int __timer_t; typedef int __key_t; /* Used in `struct shmid_ds'. */ -#if __WORDSIZE == 64 -typedef int __ipc_pid_t; -#else -typedef unsigned short int __ipc_pid_t; -#endif +typedef __kernel_ipc_pid_t __ipc_pid_t; /* Type to represent block size. */ -- cgit v1.2.3