]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
2002-10-23 Roland McGrath <roland@redhat.com>
authorRoland McGrath <roland@gnu.org>
Wed, 23 Oct 2002 23:48:50 +0000 (23:48 +0000)
committerRoland McGrath <roland@gnu.org>
Wed, 23 Oct 2002 23:48:50 +0000 (23:48 +0000)
Rearranged <bits/types.h> definitions to reduce duplication.
* sysdeps/generic/bits/types.h: Rewritten, using macros from
<bits/wordsize.h> and new header <bits/typesizes.h>.
* posix/Makefile (headers): Add bits/typesizes.h here.
* sysdeps/generic/bits/typesizes.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/typesizes.h: New file.
* sysdeps/unix/sysv/linux/sparc/bits/typesizes.h: New file.
* sysdeps/mach/hurd/bits/typesizes.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/ia64/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/mips/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/s390/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/sparc/bits/types.h: File removed.
* sysdeps/unix/sysv/linux/x86_64/bits/types.h: File removed.
* posix/sys/types.h [__USE_POSIX199506 || __USE_UNIX98]: Include
<bits/pthreadtypes.h> here, not in <bits/types.h>.
* signal/signal.h: Likewise.

sysdeps/unix/sysv/linux/alpha/bits/types.h [deleted file]
sysdeps/unix/sysv/linux/alpha/bits/typesizes.h [new file with mode: 0644]
sysdeps/unix/sysv/linux/mips/bits/types.h [deleted file]

