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

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

See ChangeLog.

  • Property cvs2svn:cvs-rev set to 1.7
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 6.9 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__ unsigned char _osminor;
152extern __const__ unsigned char _osmajor;
153
154/* No DOS support ... */
155#define _osmode OS2_MODE
156
157unsigned alarm (unsigned);
158int brk(const void *);
159int chdir (__const__ char *);
160char *gcvt (double, int, char *);
161char *getcwd (char *, size_t);
162int getpagesize (void);
163char *getwd (char *);
164int mkdir (__const__ char *, long);
165void perror (__const__ char *);
166int putenv (__const__ char *);
167int rmdir (__const__ char *);
168void *sbrk(intptr_t);
169unsigned sleep (unsigned);
170void swab (__const__ void *, void *, size_t);
171long ulimit (int, ...);
172
173int heapsort (void *, size_t, size_t,
174 int (*)(__const__ void *, __const__ void *)); /* BSD */
175char *initstate (unsigned, char *, int); /* BSD */
176long random (void); /* BSD */
177char *setstate (char *); /* BSD */
178void srandom (unsigned); /* BSD */
179
180char *itoa (int, char *, int);
181char *ltoa (long, char *, int);
182char *ultoa (unsigned long, char *, int);
183char *lltoa (long long, char *, int);
184char *ulltoa (unsigned long long, char *, int);
185
186#endif
187
188
189#if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE)) \
190 || defined (_WITH_UNDERSCORE)
191
192extern char **_environ;
193
194unsigned _alarm (unsigned);
195int _brk(const void *);
196int _chdir (__const__ char *);
197char *_gcvt (double, int, char *);
198char *_getcwd (char *, size_t);
199int _getpagesize (void);
200char *_getwd (char *);
201int _mkdir (__const__ char *, long);
202int _putenv (__const__ char *);
203int _rmdir (__const__ char *);
204void *_sbrk(intptr_t);
205unsigned _sleep (unsigned);
206void _swab (__const__ void *, void *, size_t);
207long _ulimit (int, ...);
208
209int _abspath (char *, __const__ char *, int);
210long long _atoll (__const__ char *);
211long double _atofl (__const__ char *);
212int _chdir2 (__const__ char *);
213int _chdrive (char);
214int _core (int);
215void _defext (char *, __const__ char *);
216void _envargs (int *, char ***, __const__ char *);
217int _execname (char *, size_t);
218void _exit (int) __attribute__ ((__noreturn__));
219int _filesys (__const__ char *, char *, size_t);
220char **_fnexplode (__const__ char *);
221void _fnexplodefree (char **);
222char _fngetdrive (__const__ char *);
223int _fnisabs (__const__ char *);
224int _fnisrel (__const__ char *);
225void _fnlwr (char *);
226void _fnlwr2 (char *, __const__ char *);
227char *_fnslashify (char *);
228int _fullpath (char *, __const__ char *, int);
229int _getcwd1 (char *, char);
230char *_getcwd2 (char *, int);
231char _getdrive (void);
232char *_getext (__const__ char *);
233char *_getext2 (__const__ char *);
234char *_getname (__const__ char *);
235int _getsockhandle (int);
236int _gettid (void);
237char *_getvol (char);
238char *_itoa (int, char *, int);
239_lldiv_t _lldiv (long long, long long);
240char *_lltoa (long long, char *, int);
241_uldiv_t _uldiv (unsigned long, unsigned long);
242_ulldiv_t _ulldiv (unsigned long long, unsigned long long);
243char *_itoa (int, char *, int);
244char *_ltoa (long, char *, int);
245char *_ultoa (unsigned long, char *, int);
246char *_lltoa (long long, char *, int);
247char *_ulltoa (unsigned long long, char *, int);
248void _makepath (char *, __const__ char *, __const__ char *,
249 __const__ char *, __const__ char *);
250int _path (char *, __const__ char *);
251int _read_kbd (int, int, int);
252void _remext (char *);
253void _rfnlwr (void);
254void _response (int *, char ***);
255void _scrsize (int *);
256void _searchenv (__const__ char *, __const__ char *, char *);
257void _sfnlwr (__const__ char *);
258unsigned _sleep2 (unsigned);
259char ** _splitargs (char *, int *);
260void _splitpath (__const__ char *, char *, char *, char *, char *);
261float _strtof (__const__ char *, char **);
262long double _strtold (__const__ char *, char **);
263long long _strtoll (__const__ char *, char **, int);
264unsigned long long _strtoull (__const__ char *, char **, int);
265char _swchar (void);
266void _wildcard (int *, char ***);
267
268int _beginthread (void (*)(void *), void *, unsigned, void *);
269void _endthread (void);
270void **_threadstore (void);
271
272#endif
273
274
275#if defined (__cplusplus)
276}
277#endif
278
279#include <malloc.h>
280
281#endif /* not _STDLIB_H */
Note: See TracBrowser for help on using the repository browser.