summaryrefslogtreecommitdiff
path: root/bits
diff options
context:
space:
mode:
Diffstat (limited to 'bits')
-rw-r--r--bits/types.h20
1 files changed, 13 insertions, 7 deletions
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 */