blob: ae2ea33a594f8cccb77974d705c9482bcb6df1c7 [file] [log] [blame]
Juan Castillo9e751572014-11-17 17:27:41 +00001/*-
2 * Copyright (c) 1982, 1986, 1991, 1993, 1994
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 * 4. Neither the name of the University nor the names of its contributors
19 * may be used to endorse or promote products derived from this software
20 * without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 * @(#)types.h 8.6 (Berkeley) 2/19/95
35 * $FreeBSD$
36 */
37
38#ifndef _SYS_TYPES_H_
39#define _SYS_TYPES_H_
40
41#include <sys/cdefs.h>
42
43/* Machine type dependent parameters. */
44#include <sys/_types.h>
45
46#if __BSD_VISIBLE
47typedef unsigned char u_char;
48typedef unsigned short u_short;
49typedef unsigned int u_int;
50typedef unsigned long u_long;
51#ifndef _KERNEL
52typedef unsigned short ushort; /* Sys V compatibility */
53typedef unsigned int uint; /* Sys V compatibility */
54#endif
55#endif
56
57/*
58 * XXX POSIX sized integrals that should appear only in <sys/stdint.h>.
59 */
60#include <sys/_stdint.h>
61
62typedef __uint8_t u_int8_t; /* unsigned integrals (deprecated) */
63typedef __uint16_t u_int16_t;
64typedef __uint32_t u_int32_t;
65typedef __uint64_t u_int64_t;
66
67typedef __uint64_t u_quad_t; /* quads (deprecated) */
68typedef __int64_t quad_t;
69typedef quad_t *qaddr_t;
70
71typedef char *caddr_t; /* core address */
72typedef const char *c_caddr_t; /* core address, pointer to const */
73
74#ifndef _BLKSIZE_T_DECLARED
75typedef __blksize_t blksize_t;
76#define _BLKSIZE_T_DECLARED
77#endif
78
79typedef __cpuwhich_t cpuwhich_t;
80typedef __cpulevel_t cpulevel_t;
81typedef __cpusetid_t cpusetid_t;
82
83#ifndef _BLKCNT_T_DECLARED
84typedef __blkcnt_t blkcnt_t;
85#define _BLKCNT_T_DECLARED
86#endif
87
88#ifndef _CLOCK_T_DECLARED
89typedef __clock_t clock_t;
90#define _CLOCK_T_DECLARED
91#endif
92
93#ifndef _CLOCKID_T_DECLARED
94typedef __clockid_t clockid_t;
95#define _CLOCKID_T_DECLARED
96#endif
97
98typedef __critical_t critical_t; /* Critical section value */
99typedef __int64_t daddr_t; /* disk address */
100
101#ifndef _DEV_T_DECLARED
102typedef __dev_t dev_t; /* device number or struct cdev */
103#define _DEV_T_DECLARED
104#endif
105
106#ifndef _FFLAGS_T_DECLARED
107typedef __fflags_t fflags_t; /* file flags */
108#define _FFLAGS_T_DECLARED
109#endif
110
111typedef __fixpt_t fixpt_t; /* fixed point number */
112
113#ifndef _FSBLKCNT_T_DECLARED /* for statvfs() */
114typedef __fsblkcnt_t fsblkcnt_t;
115typedef __fsfilcnt_t fsfilcnt_t;
116#define _FSBLKCNT_T_DECLARED
117#endif
118
119#ifndef _GID_T_DECLARED
120typedef __gid_t gid_t; /* group id */
121#define _GID_T_DECLARED
122#endif
123
124#ifndef _IN_ADDR_T_DECLARED
125typedef __uint32_t in_addr_t; /* base type for internet address */
126#define _IN_ADDR_T_DECLARED
127#endif
128
129#ifndef _IN_PORT_T_DECLARED
130typedef __uint16_t in_port_t;
131#define _IN_PORT_T_DECLARED
132#endif
133
134#ifndef _ID_T_DECLARED
135typedef __id_t id_t; /* can hold a uid_t or pid_t */
136#define _ID_T_DECLARED
137#endif
138
139#ifndef _INO_T_DECLARED
140typedef __ino_t ino_t; /* inode number */
141#define _INO_T_DECLARED
142#endif
143
144#ifndef _KEY_T_DECLARED
145typedef __key_t key_t; /* IPC key (for Sys V IPC) */
146#define _KEY_T_DECLARED
147#endif
148
149#ifndef _LWPID_T_DECLARED
150typedef __lwpid_t lwpid_t; /* Thread ID (a.k.a. LWP) */
151#define _LWPID_T_DECLARED
152#endif
153
154#ifndef _MODE_T_DECLARED
155typedef __mode_t mode_t; /* permissions */
156#define _MODE_T_DECLARED
157#endif
158
159#ifndef _ACCMODE_T_DECLARED
160typedef __accmode_t accmode_t; /* access permissions */
161#define _ACCMODE_T_DECLARED
162#endif
163
164#ifndef _NLINK_T_DECLARED
165typedef __nlink_t nlink_t; /* link count */
166#define _NLINK_T_DECLARED
167#endif
168
169#ifndef _OFF_T_DECLARED
170typedef __off_t off_t; /* file offset */
171#define _OFF_T_DECLARED
172#endif
173
174#ifndef _PID_T_DECLARED
175typedef __pid_t pid_t; /* process id */
176#define _PID_T_DECLARED
177#endif
178
179typedef __register_t register_t;
180
181#ifndef _RLIM_T_DECLARED
182typedef __rlim_t rlim_t; /* resource limit */
183#define _RLIM_T_DECLARED
184#endif
185
186typedef __int64_t sbintime_t;
187
188typedef __segsz_t segsz_t; /* segment size (in pages) */
189
190#ifndef _SIZE_T_DECLARED
191typedef __size_t size_t;
192#define _SIZE_T_DECLARED
193#endif
194
195#ifndef _SSIZE_T_DECLARED
196typedef __ssize_t ssize_t;
197#define _SSIZE_T_DECLARED
198#endif
199
200#ifndef _SUSECONDS_T_DECLARED
201typedef __suseconds_t suseconds_t; /* microseconds (signed) */
202#define _SUSECONDS_T_DECLARED
203#endif
204
205#ifndef _TIME_T_DECLARED
206typedef __time_t time_t;
207#define _TIME_T_DECLARED
208#endif
209
210#ifndef _TIMER_T_DECLARED
211typedef __timer_t timer_t;
212#define _TIMER_T_DECLARED
213#endif
214
215#ifndef _MQD_T_DECLARED
216typedef __mqd_t mqd_t;
217#define _MQD_T_DECLARED
218#endif
219
220typedef __u_register_t u_register_t;
221
222#ifndef _UID_T_DECLARED
223typedef __uid_t uid_t; /* user id */
224#define _UID_T_DECLARED
225#endif
226
227#ifndef _USECONDS_T_DECLARED
228typedef __useconds_t useconds_t; /* microseconds (unsigned) */
229#define _USECONDS_T_DECLARED
230#endif
231
232#ifndef _CAP_RIGHTS_T_DECLARED
233#define _CAP_RIGHTS_T_DECLARED
234struct cap_rights;
235
236typedef struct cap_rights cap_rights_t;
237#endif
238
239typedef __vm_offset_t vm_offset_t;
240typedef __vm_ooffset_t vm_ooffset_t;
241typedef __vm_paddr_t vm_paddr_t;
242typedef __vm_pindex_t vm_pindex_t;
243typedef __vm_size_t vm_size_t;
244
245#endif /* !_SYS_TYPES_H_ */