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