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

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

sys_errlist and sys_nerr shall not be in stdlib.h but stdio.h or errno.h!

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