12949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project/* 22949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Copyright (C) 1999 WIDE Project. 32949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * All rights reserved. 42949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 52949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * Redistribution and use in source and binary forms, with or without 62949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * modification, are permitted provided that the following conditions 72949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * are met: 82949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 1. Redistributions of source code must retain the above copyright 92949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * notice, this list of conditions and the following disclaimer. 102949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 112949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * notice, this list of conditions and the following disclaimer in the 122949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * documentation and/or other materials provided with the distribution. 132949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 3. Neither the name of the project nor the names of its contributors 142949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * may be used to endorse or promote products derived from this software 152949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * without specific prior written permission. 162949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * 172949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 182949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 192949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 202949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 212949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 222949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 232949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 242949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 252949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 262949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 272949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project * SUCH DAMAGE. 282949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project */ 2953f17a9db278d33517d9888dd77848f554522a38JP Abgrall#ifndef _BITTYPES_H 3053f17a9db278d33517d9888dd77848f554522a38JP Abgrall#define _BITTYPES_H 312949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 3253f17a9db278d33517d9888dd77848f554522a38JP Abgrall#ifndef HAVE_U_INT8_T 332949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttypedef unsigned char u_int8_t; 3453f17a9db278d33517d9888dd77848f554522a38JP Abgralltypedef signed char int8_t; 352949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* HAVE_U_INT8_T */ 362949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 372949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef HAVE_U_INT16_T 382949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttypedef unsigned short u_int16_t; 3953f17a9db278d33517d9888dd77848f554522a38JP Abgralltypedef signed short int16_t; 402949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* HAVE_U_INT16_T */ 412949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 422949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef HAVE_U_INT32_T 432949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttypedef unsigned int u_int32_t; 4453f17a9db278d33517d9888dd77848f554522a38JP Abgralltypedef signed int int32_t; 452949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* HAVE_U_INT32_T */ 462949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 472949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef HAVE_U_INT64_T 4853f17a9db278d33517d9888dd77848f554522a38JP Abgrall#ifdef _MSC_EXTENSIONS 492949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Projecttypedef unsigned _int64 u_int64_t; 5053f17a9db278d33517d9888dd77848f554522a38JP Abgralltypedef _int64 int64_t; 5153f17a9db278d33517d9888dd77848f554522a38JP Abgrall#else /* _MSC_EXTENSIONS */ 5253f17a9db278d33517d9888dd77848f554522a38JP Abgralltypedef unsigned long long u_int64_t; 5353f17a9db278d33517d9888dd77848f554522a38JP Abgralltypedef long long int64_t; 5453f17a9db278d33517d9888dd77848f554522a38JP Abgrall#endif /* _MSC_EXTENSIONS */ 552949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* HAVE_U_INT64_T */ 562949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 572949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef PRId64 582949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifdef _MSC_EXTENSIONS 592949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PRId64 "I64d" 602949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#else /* _MSC_EXTENSIONS */ 612949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PRId64 "lld" 622949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* _MSC_EXTENSIONS */ 632949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* PRId64 */ 642949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 652949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef PRIo64 662949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifdef _MSC_EXTENSIONS 672949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PRIo64 "I64o" 682949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#else /* _MSC_EXTENSIONS */ 692949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PRIo64 "llo" 702949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* _MSC_EXTENSIONS */ 712949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* PRIo64 */ 722949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 732949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef PRIx64 742949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifdef _MSC_EXTENSIONS 752949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PRIx64 "I64x" 762949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#else /* _MSC_EXTENSIONS */ 772949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PRIx64 "llx" 782949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* _MSC_EXTENSIONS */ 792949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* PRIx64 */ 802949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project 812949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifndef PRIu64 822949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#ifdef _MSC_EXTENSIONS 832949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PRIu64 "I64u" 842949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#else /* _MSC_EXTENSIONS */ 852949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#define PRIu64 "llu" 862949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* _MSC_EXTENSIONS */ 872949f58a438f6fd85f66a8b7ed4708042cde4b37The Android Open Source Project#endif /* PRIu64 */ 8853f17a9db278d33517d9888dd77848f554522a38JP Abgrall 8953f17a9db278d33517d9888dd77848f554522a38JP Abgrall#endif /* _BITTYPES_H */ 90