diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | bits/types.h | 20 | ||||
-rw-r--r-- | sysdeps/generic/bits/types.h | 20 |
3 files changed, 32 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog index 47d33bb04a..2e34716a1a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +1998-09-13 Mark Kettenis <kettenis@phys.uva.nl> + + * sysdeps/generic/bits/types.h: Include <features.h>. Make sure + size_t is defined. Some reordering of defenitions to make + maintaining this file in parallel with the linux-specific file easier. + 1998-09-13 Ulrich Drepper <drepper@cygnus.com> * io/pwd.c (main): Add call to mtrace. diff --git a/bits/types.h b/bits/types.h index c6b7b8884e..d79851c22a 100644 --- a/bits/types.h +++ b/bits/types.h @@ -23,6 +23,10 @@ #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; @@ -53,22 +57,23 @@ typedef signed long long int __int64_t; typedef unsigned long long int __uint64_t; #endif typedef __quad_t *__qaddr_t; + typedef int __dev_t; /* Type of device numbers. */ typedef unsigned int __uid_t; /* Type of user identifications. */ typedef unsigned int __gid_t; /* Type of group identifications. */ typedef unsigned int __ino_t; /* Type of file serial numbers. */ +typedef __quad_t __ino64_t; /* Type of file serial numbers (LFS). */ typedef unsigned int __mode_t; /* Type of file attribute bitmasks. */ typedef unsigned short 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 __loff_t __off64_t; /* Type of file sizes and offsets (LFS). */ typedef int __pid_t; /* Type of process identifications. */ typedef int __ssize_t; /* Type of a byte count, or error. */ typedef __u_quad_t __fsid_t; /* Type of file system IDs. */ typedef long int __clock_t; /* Type of CPU usage counts. */ typedef long int __rlim_t; /* Type for resource measurement. */ typedef __quad_t __rlim64_t; /* Type for resource measurement (LFS). */ -typedef __quad_t __ino64_t; /* Type for file serial numbers. */ -typedef __loff_t __off64_t; /* Type of file izes and offsets. */ typedef unsigned int __id_t; /* General type for IDs. */ /* Everythin' else. */ @@ -78,7 +83,9 @@ typedef long int __time_t; typedef long int __swblk_t; /* Type of a swap block maybe? */ typedef long int __key_t; /* Type of an IPC key */ -/* fd_set for select. */ + +/* One element in the file descriptor mask array. */ +typedef unsigned long int __fd_mask; /* Number of descriptors that can fit in an `fd_set'. */ #define __FD_SETSIZE 256 @@ -88,14 +95,13 @@ typedef long int __key_t; /* Type of an IPC key */ #define __FDELT(d) ((d) / __NFDBITS) #define __FDMASK(d) ((unsigned long int) 1 << ((d) % __NFDBITS)) +/* fd_set for select and pselect. */ typedef struct { /* XPG4.2 requires this member name. */ - unsigned long int fds_bits[(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS]; + __fd_mask fds_bits[(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS]; } __fd_set; -typedef unsigned long int __fd_mask; - /* Types from the Large File Support interface. */ @@ -115,7 +121,7 @@ typedef __u_quad_t __fsfilcnt64_t; typedef int __t_scalar_t; typedef unsigned int __t_uscalar_t; -/* This definition makes this file kind of architecture dependent. */ +/* Duplicates info from stdint.h but this is used in unistd.h. */ typedef long int __intptr_t; #endif /* bits/types.h */ diff --git a/sysdeps/generic/bits/types.h b/sysdeps/generic/bits/types.h index c6b7b8884e..d79851c22a 100644 --- a/sysdeps/generic/bits/types.h +++ b/sysdeps/generic/bits/types.h @@ -23,6 +23,10 @@ #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; @@ -53,22 +57,23 @@ typedef signed long long int __int64_t; typedef unsigned long long int __uint64_t; #endif typedef __quad_t *__qaddr_t; + typedef int __dev_t; /* Type of device numbers. */ typedef unsigned int __uid_t; /* Type of user identifications. */ typedef unsigned int __gid_t; /* Type of group identifications. */ typedef unsigned int __ino_t; /* Type of file serial numbers. */ +typedef __quad_t __ino64_t; /* Type of file serial numbers (LFS). */ typedef unsigned int __mode_t; /* Type of file attribute bitmasks. */ typedef unsigned short 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 __loff_t __off64_t; /* Type of file sizes and offsets (LFS). */ typedef int __pid_t; /* Type of process identifications. */ typedef int __ssize_t; /* Type of a byte count, or error. */ typedef __u_quad_t __fsid_t; /* Type of file system IDs. */ typedef long int __clock_t; /* Type of CPU usage counts. */ typedef long int __rlim_t; /* Type for resource measurement. */ typedef __quad_t __rlim64_t; /* Type for resource measurement (LFS). */ -typedef __quad_t __ino64_t; /* Type for file serial numbers. */ -typedef __loff_t __off64_t; /* Type of file izes and offsets. */ typedef unsigned int __id_t; /* General type for IDs. */ /* Everythin' else. */ @@ -78,7 +83,9 @@ typedef long int __time_t; typedef long int __swblk_t; /* Type of a swap block maybe? */ typedef long int __key_t; /* Type of an IPC key */ -/* fd_set for select. */ + +/* One element in the file descriptor mask array. */ +typedef unsigned long int __fd_mask; /* Number of descriptors that can fit in an `fd_set'. */ #define __FD_SETSIZE 256 @@ -88,14 +95,13 @@ typedef long int __key_t; /* Type of an IPC key */ #define __FDELT(d) ((d) / __NFDBITS) #define __FDMASK(d) ((unsigned long int) 1 << ((d) % __NFDBITS)) +/* fd_set for select and pselect. */ typedef struct { /* XPG4.2 requires this member name. */ - unsigned long int fds_bits[(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS]; + __fd_mask fds_bits[(__FD_SETSIZE + (__NFDBITS - 1)) / __NFDBITS]; } __fd_set; -typedef unsigned long int __fd_mask; - /* Types from the Large File Support interface. */ @@ -115,7 +121,7 @@ typedef __u_quad_t __fsfilcnt64_t; typedef int __t_scalar_t; typedef unsigned int __t_uscalar_t; -/* This definition makes this file kind of architecture dependent. */ +/* Duplicates info from stdint.h but this is used in unistd.h. */ typedef long int __intptr_t; #endif /* bits/types.h */ |