1d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// Copyright 2014 The Android Open Source Project 2d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// 3d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// This software is licensed under the terms of the GNU General Public 4d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// License version 2, as published by the Free Software Foundation, and 5d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// may be copied, distributed, and modified under those terms. 6d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// 7d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// This program is distributed in the hope that it will be useful, 8d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// but WITHOUT ANY WARRANTY; without even the implied warranty of 9d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 10d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// GNU General Public License for more details. 11d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner 12d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#ifndef ANDROID_BASE_LIMITS_H 13d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#define ANDROID_BASE_LIMITS_H 14d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner 15d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// In C++, <stdint.h> will only define macros like SIZE_MAX if you have 16d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// defined __STDC_LIMIT_MACROS before including <stdint.h>. This header 17d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// is used to do just that and verify that the macros are properly 18d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// defined. 19d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// 20d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// NOTE: We have to define __STDC_FORMAT_MACROS in case the user wants 21d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner// to use the corresponding macros as well. 22d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner 23d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#define __STDC_LIMIT_MACROS 1 24d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#define __STDC_FORMAT_MACROS 1 25d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#include <inttypes.h> 26d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner 27d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#ifndef SIZE_MAX 28d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#warning "<inttypes.h> has been included before this header." 29d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#warning "This prevents the definition of useful macros." 30d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#error "Please include <android/base/Limits.h> first!" 31d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#endif 32d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner 33d3f2c27ff9f611e5047a35cb20ed53f548214fedDavid 'Digit' Turner#endif // ANDROID_BASE_LIMITS_H 34