1293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh/* -*- c++ -*- */ 2293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh/* 3293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * Copyright (C) 2009 The Android Open Source Project 4293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * All rights reserved. 5293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * 6293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * Redistribution and use in source and binary forms, with or without 7293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * modification, are permitted provided that the following conditions 8293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * are met: 9293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * * Redistributions of source code must retain the above copyright 10293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * notice, this list of conditions and the following disclaimer. 11293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * * Redistributions in binary form must reproduce the above copyright 12293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * notice, this list of conditions and the following disclaimer in 13293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * the documentation and/or other materials provided with the 14293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * distribution. 15293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * 16293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 17293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 18293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 19293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 20293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 21293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 22293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS 23293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 24293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 25293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 26293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * SUCH DAMAGE. 28293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh */ 29293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 30293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh#ifndef BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__ 31293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh#define BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__ 32293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 33293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh/* 34293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh * Standard C++ Library wrapper around the C stdlib.h header file. 35293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh */ 36293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh#include <stdlib.h> 37293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 38293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehextern "C++" { 39293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 40293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehnamespace std { 41293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 42293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::exit; 43293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::abort; 44293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::atexit; 45293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh#if 0 /* MISSING FROM BIONIC */ 46293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::on_exit; 47293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh#endif 48293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 49293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::getenv; 50293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::putenv; 51293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::setenv; 52293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::unsetenv; 53293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 54293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::mktemp; 55293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::mkstemp; 56293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 57293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::strtol; 58293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::strtoll; 59293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::strtoul; 60293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::strtoull; 61293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::strtod; 62293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::strtof; 63293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 64293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::atoi; 65293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::atol; 66293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::atoll; 67293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::atof; 68293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 69293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::abs; 70293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::labs; 71293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::llabs; 72293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 73293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::realpath; 74293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::system; 75293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 76293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::bsearch; 77293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::qsort; 78293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 79293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::jrand48; 80293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::mrand48; 81293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::nrand48; 82293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::lrand48; 83293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::seed48; 84293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::srand48; 85293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 86293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::rand; 87293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::srand; 88293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::random; 89293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::srandom; 90293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 91293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::malloc; 92293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::free; 93293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::calloc; 94293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::realloc; 95293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 96293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::unlockpt; 97293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::ptsname; 98293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::ptsname_r; 99293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::getpt; 100293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::grantpt; 101293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 102293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::div_t; 103293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::div; 104293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::ldiv_t; 105293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::ldiv; 106293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::lldiv_t; 107293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::lldiv; 108293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 109293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::mblen; 110293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::mbstowcs; 111293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::mbtowc; 112293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::wctomb; 113293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::wcstombs; 114293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 115293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh#if __ANDROID_API__ >= 9 116293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsiehusing ::clearenv; 117293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh#endif 118293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 119293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh} // namespace std 120293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 121293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh} // extern C++ 122293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh 123293624950fe14bbd43136f46496cbf983ac97fd5Andrew Hsieh#endif // BIONIC_LIBSTDCPP_INCLUDE_CSTDLIB__ 124