_types.h revision 112841
150476Speter/*- 232283Shelbig * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org> 332283Shelbig * Copyright (c) 1990, 1993 432283Shelbig * The Regents of the University of California. All rights reserved. 532283Shelbig * 632283Shelbig * Redistribution and use in source and binary forms, with or without 732283Shelbig * modification, are permitted provided that the following conditions 832283Shelbig * are met: 932283Shelbig * 1. Redistributions of source code must retain the above copyright 1032283Shelbig * notice, this list of conditions and the following disclaimer. 1132283Shelbig * 2. Redistributions in binary form must reproduce the above copyright 1232283Shelbig * notice, this list of conditions and the following disclaimer in the 1332283Shelbig * documentation and/or other materials provided with the distribution. 1432283Shelbig * 3. All advertising materials mentioning features or use of this software 1532283Shelbig * must display the following acknowledgement: 1632283Shelbig * This product includes software developed by the University of 1732283Shelbig * California, Berkeley and its contributors. 1832283Shelbig * 4. Neither the name of the University nor the names of its contributors 1932283Shelbig * may be used to endorse or promote products derived from this software 2032283Shelbig * without specific prior written permission. 2132283Shelbig * 2232283Shelbig * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2332283Shelbig * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2432283Shelbig * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2532283Shelbig * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2632283Shelbig * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2732283Shelbig * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2832283Shelbig * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2932283Shelbig * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3032283Shelbig * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3132283Shelbig * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3232283Shelbig * SUCH DAMAGE. 3332283Shelbig * 3432283Shelbig * From: @(#)ansi.h 8.2 (Berkeley) 1/4/94 3532283Shelbig * From: @(#)types.h 8.3 (Berkeley) 1/5/94 3632283Shelbig * $FreeBSD: head/sys/i386/include/_types.h 112841 2003-03-30 05:24:52Z jake $ 3732283Shelbig */ 3832283Shelbig 3932283Shelbig#ifndef _MACHINE__TYPES_H_ 4032283Shelbig#define _MACHINE__TYPES_H_ 4132283Shelbig 4232283Shelbig/* 4332283Shelbig * Basic types upon which most other types are built. 4432283Shelbig */ 4532283Shelbigtypedef __signed char __int8_t; 4632283Shelbigtypedef unsigned char __uint8_t; 4732283Shelbigtypedef short __int16_t; 4832283Shelbigtypedef unsigned short __uint16_t; 4932283Shelbigtypedef int __int32_t; 5032283Shelbigtypedef unsigned int __uint32_t; 5132283Shelbig 5232283Shelbig#if defined(lint) 5332283Shelbig/* LONGLONG */ 5432283Shelbigtypedef long long __int64_t; 5532283Shelbig/* LONGLONG */ 5632283Shelbigtypedef unsigned long long __uint64_t; 5732283Shelbig#elif defined(__GNUC__) 5832283Shelbigtypedef int __attribute__((__mode__(__DI__))) __int64_t; 5932283Shelbigtypedef unsigned int __attribute__((__mode__(__DI__))) __uint64_t; 6032283Shelbig#else 6132283Shelbig/* LONGLONG */ 6232283Shelbigtypedef long long __int64_t; 6332283Shelbig/* LONGLONG */ 6474570Sachetypedef unsigned long long __uint64_t; 6532283Shelbig#endif 6632283Shelbig 6732283Shelbig/* 6854090Sache * Standard type definitions. 6932283Shelbig */ 7032283Shelbigtypedef unsigned long __clock_t; /* clock()... */ 7132283Shelbigtypedef __int32_t __critical_t; 7232283Shelbigtypedef double __double_t; 7332283Shelbigtypedef double __float_t; 7432283Shelbigtypedef __int32_t __intfptr_t; 7532283Shelbigtypedef __int64_t __intmax_t; 7632283Shelbigtypedef __int32_t __intptr_t; 7732283Shelbigtypedef __int32_t __int_fast8_t; 7832283Shelbigtypedef __int32_t __int_fast16_t; 7932283Shelbigtypedef __int32_t __int_fast32_t; 8054090Sachetypedef __int64_t __int_fast64_t; 8153943Sachetypedef __int8_t __int_least8_t; 8253943Sachetypedef __int16_t __int_least16_t; 8353943Sachetypedef __int32_t __int_least32_t; 8453943Sachetypedef __int64_t __int_least64_t; 8553943Sachetypedef __int32_t __ptrdiff_t; /* ptr1 - ptr2 */ 8653943Sachetypedef __int32_t __register_t; 8753943Sachetypedef __int32_t __segsz_t; /* segment size (in pages) */ 8853943Sachetypedef __uint32_t __size_t; /* sizeof() */ 8953943Sachetypedef __int32_t __ssize_t; /* byte count or error */ 9053943Sachetypedef __int32_t __time_t; /* time()... */ 9153943Sachetypedef __uint32_t __uintfptr_t; 9253943Sachetypedef __uint64_t __uintmax_t; 9353943Sachetypedef __uint32_t __uintptr_t; 9453943Sachetypedef __uint32_t __uint_fast8_t; 9553943Sachetypedef __uint32_t __uint_fast16_t; 9653943Sachetypedef __uint32_t __uint_fast32_t; 9774413Sachetypedef __uint64_t __uint_fast64_t; 9853943Sachetypedef __uint8_t __uint_least8_t; 9974413Sachetypedef __uint16_t __uint_least16_t; 10053961Sachetypedef __uint32_t __uint_least32_t; 10174413Sachetypedef __uint64_t __uint_least64_t; 10253961Sachetypedef __uint32_t __u_register_t; 10374413Sachetypedef __uint32_t __vm_offset_t; 10474413Sachetypedef __int64_t __vm_ooffset_t; 105#ifdef PAE 106typedef __uint64_t __vm_paddr_t; 107#else 108typedef __uint32_t __vm_paddr_t; 109#endif 110typedef __uint64_t __vm_pindex_t; 111typedef __uint32_t __vm_size_t; 112 113/* 114 * Unusual type definitions. 115 */ 116#if defined(__GNUC__) && (__GNUC__ == 2 && __GNUC_MINOR__ > 95 || __GNUC__ >= 3) 117typedef __builtin_va_list __va_list; /* internally known to gcc */ 118#else 119typedef char * __va_list; 120#endif /* post GCC 2.95 */ 121#if defined __GNUC__ && !defined(__GNUC_VA_LIST) && !defined(__NO_GNUC_VA_LIST) 122#define __GNUC_VA_LIST 123typedef __va_list __gnuc_va_list; /* compatibility w/GNU headers*/ 124#endif 125 126#endif /* !_MACHINE__TYPES_H_ */ 127