machine/_types.h

Go to the documentation of this file.
00001 /*-
00002  * Copyright (c) 2002 Mike Barcroft <[email protected]>
00003  * Copyright (c) 1990, 1993
00004  *      The Regents of the University of California.  All rights reserved.
00005  *
00006  * Redistribution and use in source and binary forms, with or without
00007  * modification, are permitted provided that the following conditions
00008  * are met:
00009  * 1. Redistributions of source code must retain the above copyright
00010  *    notice, this list of conditions and the following disclaimer.
00011  * 2. Redistributions in binary form must reproduce the above copyright
00012  *    notice, this list of conditions and the following disclaimer in the
00013  *    documentation and/or other materials provided with the distribution.
00014  * 3. All advertising materials mentioning features or use of this software
00015  *    must display the following acknowledgement:
00016  *      This product includes software developed by the University of
00017  *      California, Berkeley and its contributors.
00018  * 4. Neither the name of the University nor the names of its contributors
00019  *    may be used to endorse or promote products derived from this software
00020  *    without specific prior written permission.
00021  *
00022  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
00023  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00024  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00025  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
00026  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00027  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
00028  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
00029  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00030  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
00031  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00032  * SUCH DAMAGE.
00033  *
00034  *      From: @(#)ansi.h        8.2 (Berkeley) 1/4/94
00035  *      From: @(#)types.h       8.3 (Berkeley) 1/5/94
00036  * $FreeBSD: src/sys/i386/include/_types.h,v 1.12 2005/07/02 23:13:31 thompsa Exp $
00037  */
00038 
00039 #ifndef _MACHINE__TYPES_H_
00040 #define _MACHINE__TYPES_H_
00041 
00042 #ifndef _SYS_CDEFS_H_
00043 #error this file needs sys/cdefs.h as a prerequisite
00044 #endif
00045 
00046 #define __NO_STRICT_ALIGNMENT
00047 
00048 /*
00049  * Basic types upon which most other types are built.
00050  */
00051 typedef __signed char           __int8_t;
00052 typedef unsigned char           __uint8_t;
00053 typedef short                   __int16_t;
00054 typedef unsigned short          __uint16_t;
00055 typedef int                     __int32_t;
00056 typedef unsigned int            __uint32_t;
00057 
00058 #if defined(lint)
00059 /* LONGLONG */
00060 typedef long long               __int64_t;
00061 /* LONGLONG */
00062 typedef unsigned long long      __uint64_t;
00063 #elif defined(__GNUCLIKE_ATTRIBUTE_MODE_DI)
00064 typedef int __attribute__((__mode__(__DI__)))           __int64_t;
00065 typedef unsigned int __attribute__((__mode__(__DI__)))  __uint64_t;
00066 #else
00067 /* LONGLONG */
00068 typedef long long               __int64_t;
00069 /* LONGLONG */
00070 typedef unsigned long long      __uint64_t;
00071 #endif
00072 
00073 /*
00074  * Standard type definitions.
00075  */
00076 typedef unsigned long   __clock_t;              /* clock()... */
00077 typedef unsigned int    __cpumask_t;
00078 typedef __int32_t       __critical_t;
00079 typedef double          __double_t;
00080 typedef double          __float_t;
00081 typedef __int32_t       __intfptr_t;
00082 typedef __int64_t       __intmax_t;
00083 typedef __int32_t       __intptr_t;
00084 typedef __int32_t       __int_fast8_t;
00085 typedef __int32_t       __int_fast16_t;
00086 typedef __int32_t       __int_fast32_t;
00087 typedef __int64_t       __int_fast64_t;
00088 typedef __int8_t        __int_least8_t;
00089 typedef __int16_t       __int_least16_t;
00090 typedef __int32_t       __int_least32_t;
00091 typedef __int64_t       __int_least64_t;
00092 typedef __int32_t       __ptrdiff_t;            /* ptr1 - ptr2 */
00093 typedef __int32_t       __register_t;
00094 typedef __int32_t       __segsz_t;              /* segment size (in pages) */
00095 typedef __uint32_t      __size_t;               /* sizeof() */
00096 typedef __int32_t       __ssize_t;              /* byte count or error */
00097 typedef __int32_t       __time_t;               /* time()... */
00098 typedef __uint32_t      __uintfptr_t;
00099 typedef __uint64_t      __uintmax_t;
00100 typedef __uint32_t      __uintptr_t;
00101 typedef __uint32_t      __uint_fast8_t;
00102 typedef __uint32_t      __uint_fast16_t;
00103 typedef __uint32_t      __uint_fast32_t;
00104 typedef __uint64_t      __uint_fast64_t;
00105 typedef __uint8_t       __uint_least8_t;
00106 typedef __uint16_t      __uint_least16_t;
00107 typedef __uint32_t      __uint_least32_t;
00108 typedef __uint64_t      __uint_least64_t;
00109 typedef __uint32_t      __u_register_t;
00110 typedef __uint32_t      __vm_offset_t;
00111 typedef __int64_t       __vm_ooffset_t;
00112 #ifdef PAE
00113 typedef __uint64_t      __vm_paddr_t;
00114 #else
00115 typedef __uint32_t      __vm_paddr_t;
00116 #endif
00117 typedef __uint64_t      __vm_pindex_t;
00118 typedef __uint32_t      __vm_size_t;
00119 
00120 #ifndef __SYMBIAN32__
00121 /*
00122  * Unusual type definitions.
00123  */
00124 #ifdef __GNUCLIKE_BUILTIN_VARARGS
00125 typedef __builtin_va_list       __va_list;      /* internally known to gcc */
00126 #else
00127 typedef char *                  __va_list;
00128 #endif /* __GNUCLIKE_BUILTIN_VARARGS */
00129 #if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \
00130     && !defined(__NO_GNUC_VA_LIST)
00131 #define __GNUC_VA_LIST
00132 typedef __va_list               __gnuc_va_list; /* compatibility w/GNU headers*/
00133 #endif
00134 
00135 //__SYMBIAN32__
00136 #endif
00137 
00138 #endif /* !_MACHINE__TYPES_H_ */

Copyright © Nokia Corporation 2001-2008
Back to top