add whiteouts
[unix-history] / usr / src / include / stdlib.h
CommitLineData
1cc1b02a 1/*-
56559b70
KB
2 * Copyright (c) 1990, 1993
3 * The Regents of the University of California. All rights reserved.
1cc1b02a
KB
4 *
5 * %sccs.include.redist.c%
6 *
af1eaad7 7 * @(#)stdlib.h 8.3 (Berkeley) %G%
1cc1b02a
KB
8 */
9
10#ifndef _STDLIB_H_
11#define _STDLIB_H_
2a2d7d9d 12
a2798976 13#include <machine/ansi.h>
1cc1b02a 14
3d2899e6
KB
15#ifdef _BSD_SIZE_T_
16typedef _BSD_SIZE_T_ size_t;
17#undef _BSD_SIZE_T_
5c02aa20
KB
18#endif
19
3d2899e6 20#ifdef _BSD_WCHAR_T_
2d5cbf27 21#ifndef _ANSI_SOURCE
2a2d7d9d 22typedef _BSD_WCHAR_T_ rune_t;
2d5cbf27 23#endif
3d2899e6
KB
24typedef _BSD_WCHAR_T_ wchar_t;
25#undef _BSD_WCHAR_T_
1cc1b02a
KB
26#endif
27
28typedef struct {
29 int quot; /* quotient */
30 int rem; /* remainder */
31} div_t;
5c02aa20 32
1cc1b02a
KB
33typedef struct {
34 long quot; /* quotient */
35 long rem; /* remainder */
36} ldiv_t;
37
e54f12d8
CT
38#ifndef NULL
39#define NULL 0
40#endif
41
1cc1b02a
KB
42#define EXIT_FAILURE 1
43#define EXIT_SUCCESS 0
44
f5e55301 45#define RAND_MAX 0x7fffffff
1cc1b02a 46
2a2d7d9d
EA
47extern int __mb_cur_max;
48#define MB_CUR_MAX __mb_cur_max
1cc1b02a 49
9992a62a
KB
50#include <sys/cdefs.h>
51
52__BEGIN_DECLS
10fb5e70
CT
53__dead void
54 abort __P((void));
55__pure int
56 abs __P((int));
11e892b9 57int atexit __P((void (*)(void)));
993000f1
DS
58double atof __P((const char *));
59int atoi __P((const char *));
60long atol __P((const char *));
61void *bsearch __P((const void *, const void *, size_t,
62 size_t, int (*)(const void *, const void *)));
63void *calloc __P((size_t, size_t));
10fb5e70
CT
64__pure div_t
65 div __P((int, int));
66__dead void
67 exit __P((int));
993000f1
DS
68void free __P((void *));
69char *getenv __P((const char *));
10fb5e70
CT
70__pure long
71 labs __P((long));
72__pure ldiv_t
73 ldiv __P((long, long));
993000f1
DS
74void *malloc __P((size_t));
75void qsort __P((void *, size_t, size_t,
76 int (*)(const void *, const void *)));
9992a62a 77int rand __P((void));
993000f1
DS
78void *realloc __P((void *, size_t));
79void srand __P((unsigned));
80double strtod __P((const char *, char **));
81long strtol __P((const char *, char **, int));
fac5dcaf 82unsigned long
993000f1
DS
83 strtoul __P((const char *, char **, int));
84int system __P((const char *));
1cc1b02a 85
5c02aa20 86/* These are currently just stubs. */
993000f1
DS
87int mblen __P((const char *, size_t));
88size_t mbstowcs __P((wchar_t *, const char *, size_t));
89int wctomb __P((char *, wchar_t));
90int mbtowc __P((wchar_t *, const char *, size_t));
91size_t wcstombs __P((char *, const wchar_t *, size_t));
b0aa9dc4 92
6670c0eb 93#ifndef _ANSI_SOURCE
993000f1
DS
94int putenv __P((const char *));
95int setenv __P((const char *, const char *, int));
5c02aa20 96#endif
993000f1
DS
97
98#if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE)
601cf9c7 99void *alloca __P((size_t)); /* built-in for gcc */
40b21215 100 /* getcap(3) functions */
f0bbc0c5 101char *getbsize __P((int *, long *));
40b21215
KB
102char *cgetcap __P((char *, char *, int));
103int cgetclose __P((void));
104int cgetent __P((char **, char **, char *));
105int cgetfirst __P((char **, char **));
106int cgetmatch __P((char *, char *));
107int cgetnext __P((char **, char **));
108int cgetnum __P((char *, char *, long *));
109int cgetset __P((char *));
110int cgetstr __P((char *, char *, char **));
111int cgetustr __P((char *, char *, char **));
112
601cf9c7 113int daemon __P((int, int));
f0bbc0c5 114char *devname __P((int, int));
fcd543c2 115int getloadavg __P((double [], int));
601cf9c7 116
5c02aa20 117extern char *optarg; /* getopt(3) external variables */
91ff65ad 118extern int opterr, optind, optopt;
83265d28 119int getopt __P((int, char * const *, const char *));
5c02aa20
KB
120
121extern char *suboptarg; /* getsubopt(3) external variable */
f7c699ab 122int getsubopt __P((char **, char * const *, char **));
5c02aa20 123
601cf9c7 124char *group_from_gid __P((unsigned long, int));
d052fbea
KB
125int heapsort __P((void *, size_t, size_t,
126 int (*)(const void *, const void *)));
993000f1 127char *initstate __P((unsigned, char *, int));
7acbff43
KB
128int mergesort __P((void *, size_t, size_t,
129 int (*)(const void *, const void *)));
a2798976
KB
130int radixsort __P((const unsigned char **, int, const unsigned char *,
131 unsigned));
132int sradixsort __P((const unsigned char **, int, const unsigned char *,
133 unsigned));
993000f1 134long random __P((void));
af1eaad7 135char *realpath __P((const char *, char resolved_path[]));
993000f1
DS
136char *setstate __P((char *));
137void srandom __P((unsigned));
601cf9c7 138char *user_from_uid __P((unsigned long, int));
a2798976 139#ifndef __STRICT_ANSI__
f378c57b
KB
140long long
141 strtoq __P((const char *, char **, int));
142unsigned long long
143 strtouq __P((const char *, char **, int));
a2798976 144#endif
993000f1 145void unsetenv __P((const char *));
5c02aa20 146#endif
9992a62a 147__END_DECLS
fac5dcaf 148
1cc1b02a 149#endif /* _STDLIB_H_ */