diff --git a/sysdeps/unix/sysv/linux/alpha/bits/types.h b/sysdeps/unix/sysv/linux/alpha/bits/types.h
deleted file mode 100644 (file)
index 1b809e2..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Copyright (C) 1991,92,1994-1999,2000,2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/*
- * Never include this file directly; use <sys/types.h> instead.
- */
-
-#ifndef        _BITS_TYPES_H
-#define        _BITS_TYPES_H   1
-
-#include <features.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-/* Convenience types.  */
-typedef unsigned char __u_char;
-typedef unsigned short int __u_short;
-typedef unsigned int __u_int;
-typedef unsigned long int __u_long;
-typedef unsigned long int __u_quad_t;
-typedef long int __quad_t;
-typedef signed char __int8_t;
-typedef unsigned char __uint8_t;
-typedef signed short int __int16_t;
-typedef unsigned short int __uint16_t;
-typedef signed int __int32_t;
-typedef unsigned int __uint32_t;
-typedef signed long int __int64_t;
-typedef unsigned long int __uint64_t;
-typedef __quad_t *__qaddr_t;
-
-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.  */
-typedef __uint32_t __blkcnt_t;         /* Type to count nr disk blocks.  */
-typedef __uint64_t __blkcnt64_t;       /*  "" (LFS) */
-typedef __int32_t __fsblkcnt_t;                /* Type to count file system blocks. */
-typedef __int64_t __fsblkcnt64_t;      /*  "" (LFS) */
-typedef __uint32_t __fsfilcnt_t;       /* Type to count file system inodes. */
-typedef __uint64_t __fsfilcnt64_t;     /*  "" (LFS) */
-typedef __uint32_t __id_t;             /* General type for IDs.  */
-
-typedef struct
-  {
-    int __val[2];
-  } __fsid_t;                          /* Type of file system IDs.  */
-
-/* Everythin' else.  */
-typedef int __daddr_t;                 /* Type of a disk address.  */
-typedef char *__caddr_t;               /* Type of a core address.  */
-typedef long int __time_t;
-typedef unsigned int __useconds_t;
-typedef long int __suseconds_t;
-typedef long int __swblk_t;            /* Type of a swap block maybe?  */
-typedef long int __clock_t;
-typedef int __key_t;                   /* Type of a SYSV IPC key. */
-
-/* Clock ID used in clock and timer functions.  */
-typedef int __clockid_t;
-
-/* Timer ID returned by `timer_create'.  */
-typedef int __timer_t;
-
-/* Used in `struct shmid_ds'.  */
-typedef int __ipc_pid_t;
-
-/* Number of descriptors that can fit in an `fd_set'.  */
-#define __FD_SETSIZE   1024
-
-
-/* Used in XTI.  */
-typedef long int __t_scalar_t;
-typedef unsigned long int __t_uscalar_t;
-
-/* Duplicates info from stdint.h but this is used in unistd.h.  */
-typedef long int __intptr_t;
-
-/* Duplicate info from sys/socket.h.  */
-typedef unsigned int __socklen_t;
-
-
-/* Now add the thread types.  */
-#if defined __USE_POSIX199506 || defined __USE_UNIX98
-# include <bits/pthreadtypes.h>
-#endif
-
-#endif /* bits/types.h */
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h b/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
new file mode 100644 (file)
index 0000000..235acf8
--- /dev/null
@@ -0,0 +1,65 @@
+/* bits/typesizes.h -- underlying types for *_t.  Linux/Alpha version.
+   Copyright (C) 2002 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#ifndef _BITS_TYPES_H
+# error "Never include <bits/typesizes.h> directly; use <sys/types.h> instead."
+#endif
+
+#ifndef        _BITS_TYPESIZES_H
+#define        _BITS_TYPESIZES_H       1
+
+/* See <bits/types.h> for the meaning of these macros.  This file exists so
+   that <bits/types.h> need not vary across different GNU platforms.  */
+
+#define __DEV_T_TYPE           __U64_TYPE
+#define __UID_T_TYPE           __U32_TYPE
+#define __GID_T_TYPE           __U32_TYPE
+#define __INO_T_TYPE           __U32_TYPE
+#define __INO64_T_TYPE         __U64_TYPE
+#define __MODE_T_TYPE          __U32_TYPE
+#define __NLINK_T_TYPE         __U32_TYPE
+#define __OFF_T_TYPE           __SLONGWORD_TYPE
+#define __OFF64_T_TYPE         __S64_TYPE
+#define __PID_T_TYPE           __S32_TYPE
+#define __RLIM_T_TYPE          __ULONGWORD_TYPE
+#define __RLIM64_T_TYPE                __U64_TYPE
+#define        __BLKCNT_T_TYPE         __U32_TYPE
+#define        __BLKCNT64_T_TYPE       __U64_TYPE
+#define        __FSBLKCNT_T_TYPE       __S32_TYPE
+#define        __FSBLKCNT64_T_TYPE     __S64_TYPE
+#define        __FSFILCNT_T_TYPE       __U32_TYPE
+#define        __FSFILCNT64_T_TYPE     __U64_TYPE
+#define        __ID_T_TYPE             __U32_TYPE
+#define __CLOCK_T_TYPE         __SLONGWORD_TYPE
+#define __TIME_T_TYPE          __SLONGWORD_TYPE
+#define __USECONDS_T_TYPE      __U32_TYPE
+#define __SUSECONDS_T_TYPE     __S64_TYPE
+#define __DADDR_T_TYPE         __S32_TYPE
+#define __SWBLK_T_TYPE         __SLONGWORD_TYPE
+#define __KEY_T_TYPE           __S32_TYPE
+#define __CLOCKID_T_TYPE       __S32_TYPE
+#define __TIMER_T_TYPE         __S32_TYPE
+#define __BLKSIZE_T_TYPE       __U32_TYPE
+#define __FSID_T_TYPE          struct { int __val[2]; }
+
+/* Number of descriptors that can fit in an `fd_set'.  */
+#define        __FD_SETSIZE            1024
+
+
+#endif /* bits/typesizes.h */
diff --git a/sysdeps/unix/sysv/linux/mips/bits/types.h b/sysdeps/unix/sysv/linux/mips/bits/types.h
deleted file mode 100644 (file)
index 141f0b2..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Copyright (C) 1991,92,1994-1999,2000,2001 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-/*
- * Never include this file directly; use <sys/types.h> instead.
- */
-
-#ifndef        _BITS_TYPES_H
-#define        _BITS_TYPES_H   1
-
-#include <features.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-/* Convenience types.  */
-typedef unsigned char __u_char;
-typedef unsigned short __u_short;
-typedef unsigned int __u_int;
-typedef unsigned long __u_long;
-#ifdef __GNUC__
-__extension__ typedef unsigned long long int __u_quad_t;
-__extension__ typedef long long int __quad_t;
-#else
-typedef struct
-  {
-    long int __val[2];
-  } __quad_t;
-typedef struct
-  {
-    __u_long __val[2];
-  } __u_quad_t;
-#endif
-typedef signed char __int8_t;
-typedef unsigned char __uint8_t;
-typedef signed short int __int16_t;
-typedef unsigned short int __uint16_t;
-typedef signed int __int32_t;
-typedef unsigned int __uint32_t;
-#ifdef __GNUC__
-__extension__ typedef signed long long int __int64_t;
-__extension__ typedef unsigned long long int __uint64_t;
-#endif
-typedef __quad_t *__qaddr_t;
-
-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 __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.  */
-
-typedef struct
-  {
-    int __val[2];
-  } __fsid_t;                          /* Type of file system IDs.  */
-
-/* Everythin' else.  */
-typedef int __daddr_t;                 /* The type of a disk address.  */
-typedef char *__caddr_t;
-typedef long int __time_t;
-typedef unsigned int __useconds_t;
-typedef long int __suseconds_t;
-typedef long int __swblk_t;            /* Type of a swap block maybe?  */
-\f
-typedef long int __clock_t;
-
-/* Clock ID used in clock and timer functions.  */
-typedef int __clockid_t;
-
-/* Timer ID returned by `timer_create'.  */
-typedef int __timer_t;
-
-/* Number of descriptors that can fit in an `fd_set'.  */
-#define __FD_SETSIZE   1024
-
-
-typedef int __key_t;
-
-/* Used in `struct shmid_ds'.  */
-typedef long int __ipc_pid_t;
-
-
-/* Type to represent block size.  */
-typedef long int __blksize_t;
-
-/* Types from the Large File Support interface.  */
-
-/* Type to count number os disk blocks.  */
-typedef long int __blkcnt_t;
-typedef __quad_t __blkcnt64_t;
-
-/* Type to count file system blocks.  */
-typedef __u_long __fsblkcnt_t;
-typedef __u_quad_t __fsblkcnt64_t;
-
-/* Type to count file system inodes.  */
-typedef __u_long __fsfilcnt_t;
-typedef __u_quad_t __fsfilcnt64_t;
-
-/* Type of file serial numbers.  */
-typedef __u_quad_t __ino64_t;
-
-/* Type of file sizes and offsets.  */
-typedef __loff_t __off64_t;
-
-/* Used in XTI.  */
-typedef long int __t_scalar_t;
-typedef unsigned long int __t_uscalar_t;
-
-/* Duplicates info from stdint.h but this is used in unistd.h.  */
-typedef int __intptr_t;
-
-/* Duplicate info from sys/socket.h.  */
-typedef unsigned int __socklen_t;
-
-
-/* Now add the thread types.  */
-#if defined __USE_POSIX199506 || defined __USE_UNIX98
-# include <bits/pthreadtypes.h>
-#endif
-
-#endif /* bits/types.h */