]>
Commit | Line | Data |
---|---|---|
2ff458eb | 1 | /* Copyright (C) 1991,92,1994-1999,2000,2001 Free Software Foundation, Inc. |
7e836977 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 | |
41bdb6e2 AJ |
5 | modify it under the terms of the GNU Lesser General Public |
6 | License as published by the Free Software Foundation; either | |
7 | version 2.1 of the License, or (at your option) any later version. | |
7e836977 UD |
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 | |
41bdb6e2 | 12 | Lesser General Public License for more details. |
7e836977 | 13 | |
41bdb6e2 AJ |
14 | You should have received a copy of the GNU Lesser General Public |
15 | License along with the GNU C Library; if not, write to the Free | |
16 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA | |
17 | 02111-1307 USA. */ | |
7e836977 UD |
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 | ||
d436a9f7 | 28 | #define __need_NULL |
7e836977 UD |
29 | #define __need_size_t |
30 | #include <stddef.h> | |
31 | ||
32 | /* Convenience types. */ | |
33 | typedef unsigned char __u_char; | |
34 | typedef unsigned short __u_short; | |
35 | typedef unsigned int __u_int; | |
36 | typedef unsigned long __u_long; | |
37 | #ifdef __GNUC__ | |
38 | __extension__ typedef unsigned long long int __u_quad_t; | |
39 | __extension__ typedef long long int __quad_t; | |
40 | #else | |
41 | typedef struct | |
42 | { | |
43 | long int __val[2]; | |
44 | } __quad_t; | |
45 | typedef struct | |
46 | { | |
47 | __u_long __val[2]; | |
48 | } __u_quad_t; | |
49 | #endif | |
50 | typedef signed char __int8_t; | |
51 | typedef unsigned char __uint8_t; | |
52 | typedef signed short int __int16_t; | |
53 | typedef unsigned short int __uint16_t; | |
54 | typedef signed int __int32_t; | |
55 | typedef unsigned int __uint32_t; | |
56 | #ifdef __GNUC__ | |
57 | __extension__ typedef signed long long int __int64_t; | |
58 | __extension__ typedef unsigned long long int __uint64_t; | |
59 | #endif | |
60 | typedef __quad_t *__qaddr_t; | |
61 | ||
62 | typedef __u_long __dev_t; /* Type of device numbers. */ | |
63 | typedef __u_int __uid_t; /* Type of user identifications. */ | |
64 | typedef __u_int __gid_t; /* Type of group identifications. */ | |
65 | typedef __u_long __ino_t; /* Type of file serial numbers. */ | |
66 | typedef __u_int __mode_t; /* Type of file attribute bitmasks. */ | |
67 | typedef short int __nlink_t; /* Type of file link counts. */ | |
68 | typedef long int __off_t; /* Type of file sizes and offsets. */ | |
69 | typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ | |
70 | typedef int __pid_t; /* Type of process identifications. */ | |
71 | typedef long int __ssize_t; /* Type of a byte count, or error. */ | |
72 | typedef __u_long __rlim_t; /* Type of resource counts. */ | |
73 | typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */ | |
74 | typedef __u_long __id_t; /* General type for ID. */ | |
75 | ||
76 | typedef struct | |
77 | { | |
78 | unsigned long int __val[2]; | |
79 | } __fsid_t; /* Type of file system IDs. */ | |
80 | ||
81 | /* Everythin' else. */ | |
82 | typedef long int __daddr_t; /* The type of a disk address. */ | |
83 | typedef char *__caddr_t; | |
84 | typedef long int __time_t; | |
85 | typedef __u_long __useconds_t; | |
86 | typedef int __suseconds_t; | |
87 | typedef long int __swblk_t; /* Type of a swap block maybe? */ | |
88 | \f | |
89 | typedef int __clock_t; | |
90 | ||
2aa15430 UD |
91 | /* Clock ID used in clock and timer functions. */ |
92 | typedef int __clockid_t; | |
93 | ||
94 | /* Timer ID returned by `timer_create'. */ | |
95 | typedef int __timer_t; | |
96 | ||
7e836977 UD |
97 | /* Number of descriptors that can fit in an `fd_set'. */ |
98 | #define __FD_SETSIZE 1024 | |
99 | ||
7e836977 UD |
100 | |
101 | typedef long int __key_t; | |
102 | ||
103 | /* Type to represent block size. */ | |
104 | typedef int __blksize_t; | |
105 | ||
106 | /* Types from the Large File Support interface. */ | |
107 | ||
108 | /* Type to count number os disk blocks. */ | |
109 | typedef int __blkcnt_t; | |
110 | typedef __quad_t __blkcnt64_t; | |
111 | ||
112 | /* Type to count file system blocks. */ | |
113 | typedef __u_long __fsblkcnt_t; | |
114 | typedef __u_quad_t __fsblkcnt64_t; | |
115 | ||
116 | /* Type to count file system inodes. */ | |
117 | typedef __u_long __fsfilcnt_t; | |
118 | typedef __u_quad_t __fsfilcnt64_t; | |
119 | ||
120 | /* Type of file serial numbers. */ | |
121 | typedef __u_quad_t __ino64_t; | |
122 | ||
123 | /* Type of file sizes and offsets. */ | |
124 | typedef __loff_t __off64_t; | |
125 | ||
126 | /* Used in XTI. */ | |
127 | typedef int __t_scalar_t; | |
128 | typedef unsigned int __t_uscalar_t; | |
129 | ||
130 | /* Duplicates info from stdint.h but this is used in unistd.h. */ | |
131 | typedef int __intptr_t; | |
132 | ||
750f9af6 UD |
133 | /* Duplicate info from sys/socket.h. */ |
134 | typedef unsigned int __socklen_t; | |
135 | ||
7e836977 | 136 | #endif /* bits/types.h */ |