This is the mail archive of the libc-hacker@sourceware.cygnus.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

A Hurd-related fix


Hi,

This patch brings `sysdeps/generic/bits/types.h' (used on the Hurd)
back in sync with the Linux-specefic one.  There were some problems,
triggered by the `signal/signal.h' cleanup.

Mark


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.


Index: sysdeps/generic/bits/types.h
--- 0.14/sysdeps/generic/bits/types.h Sun, 13 Sep 1998 22:02:32 +0200 kettenis (libc/b/10_types.h 1.1 666)
+++ Local.13(w)/sysdeps/generic/bits/types.h Sun, 13 Sep 1998 22:30:38 +0200 kettenis (libc/b/10_types.h 1.1 666)
@@ -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 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 __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 @@
 #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 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 */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]