1 /* $OpenBSD: stdlib.h,v 1.12 2017/09/05 03:16:13 schwarze Exp $ */ 2 /* $NetBSD: stdlib.h,v 1.25 1995/12/27 21:19:08 jtc Exp $ */ 3 4 /*- 5 * Copyright (c) 1990 The Regents of the University of California. 6 * All rights reserved. 7 * 8 * Redistribution and use in source and binary forms, with or without 9 * modification, are permitted provided that the following conditions 10 * are met: 11 * 1. Redistributions of source code must retain the above copyright 12 * notice, this list of conditions and the following disclaimer. 13 * 2. Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in the 15 * documentation and/or other materials provided with the distribution. 16 * 3. Neither the name of the University nor the names of its contributors 17 * may be used to endorse or promote products derived from this software 18 * without specific prior written permission. 19 * 20 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * 32 * @(#)stdlib.h 5.13 (Berkeley) 6/4/91 33 */ 34 35 #ifndef _LIBC_STDLIB_H_ 36 #define _LIBC_STDLIB_H_ 37 38 #include_next <stdlib.h> 39 40 __BEGIN_HIDDEN_DECLS 41 char *__findenv(const char *, int, int *); 42 void __atexit_register_cleanup(void (*)(void)); 43 __END_HIDDEN_DECLS 44 45 extern char **environ; 46 extern char *__progname; 47 48 #if 0 49 /*extern PROTO_NORMAL(suboptarg);*/ 50 #endif 51 52 PROTO_NORMAL(__mb_cur_max); 53 PROTO_STD_DEPRECATED(_Exit); 54 PROTO_DEPRECATED(a64l); 55 PROTO_NORMAL(abort); 56 PROTO_NORMAL(abs); 57 PROTO_NORMAL(arc4random); 58 PROTO_NORMAL(arc4random_buf); 59 PROTO_NORMAL(arc4random_uniform); 60 PROTO_NORMAL(atexit); 61 PROTO_STD_DEPRECATED(atof); 62 PROTO_NORMAL(atoi); 63 PROTO_STD_DEPRECATED(atol); 64 PROTO_STD_DEPRECATED(atoll); 65 PROTO_STD_DEPRECATED(bsearch); 66 /*PROTO_NORMAL(calloc); not yet, breaks emacs */ 67 PROTO_NORMAL(cgetcap); 68 PROTO_NORMAL(cgetclose); 69 PROTO_NORMAL(cgetent); 70 PROTO_NORMAL(cgetfirst); 71 PROTO_NORMAL(cgetmatch); 72 PROTO_NORMAL(cgetnext); 73 PROTO_NORMAL(cgetnum); 74 PROTO_NORMAL(cgetset); 75 PROTO_NORMAL(cgetstr); 76 PROTO_NORMAL(cgetusedb); 77 PROTO_NORMAL(cgetustr); 78 PROTO_DEPRECATED(daemon); 79 PROTO_NORMAL(devname); 80 PROTO_NORMAL(div); 81 PROTO_DEPRECATED(drand48); 82 PROTO_DEPRECATED(ecvt); 83 PROTO_NORMAL(erand48); 84 PROTO_NORMAL(exit); 85 PROTO_DEPRECATED(fcvt); 86 /*PROTO_NORMAL(free); not yet, breaks emacs */ 87 PROTO_NORMAL(freezero); 88 PROTO_DEPRECATED(gcvt); 89 PROTO_DEPRECATED(getbsize); 90 PROTO_NORMAL(getenv); 91 PROTO_DEPRECATED(getloadavg); 92 PROTO_DEPRECATED(getprogname); 93 PROTO_DEPRECATED(getsubopt); 94 PROTO_DEPRECATED(grantpt); 95 PROTO_NORMAL(heapsort); 96 PROTO_DEPRECATED(initstate); 97 PROTO_DEPRECATED(jrand48); 98 PROTO_DEPRECATED(l64a); 99 PROTO_STD_DEPRECATED(labs); 100 PROTO_DEPRECATED(lcong48); 101 PROTO_NORMAL(lcong48_deterministic); 102 PROTO_DEPRECATED(ldiv); 103 PROTO_STD_DEPRECATED(llabs); 104 PROTO_STD_DEPRECATED(lldiv); 105 PROTO_DEPRECATED(lrand48); 106 /*PROTO_NORMAL(malloc); not yet, breaks emacs */ 107 PROTO_STD_DEPRECATED(mblen); 108 PROTO_STD_DEPRECATED(mbstowcs); 109 PROTO_STD_DEPRECATED(mbtowc); 110 PROTO_DEPRECATED(mergesort); 111 PROTO_DEPRECATED(mkdtemp); 112 PROTO_NORMAL(mkostemp); 113 PROTO_DEPRECATED(mkostemps); 114 PROTO_NORMAL(mkstemp); 115 PROTO_DEPRECATED(mkstemps); 116 PROTO_DEPRECATED(mktemp); 117 PROTO_DEPRECATED(mrand48); 118 PROTO_DEPRECATED(nrand48); 119 /*PROTO_NORMAL(posix_memalign); not yet, breaks emacs */ 120 PROTO_DEPRECATED(posix_openpt); 121 PROTO_DEPRECATED(ptsname); 122 PROTO_NORMAL(putenv); 123 /*PROTO_DEPRECATED(qabs); alias of llabs */ 124 /*PROTO_DEPRECATED(qdiv); alias of lldiv */ 125 PROTO_NORMAL(qsort); 126 PROTO_DEPRECATED(radixsort); 127 PROTO_STD_DEPRECATED(rand); 128 PROTO_NORMAL(rand_r); 129 PROTO_DEPRECATED(random); 130 /*PROTO_NORMAL(realloc); not yet, breaks emacs */ 131 PROTO_NORMAL(reallocarray); 132 PROTO_NORMAL(recallocarray); 133 PROTO_DEPRECATED(realpath); 134 PROTO_DEPRECATED(seed48); 135 PROTO_NORMAL(seed48_deterministic); 136 PROTO_NORMAL(setenv); 137 PROTO_DEPRECATED(setproctitle); 138 PROTO_DEPRECATED(setprogname); 139 PROTO_DEPRECATED(setstate); 140 PROTO_DEPRECATED(sradixsort); 141 PROTO_DEPRECATED(srand); 142 PROTO_DEPRECATED(srand_deterministic); 143 PROTO_DEPRECATED(srand48); 144 PROTO_NORMAL(srand48_deterministic); 145 PROTO_DEPRECATED(srandom); 146 PROTO_DEPRECATED(srandom_deterministic); 147 PROTO_DEPRECATED(srandomdev); 148 PROTO_NORMAL(strtod); 149 PROTO_NORMAL(strtof); 150 PROTO_NORMAL(strtol); 151 PROTO_NORMAL(strtold); 152 PROTO_NORMAL(strtoll); 153 PROTO_NORMAL(strtonum); 154 /*PROTO_NORMAL(strtoq); alias of strtoll */ 155 PROTO_NORMAL(strtoul); 156 PROTO_NORMAL(strtoull); 157 /*PROTO_NORMAL(strtouq); alias of strtoull */ 158 PROTO_NORMAL(system); 159 PROTO_DEPRECATED(ttyslot); 160 PROTO_DEPRECATED(unlockpt); 161 PROTO_NORMAL(unsetenv); 162 PROTO_STD_DEPRECATED(valloc); 163 PROTO_STD_DEPRECATED(wcstombs); 164 PROTO_STD_DEPRECATED(wctomb); 165 166 #endif /* _LIBC_STDLIB_H_ */ 167