]>
Commit | Line | Data |
---|---|---|
af69217f | 1 | /* Copyright (C) 1991, 92, 94, 95, 96, 97, 98 Free Software Foundation, Inc. |
9756dfe1 UD |
2 | This file is part of the GNU C Library. |
3 | ||
4 | The GNU C Library is free software; you can redistribute it and/or | |
5 | modify it under the terms of the GNU Library General Public License as | |
6 | published by the Free Software Foundation; either version 2 of the | |
7 | License, or (at your option) any later version. | |
8 | ||
9 | The GNU C Library is distributed in the hope that it will be useful, | |
10 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
12 | Library General Public License for more details. | |
13 | ||
14 | You should have received a copy of the GNU Library General Public | |
15 | License along with the GNU C Library; see the file COPYING.LIB. If not, | |
16 | write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
17 | Boston, MA 02111-1307, USA. */ | |
18 | ||
19 | /* | |
20 | * Never include this file directly; use <sys/types.h> instead. | |
21 | */ | |
22 | ||
23 | #ifndef _BITS_TYPES_H | |
24 | #define _BITS_TYPES_H 1 | |
25 | ||
26 | #include <features.h> | |
27 | ||
28 | /* Convenience types. */ | |
29 | typedef unsigned char __u_char; | |
30 | typedef unsigned short __u_short; | |
31 | typedef unsigned int __u_int; | |
32 | typedef unsigned long __u_long; | |
33 | #ifdef __GNUC__ | |
34 | typedef unsigned long long int __u_quad_t; | |
35 | typedef long long int __quad_t; | |
36 | #else | |
37 | typedef struct | |
38 | { | |
39 | long int __val[2]; | |
40 | } __quad_t; | |
41 | typedef struct | |
42 | { | |
43 | __u_long __val[2]; | |
44 | } __u_quad_t; | |
45 | #endif | |
46 | typedef signed char __int8_t; | |
47 | typedef unsigned char __uint8_t; | |
48 | typedef signed short int __int16_t; | |
49 | typedef unsigned short int __uint16_t; | |
50 | typedef signed int __int32_t; | |
51 | typedef unsigned int __uint32_t; | |
52 | #ifdef __GNUC__ | |
53 | typedef signed long long int __int64_t; | |
54 | typedef unsigned long long int __uint64_t; | |
55 | #endif | |
56 | typedef __quad_t *__qaddr_t; | |
57 | ||
58 | typedef __u_quad_t __dev_t; /* Type of device numbers. */ | |
59 | typedef __u_int __uid_t; /* Type of user identifications. */ | |
60 | typedef __u_int __gid_t; /* Type of group identifications. */ | |
61 | typedef __u_long __ino_t; /* Type of file serial numbers. */ | |
62 | typedef __u_int __mode_t; /* Type of file attribute bitmasks. */ | |
63 | typedef __u_int __nlink_t; /* Type of file link counts. */ | |
64 | typedef long int __off_t; /* Type of file sizes and offsets. */ | |
65 | typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ | |
66 | typedef int __pid_t; /* Type of process identifications. */ | |
67 | typedef int __ssize_t; /* Type of a byte count, or error. */ | |
68 | typedef long int __rlim_t; /* Type of resource counts. */ | |
69 | typedef __quad_t __rlim64_t; /* Type of resource counts (LFS). */ | |
70 | typedef __u_int __id_t; /* General type for ID. */ | |
71 | ||
72 | typedef struct | |
73 | { | |
74 | int __val[2]; | |
75 | } __fsid_t; /* Type of file system IDs. */ | |
76 | ||
77 | /* Everythin' else. */ | |
78 | typedef int __daddr_t; /* The type of a disk address. */ | |
79 | typedef char *__caddr_t; | |
80 | typedef long int __time_t; | |
81 | typedef long int __swblk_t; /* Type of a swap block maybe? */ | |
82 | \f | |
83 | typedef long int __clock_t; | |
84 | ||
85 | /* One element in the file descriptor mask array. */ | |
86 | typedef unsigned long int __fd_mask; | |
87 | ||
88 | /* Number of descriptors that can fit in an `fd_set'. */ | |
89 | #define __FD_SETSIZE 1024 | |
90 | ||
91 | /* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ | |
92 | #define __NFDBITS (8 * sizeof (__fd_mask)) | |
93 | #define __FDELT(d) ((d) / __NFDBITS) | |
94 | #define __FDMASK(d) ((__fd_mask) 1 << ((d) % __NFDBITS)) | |
95 | ||
96 | /* fd_set for select and pselect. */ | |
97 | typedef struct | |
98 | { | |
99 | /* XPG4.2 requires this member name. */ | |
100 | __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS]; | |
101 | } __fd_set; | |
102 | ||
103 | ||
104 | typedef int __key_t; | |
105 | ||
106 | /* Used in `struct shmid_ds'. */ | |
107 | typedef long int __ipc_pid_t; | |
108 | ||
109 | ||
110 | /* Types from the Large File Support interface. */ | |
111 | ||
112 | /* Type to count number os disk blocks. */ | |
113 | typedef __u_long __blkcnt_t; | |
114 | typedef __u_quad_t __blkcnt64_t; | |
115 | ||
116 | /* Type to count file system blocks. */ | |
117 | typedef long int __fsblkcnt_t; | |
118 | typedef __quad_t __fsblkcnt64_t; | |
119 | ||
120 | /* Type to count file system inodes. */ | |
121 | typedef __u_long __fsfilcnt_t; | |
122 | typedef __u_quad_t __fsfilcnt64_t; | |
123 | ||
124 | /* Type of file serial numbers. */ | |
125 | typedef __u_long __ino64_t; | |
126 | ||
127 | /* Type of file sizes and offsets. */ | |
128 | typedef __loff_t __off64_t; | |
129 | ||
af69217f UD |
130 | /* Used in XTI. */ |
131 | typedef int __t_scalar_t; | |
132 | typedef unsigned int __t_uscalar_t; | |
133 | ||
9756dfe1 | 134 | #endif /* bits/types.h */ |