1e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/****************************************************************************** 2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 3e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Copyright (C) 1999-2012 Broadcom Corporation 4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * you may not use this file except in compliance with the License. 7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * You may obtain a copy of the License at: 8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 11e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * See the License for the specific language governing permissions and 15e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * limitations under the License. 16e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project * 17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project ******************************************************************************/ 18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef DATA_TYPES_H 19e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define DATA_TYPES_H 20e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef NULL 22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define NULL 0 23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 25e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef FALSE 26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define FALSE 0 27e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 28e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 29e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef unsigned char UINT8; 30e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef unsigned short UINT16; 31e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef unsigned long UINT32; 32e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef unsigned long long int UINT64; 33e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef signed long INT32; 34e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef signed char INT8; 35e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef signed short INT16; 36e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef unsigned char BOOLEAN; 375c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenentypedef UINT32 UINTPTR; 38e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef UINT32 TIME_STAMP; 39e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 40e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef TRUE 41e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define TRUE (!FALSE) 42e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 43e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 44e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projecttypedef unsigned char UBYTE; 45e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 46e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifdef __arm 47e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define PACKED __packed 48e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define INLINE __inline 49e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#else 50e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define PACKED 51e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define INLINE 52e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 53e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 54e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#ifndef BIG_ENDIAN 55e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define BIG_ENDIAN FALSE 56e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 57e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 58e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UINT16_LOW_BYTE(x) ((x) & 0xff) 59e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define UINT16_HI_BYTE(x) ((x) >> 8) 60e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 61e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* MACRO definitions for safe string functions */ 62e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project/* Replace standard string functions with safe functions if available */ 63e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define BCM_STRCAT_S(x1,x2,x3) strcat((x1),(x3)) 64e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define BCM_STRNCAT_S(x1,x2,x3,x4) strncat((x1),(x3),(x4)) 65e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define BCM_STRCPY_S(x1,x2,x3) strcpy((x1),(x3)) 66e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define BCM_STRNCPY_S(x1,x2,x3,x4) strncpy((x1),(x3),(x4)) 67e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define BCM_SPRINTF_S(x1,x2,x3,x4) sprintf((x1),(x3),(x4)) 68e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#define BCM_VSPRINTF_S(x1,x2,x3,x4) vsprintf((x1),(x3),(x4)) 69e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 70e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project#endif 71e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project 72