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

Last change on this file since 346 was 236, checked in by zap, 22 years ago

See ChangeLog.

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