source: trunk/src/emx/include/stdlib.h@ 749

Last change on this file since 749 was 749, checked in by bird, 22 years ago

synced mkdir() prototype.

  • Property cvs2svn:cvs-rev set to 1.11
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 7.2 KB
Line 
1/* stdlib.h (emx+gcc) */
2
3#ifndef _STDLIB_H
4#define _STDLIB_H
5
6#if defined (__cplusplus)
7extern "C" {
8#endif
9
10#include <sys/_types.h>
11
12#if !defined (_SIZE_T)
13#define _SIZE_T
14typedef unsigned long size_t;
15#endif
16
17#if !defined (_WCHAR_T) && !defined (__cplusplus)
18#define _WCHAR_T
19typedef unsigned short wchar_t;
20#endif
21
22#ifndef _INTPTR_T_DECLARED
23typedef __intptr_t intptr_t;
24typedef __uintptr_t uintptr_t;
25#define _INTPTR_T_DECLARED
26#endif
27
28#if !defined (NULL)
29#if defined (__cplusplus)
30#define NULL 0
31#else
32#define NULL ((void *)0)
33#endif
34#endif
35
36#if !defined (_DIV_T)
37#define _DIV_T
38typedef struct _div_t
39{
40 int quot;
41 int rem;
42} div_t;
43typedef struct _ldiv_t
44{
45 long quot;
46 long rem;
47} ldiv_t;
48#endif
49
50#if !defined (RAND_MAX)
51#define RAND_MAX 0x7fff
52#endif
53
54#if !defined (EXIT_SUCCESS)
55#define EXIT_SUCCESS 0
56#define EXIT_FAILURE 1
57#endif
58
59#if !defined (MB_CUR_MAX)
60extern int _mb_cur_max;
61#define MB_CUR_MAX _mb_cur_max
62#endif
63
64#if !defined (_MAX_PATH)
65#define _MAX_PATH 260
66#define _MAX_DRIVE 3
67#define _MAX_DIR 256
68#define _MAX_FNAME 256
69#define _MAX_EXT 256
70#endif
71
72
73void abort (void) __attribute__ ((__noreturn__));
74int atexit (void (*)(void));
75double atof (__const__ char *);
76int atoi (__const__ char *);
77long atol (__const__ char *);
78void *bsearch (__const__ void *, __const__ void *, size_t, size_t,
79 int (*)(__const__ void *, __const__ void *));
80div_t div (int, int);
81ldiv_t ldiv (long, long);
82void exit (int) __attribute__ ((__noreturn__));
83char *getenv (__const__ char *);
84int mblen (__const__ char *, size_t);
85size_t mbstowcs (wchar_t *, __const__ char *, size_t);
86int mbtowc (wchar_t *, __const__ char *, size_t);
87void qsort (void *, size_t, size_t,
88 int (*)(__const__ void *, __const__ void *));
89int rand (void);
90void srand (unsigned);
91double strtod (__const__ char *, char **);
92long strtol (__const__ char *, char **, int);
93unsigned long strtoul (__const__ char *, char **, int);
94int system (__const__ char *);
95size_t wcstombs (char *, __const__ wchar_t *, size_t);
96int wctomb (char *, wchar_t);
97
98#if !defined (_ABS) /* see also math.h */
99#define _ABS
100#if !defined (__GNUC__) || __GNUC__ >= 2
101extern int abs (int);
102extern long labs (long);
103#else
104extern __inline__ int abs (int _n) { return (_n < 0 ? -_n : _n); }
105extern __inline__ long labs (long _n) { return (_n < 0 ? -_n : _n); }
106#endif
107#endif
108
109#if !defined (__NO_C9X)
110
111float strtof (__const__ char *, char **);
112long double strtold (__const__ char *, char **);
113
114#endif
115
116
117#if !defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE)
118
119#if !defined (OS2_MODE)
120#define DOS_MODE 0
121#define OS2_MODE 1
122#endif
123
124#if !defined (_ERRNO)
125#define _ERRNO
126extern int *_errno (void);
127#define errno (*_errno ())
128#endif
129
130#if !defined (_ULDIV_T)
131#define _ULDIV_T
132typedef struct
133{
134 unsigned long quot;
135 unsigned long rem;
136} _uldiv_t;
137typedef struct
138{
139 long long quot;
140 long long rem;
141} _lldiv_t;
142typedef struct
143{
144 unsigned long long quot;
145 unsigned long long rem;
146} _ulldiv_t;
147#endif
148
149extern char **environ;
150
151extern __const__ char * __const__ sys_errlist[];
152extern __const__ int sys_nerr;
153
154extern __const__ unsigned char _osminor;
155extern __const__ unsigned char _osmajor;
156
157/* No DOS support ... */
158#define _osmode OS2_MODE
159
160unsigned alarm (unsigned);
161int brk(const void *);
162int chdir (__const__ char *);
163char *gcvt (double, int, char *);
164char *getcwd (char *, size_t);
165int getpagesize (void);
166char *getwd (char *);
167int mkdir(const char *, mode_t);
168void perror (__const__ char *);
169int putenv (__const__ char *);
170int rmdir (__const__ char *);
171void *sbrk(intptr_t);
172unsigned sleep (unsigned);
173void swab (__const__ void *, void *, size_t);
174long ulimit (int, ...);
175
176/* BSD - start */
177int heapsort (void *, size_t, size_t,
178 int (*)(__const__ void *, __const__ void *)); /* BSD */
179char *initstate(unsigned long /* XSI requires u_int */, char *, long);
180char *setstate(/* const */ char *);
181long random(void);
182void srandom(unsigned long);
183void srandomdev(void);
184/* BSD - end */
185
186char *itoa (int, char *, int);
187char *ltoa (long, char *, int);
188char *ultoa (unsigned long, char *, int);
189char *lltoa (long long, char *, int);
190char *ulltoa (unsigned long long, char *, int);
191
192int unsetenv(const char *name);
193int setenv(const char *envname, const char *envval, int overwrite);
194
195#endif
196
197
198#if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE)) \
199 || defined (_WITH_UNDERSCORE)
200
201extern char **_environ;
202extern __const__ char * __const__ _sys_errlist[];
203extern __const__ int _sys_nerr;
204
205unsigned _alarm (unsigned);
206int _brk(const void *);
207int _chdir (__const__ char *);
208char *_gcvt (double, int, char *);
209char *_getcwd (char *, size_t);
210int _getpagesize (void);
211char *_getwd (char *);
212int _mkdir (__const__ char *, long);
213int _putenv (__const__ char *);
214int _rmdir (__const__ char *);
215void *_sbrk(intptr_t);
216unsigned _sleep (unsigned);
217void _swab (__const__ void *, void *, size_t);
218long _ulimit (int, ...);
219
220int _abspath (char *, __const__ char *, int);
221long long _atoll (__const__ char *);
222long double _atofl (__const__ char *);
223int _chdir2 (__const__ char *);
224int _chdrive (char);
225int _core (int);
226void _defext (char *, __const__ char *);
227void _envargs (int *, char ***, __const__ char *);
228int _execname (char *, size_t);
229void _exit (int) __attribute__ ((__noreturn__));
230int _filesys (__const__ char *, char *, size_t);
231char **_fnexplode (__const__ char *);
232void _fnexplodefree (char **);
233char _fngetdrive (__const__ char *);
234int _fnisabs (__const__ char *);
235int _fnisrel (__const__ char *);
236void _fnlwr (char *);
237void _fnlwr2 (char *, __const__ char *);
238char *_fnslashify (char *);
239int _fullpath (char *, __const__ char *, int);
240int _getcwd1 (char *, char);
241char *_getcwd2 (char *, int);
242char _getdrive (void);
243char *_getext (__const__ char *);
244char *_getext2 (__const__ char *);
245char *_getname (__const__ char *);
246int _getsockhandle (int);
247int _gettid (void);
248char *_getvol (char);
249char *_itoa (int, char *, int);
250_lldiv_t _lldiv (long long, long long);
251char *_lltoa (long long, char *, int);
252_uldiv_t _uldiv (unsigned long, unsigned long);
253_ulldiv_t _ulldiv (unsigned long long, unsigned long long);
254char *_itoa (int, char *, int);
255char *_ltoa (long, char *, int);
256char *_ultoa (unsigned long, char *, int);
257char *_lltoa (long long, char *, int);
258char *_ulltoa (unsigned long long, char *, int);
259void _makepath (char *, __const__ char *, __const__ char *,
260 __const__ char *, __const__ char *);
261int _path (char *, __const__ char *);
262int _read_kbd (int, int, int);
263void _remext (char *);
264void _rfnlwr (void);
265void _response (int *, char ***);
266void _scrsize (int *);
267void _searchenv (__const__ char *, __const__ char *, char *);
268void _sfnlwr (__const__ char *);
269unsigned _sleep2 (unsigned);
270char ** _splitargs (char *, int *);
271void _splitpath (__const__ char *, char *, char *, char *, char *);
272float _strtof (__const__ char *, char **);
273long double _strtold (__const__ char *, char **);
274long long _strtoll (__const__ char *, char **, int);
275unsigned long long _strtoull (__const__ char *, char **, int);
276char _swchar (void);
277void _wildcard (int *, char ***);
278
279int _beginthread (void (*)(void *), void *, unsigned, void *);
280void _endthread (void);
281void **_threadstore (void);
282
283int _unsetenv(const char *name);
284int _setenv(const char *envname, const char *envval, int overwrite);
285
286#endif
287
288
289#if defined (__cplusplus)
290}
291#endif
292
293#include <malloc.h>
294
295#endif /* not _STDLIB_H */
Note: See TracBrowser for help on using the repository browser.