_types.h revision 104293
111394Sswallace/*-
211394Sswallace * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
311394Sswallace * Copyright (c) 1990, 1993
411394Sswallace *	The Regents of the University of California.  All rights reserved.
511394Sswallace *
611394Sswallace * Redistribution and use in source and binary forms, with or without
711394Sswallace * modification, are permitted provided that the following conditions
811394Sswallace * are met:
911394Sswallace * 1. Redistributions of source code must retain the above copyright
1011394Sswallace *    notice, this list of conditions and the following disclaimer.
1111394Sswallace * 2. Redistributions in binary form must reproduce the above copyright
1211394Sswallace *    notice, this list of conditions and the following disclaimer in the
1311394Sswallace *    documentation and/or other materials provided with the distribution.
1411394Sswallace * 3. All advertising materials mentioning features or use of this software
1511394Sswallace *    must display the following acknowledgement:
1611394Sswallace *	This product includes software developed by the University of
1711394Sswallace *	California, Berkeley and its contributors.
1811394Sswallace * 4. Neither the name of the University nor the names of its contributors
1911394Sswallace *    may be used to endorse or promote products derived from this software
2011394Sswallace *    without specific prior written permission.
2111394Sswallace *
2211394Sswallace * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
2311394Sswallace * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2411394Sswallace * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2511394Sswallace * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
2611394Sswallace * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2711394Sswallace * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2811394Sswallace * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2911394Sswallace * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
3011394Sswallace * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
3111394Sswallace * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
3211394Sswallace * SUCH DAMAGE.
3311394Sswallace *
3411394Sswallace *	From: @(#)ansi.h	8.2 (Berkeley) 1/4/94
3511394Sswallace *	From: @(#)types.h	8.3 (Berkeley) 1/5/94
3611394Sswallace * $FreeBSD: head/sys/i386/include/_types.h 104293 2002-10-01 14:07:18Z phk $
3711394Sswallace */
3811394Sswallace
3911394Sswallace#ifndef _MACHINE__TYPES_H_
4011394Sswallace#define	_MACHINE__TYPES_H_
4111394Sswallace
4228750Sbde/*
4328750Sbde * Basic types upon which most other types are built.
4428750Sbde */
4528750Sbdetypedef	__signed char		__int8_t;
4611397Sswallacetypedef	unsigned char		__uint8_t;
4712662Sdgtypedef	short			__int16_t;
4811394Sswallacetypedef	unsigned short		__uint16_t;
4911394Sswallacetypedef	int			__int32_t;
5014331Spetertypedef	unsigned int		__uint32_t;
5114331Speter
5211394Sswallace#if defined(lint)
5311397Sswallace/* LONGLONG */
5411397Sswallacetypedef	long long		__int64_t;
5511397Sswallace/* LONGLONG */
5611397Sswallacetypedef	unsigned long long	__uint64_t;
5711397Sswallace#elif defined(__GNUC__)
5811397Sswallacetypedef	int __attribute__((__mode__(__DI__)))		__int64_t;
5911397Sswallacetypedef	unsigned int __attribute__((__mode__(__DI__)))	__uint64_t;
6011394Sswallace#else
6111394Sswallace/* LONGLONG */
6211394Sswallacetypedef	long long		__int64_t;
6314464Speter/* LONGLONG */
6414331Spetertypedef	unsigned long long	__uint64_t;
6511394Sswallace#endif
6611394Sswallace
6711394Sswallace/*
6811394Sswallace * Standard type definitions.
6911394Sswallace */
7011394Sswallacetypedef	unsigned long	__clock_t;		/* clock()... */
7111394Sswallacetypedef	__int32_t	__critical_t;
7211394Sswallacetypedef	__int32_t	__intfptr_t;
7311394Sswallacetypedef	__int64_t	__intmax_t;
7411394Sswallacetypedef	__int32_t	__intptr_t;
7511394Sswallacetypedef	__int32_t	__int_fast8_t;
7611394Sswallacetypedef	__int32_t	__int_fast16_t;
7711394Sswallacetypedef	__int32_t	__int_fast32_t;
7811394Sswallacetypedef	__int64_t	__int_fast64_t;
7911394Sswallacetypedef	__int8_t	__int_least8_t;
8011394Sswallacetypedef	__int16_t	__int_least16_t;
8111394Sswallacetypedef	__int32_t	__int_least32_t;
8211394Sswallacetypedef	__int64_t	__int_least64_t;
8311394Sswallacetypedef	__int32_t	__ptrdiff_t;		/* ptr1 - ptr2 */
8411394Sswallacetypedef	__int32_t	__register_t;
8511394Sswallacetypedef	__int32_t	__segsz_t;		/* segment size (in pages) */
8611394Sswallacetypedef	__uint32_t	__size_t;		/* sizeof() */
8711394Sswallacetypedef	__int32_t	__ssize_t;		/* byte count or error */
8811394Sswallacetypedef	__int32_t	__time_t;		/* time()... */
8911394Sswallacetypedef	__uint32_t	__uintfptr_t;
9011394Sswallacetypedef	__uint64_t	__uintmax_t;
9111394Sswallacetypedef	__uint32_t	__uintptr_t;
9211394Sswallacetypedef	__uint32_t	__uint_fast8_t;
9311394Sswallacetypedef	__uint32_t	__uint_fast16_t;
9420652Sbdetypedef	__uint32_t	__uint_fast32_t;
9520652Sbdetypedef	__uint64_t	__uint_fast64_t;
9620652Sbdetypedef	__uint8_t	__uint_least8_t;
9720652Sbdetypedef	__uint16_t	__uint_least16_t;
9811394Sswallacetypedef	__uint32_t	__uint_least32_t;
99typedef	__uint64_t	__uint_least64_t;
100typedef	__uint32_t	__u_register_t;
101typedef	__uint32_t	__vm_offset_t;
102typedef	__int64_t	__vm_ooffset_t;
103typedef	__uint64_t	__vm_pindex_t;
104typedef	__uint32_t	__vm_size_t;
105
106/*
107 * Unusual type definitions.
108 */
109#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3)
110typedef __builtin_va_list	__va_list;	/* internally known to gcc */
111#else
112typedef	char *			__va_list;
113#endif /* post GCC 2.95 */
114#if defined __GNUC__ && !defined(__GNUC_VA_LIST) && !defined(__NO_GNUC_VA_LIST)
115#define __GNUC_VA_LIST
116typedef __va_list		__gnuc_va_list;	/* compatibility w/GNU headers*/
117#endif
118
119#endif /* !_MACHINE__TYPES_H_ */
120