11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/*	$OpenBSD: _types.h,v 1.3 2006/02/14 18:12:58 miod Exp $	*/
21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/*-
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Copyright (c) 1990, 1993
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *	The Regents of the University of California.  All rights reserved.
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * Redistribution and use in source and binary forms, with or without
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * modification, are permitted provided that the following conditions
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * are met:
101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * 1. Redistributions of source code must retain the above copyright
111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *    notice, this list of conditions and the following disclaimer.
121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright
131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *    notice, this list of conditions and the following disclaimer in the
141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *    documentation and/or other materials provided with the distribution.
151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * 3. Neither the name of the University nor the names of its contributors
161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *    may be used to endorse or promote products derived from this software
171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *    without specific prior written permission.
181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *
191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
231dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
281dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project * SUCH DAMAGE.
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *	@(#)types.h	8.3 (Berkeley) 1/5/94
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project *	@(#)ansi.h	8.2 (Berkeley) 1/4/94
331dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project */
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _ARM__TYPES_H_
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _ARM__TYPES_H_
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
381dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if !defined(__ARM_EABI__)
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* the kernel defines size_t as unsigned int, but g++ wants it to be unsigned long */
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _SIZE_T
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _SSIZE_T
431dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _PTRDIFF_T
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef unsigned long  size_t;
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef long           ssize_t;
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef long           ptrdiff_t;
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
481dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 7.18.1.1 Exact-width integer types */
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__signed char		__int8_t;
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	unsigned char		__uint8_t;
521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	short			__int16_t;
531dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	unsigned short		__uint16_t;
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	int			__int32_t;
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	unsigned int		__uint32_t;
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* LONGLONG */
571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	long long		__int64_t;
581dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* LONGLONG */
591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	unsigned long long	__uint64_t;
601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 7.18.1.2 Minimum-width integer types */
621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__int8_t		__int_least8_t;
631dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__uint8_t		__uint_least8_t;
641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__int16_t		__int_least16_t;
651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__uint16_t		__uint_least16_t;
661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__int32_t		__int_least32_t;
671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__uint32_t		__uint_least32_t;
681dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__int64_t		__int_least64_t;
691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__uint64_t		__uint_least64_t;
701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 7.18.1.3 Fastest minimum-width integer types */
721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__int32_t		__int_fast8_t;
731dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__uint32_t		__uint_fast8_t;
741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__int32_t		__int_fast16_t;
751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__uint32_t		__uint_fast16_t;
761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__int32_t		__int_fast32_t;
771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__uint32_t		__uint_fast32_t;
781dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__int64_t		__int_fast64_t;
791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__uint64_t		__uint_fast64_t;
801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 7.18.1.4 Integer types capable of holding object pointers */
821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	int 			__intptr_t;
831dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	unsigned int 		__uintptr_t;
841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* 7.18.1.5 Greatest-width integer types */
861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__int64_t		__intmax_t;
871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__uint64_t		__uintmax_t;
881dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* Register size */
901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef __int32_t		__register_t;
911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* VM system types */
931dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef unsigned long		__vaddr_t;
941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef unsigned long		__paddr_t;
951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef unsigned long		__vsize_t;
961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef unsigned long		__psize_t;
971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
981dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* Standard system types */
991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef int			__clock_t;
1001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef int			__clockid_t;
1011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef long			__ptrdiff_t;
1021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	int			__time_t;
1031dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef int			__timer_t;
1041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#if defined(__GNUC__) && __GNUC__ >= 3
1051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	__builtin_va_list	__va_list;
1061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else
1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	char *			__va_list;
1081dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
1101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/* Wide character support types */
1111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef __cplusplus
1121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	int			__wchar_t;
1131dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
1141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef int			__wint_t;
1151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	int			__rune_t;
1161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	void *			__wctrans_t;
1171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projecttypedef	void *			__wctype_t;
1181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
1191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef __ARMEB__
1201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _BYTE_ORDER _BIG_ENDIAN
1211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else
1221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _BYTE_ORDER _LITTLE_ENDIAN
1231dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
1241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project
1251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif	/* _ARM__TYPES_H_ */
126