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