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