1 /* $OpenBSD: stdlib.h,v 1.16 2019/05/10 15:03:24 otto 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(aligned_alloc) not yet, breaks emacs */ 58 PROTO_NORMAL(arc4random); 59 PROTO_NORMAL(arc4random_buf); 60 PROTO_NORMAL(arc4random_uniform); 61 PROTO_NORMAL(atexit); 62 PROTO_STD_DEPRECATED(atof); 63 PROTO_NORMAL(atoi); 64 PROTO_STD_DEPRECATED(atol); 65 PROTO_STD_DEPRECATED(atoll); 66 PROTO_STD_DEPRECATED(bsearch); 67 /*PROTO_NORMAL(calloc); not yet, breaks emacs */ 68 PROTO_NORMAL(calloc_conceal); 69 PROTO_NORMAL(cgetcap); 70 PROTO_NORMAL(cgetclose); 71 PROTO_NORMAL(cgetent); 72 PROTO_NORMAL(cgetfirst); 73 PROTO_NORMAL(cgetmatch); 74 PROTO_NORMAL(cgetnext); 75 PROTO_NORMAL(cgetnum); 76 PROTO_NORMAL(cgetset); 77 PROTO_NORMAL(cgetstr); 78 PROTO_NORMAL(cgetusedb); 79 PROTO_NORMAL(cgetustr); 80 PROTO_DEPRECATED(daemon); 81 PROTO_NORMAL(devname); 82 PROTO_NORMAL(div); 83 PROTO_DEPRECATED(drand48); 84 PROTO_DEPRECATED(ecvt); 85 PROTO_NORMAL(erand48); 86 PROTO_NORMAL(exit); 87 PROTO_DEPRECATED(fcvt); 88 /*PROTO_NORMAL(free); not yet, breaks emacs */ 89 PROTO_NORMAL(freezero); 90 PROTO_DEPRECATED(gcvt); 91 PROTO_DEPRECATED(getbsize); 92 PROTO_NORMAL(getenv); 93 PROTO_DEPRECATED(getloadavg); 94 PROTO_DEPRECATED(getprogname); 95 PROTO_DEPRECATED(getsubopt); 96 PROTO_DEPRECATED(grantpt); 97 PROTO_NORMAL(heapsort); 98 PROTO_DEPRECATED(initstate); 99 PROTO_DEPRECATED(jrand48); 100 PROTO_DEPRECATED(l64a); 101 PROTO_STD_DEPRECATED(labs); 102 PROTO_DEPRECATED(lcong48); 103 PROTO_NORMAL(lcong48_deterministic); 104 PROTO_DEPRECATED(ldiv); 105 PROTO_STD_DEPRECATED(llabs); 106 PROTO_STD_DEPRECATED(lldiv); 107 PROTO_DEPRECATED(lrand48); 108 /*PROTO_NORMAL(malloc); not yet, breaks emacs */ 109 PROTO_NORMAL(malloc_conceal); 110 PROTO_STD_DEPRECATED(mblen); 111 PROTO_STD_DEPRECATED(mbstowcs); 112 PROTO_STD_DEPRECATED(mbtowc); 113 PROTO_DEPRECATED(mergesort); 114 PROTO_DEPRECATED(mkdtemp); 115 PROTO_NORMAL(mkostemp); 116 PROTO_DEPRECATED(mkostemps); 117 PROTO_NORMAL(mkstemp); 118 PROTO_DEPRECATED(mkstemps); 119 PROTO_DEPRECATED(mktemp); 120 PROTO_DEPRECATED(mrand48); 121 PROTO_DEPRECATED(nrand48); 122 /*PROTO_NORMAL(posix_memalign); not yet, breaks emacs */ 123 PROTO_DEPRECATED(posix_openpt); 124 PROTO_DEPRECATED(ptsname); 125 PROTO_NORMAL(putenv); 126 /*PROTO_DEPRECATED(qabs); alias of llabs */ 127 /*PROTO_DEPRECATED(qdiv); alias of lldiv */ 128 PROTO_NORMAL(qsort); 129 PROTO_DEPRECATED(radixsort); 130 PROTO_STD_DEPRECATED(rand); 131 PROTO_NORMAL(rand_r); 132 PROTO_DEPRECATED(random); 133 /*PROTO_NORMAL(realloc); not yet, breaks emacs */ 134 PROTO_NORMAL(reallocarray); 135 PROTO_NORMAL(recallocarray); 136 PROTO_DEPRECATED(realpath); 137 PROTO_DEPRECATED(seed48); 138 PROTO_NORMAL(seed48_deterministic); 139 PROTO_NORMAL(setenv); 140 PROTO_DEPRECATED(setproctitle); 141 PROTO_DEPRECATED(setprogname); 142 PROTO_DEPRECATED(setstate); 143 PROTO_DEPRECATED(sradixsort); 144 PROTO_DEPRECATED(srand); 145 PROTO_DEPRECATED(srand_deterministic); 146 PROTO_DEPRECATED(srand48); 147 PROTO_NORMAL(srand48_deterministic); 148 PROTO_DEPRECATED(srandom); 149 PROTO_DEPRECATED(srandom_deterministic); 150 PROTO_DEPRECATED(srandomdev); 151 PROTO_NORMAL(strtod); 152 PROTO_NORMAL(strtof); 153 PROTO_NORMAL(strtol); 154 PROTO_NORMAL(strtold); 155 PROTO_NORMAL(strtoll); 156 PROTO_NORMAL(strtonum); 157 /*PROTO_NORMAL(strtoq); alias of strtoll */ 158 PROTO_NORMAL(strtoul); 159 PROTO_NORMAL(strtoull); 160 /*PROTO_NORMAL(strtouq); alias of strtoull */ 161 PROTO_NORMAL(system); 162 PROTO_DEPRECATED(ttyslot); 163 PROTO_DEPRECATED(unlockpt); 164 PROTO_NORMAL(unsetenv); 165 PROTO_STD_DEPRECATED(valloc); 166 PROTO_STD_DEPRECATED(wcstombs); 167 PROTO_STD_DEPRECATED(wctomb); 168 169 #endif /* _LIBC_STDLIB_H_ */ 170