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

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

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 7.0 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
118#if defined (__MT__) || defined (__ST_MT_ERRNO__)
119extern int *_errno (void);
120#define errno (*_errno ())
121#else
122extern int errno;
123#endif
124#endif
125
126#if !defined (_ULDIV_T)
127#define _ULDIV_T
128typedef struct
129{
130 unsigned long quot;
131 unsigned long rem;
132} _uldiv_t;
133typedef struct
134{
135 long long quot;
136 long long rem;
137} _lldiv_t;
138typedef struct
139{
140 unsigned long long quot;
141 unsigned long long rem;
142} _ulldiv_t;
143#endif
144
145extern char **environ;
146
147extern __const__ char * __const__ sys_errlist[];
148extern __const__ int sys_nerr;
149
150extern __const__ unsigned int _emx_vcmp;
151extern __const__ unsigned int _emx_env;
152extern __const__ unsigned int _emx_rev;
153extern __const__ unsigned char _osminor;
154extern __const__ unsigned char _osmajor;
155extern __const__ unsigned char _osmode;
156extern __const__ char _emx_vprt[5];
157
158
159unsigned alarm (unsigned);
160void *brk (void *);
161int chdir (__const__ char *);
162char *gcvt (double, int, char *);
163char *getcwd (char *, size_t);
164int getpagesize (void);
165char *getwd (char *);
166int mkdir (__const__ char *, long);
167void perror (__const__ char *);
168int putenv (__const__ char *);
169int rmdir (__const__ char *);
170void *sbrk (int);
171unsigned sleep (unsigned);
172void swab (__const__ void *, void *, size_t);
173long ulimit (int, ...);
174
175int heapsort (void *, size_t, size_t,
176 int (*)(__const__ void *, __const__ void *)); /* BSD */
177char *initstate (unsigned, char *, int); /* BSD */
178long random (void); /* BSD */
179char *setstate (char *); /* BSD */
180void srandom (unsigned); /* BSD */
181
182#endif
183
184
185#if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE)) \
186 || defined (_WITH_UNDERSCORE)
187
188extern char **_environ;
189extern __const__ char * __const__ _sys_errlist[];
190extern __const__ int _sys_nerr;
191
192unsigned _alarm (unsigned);
193void *_brk (void *);
194int _chdir (__const__ char *);
195char *_gcvt (double, int, char *);
196char *_getcwd (char *, size_t);
197int _getpagesize (void);
198char *_getwd (char *);
199int _mkdir (__const__ char *, long);
200int _putenv (__const__ char *);
201int _rmdir (__const__ char *);
202void *_sbrk (int);
203unsigned _sleep (unsigned);
204void _swab (__const__ void *, void *, size_t);
205long _ulimit (int, ...);
206
207int _abspath (char *, __const__ char *, int);
208long long _atoll (__const__ char *);
209long double _atofl (__const__ char *);
210int _chdir2 (__const__ char *);
211int _chdrive (char);
212int _core (int);
213void _defext (char *, __const__ char *);
214void _envargs (int *, char ***, __const__ char *);
215int _execname (char *, size_t);
216void _exit (int) __attribute__ ((__noreturn__));
217int _filesys (__const__ char *, char *, size_t);
218int _fncmp (__const__ unsigned char *, __const__ unsigned char *);
219char **_fnexplode (__const__ char *);
220void _fnexplodefree (char **);
221char _fngetdrive (__const__ char *);
222int _fnisabs (__const__ char *);
223int _fnisrel (__const__ char *);
224void _fnlwr (char *);
225void _fnlwr2 (char *, __const__ char *);
226char *_fnslashify (char *);
227int _fullpath (char *, __const__ char *, int);
228int _getcwd1 (char *, char);
229char *_getcwd2 (char *, int);
230char _getdrive (void);
231char *_getext (__const__ char *);
232char *_getext2 (__const__ char *);
233char *_getname (__const__ char *);
234int _getsockhandle (int);
235int _gettid (void);
236char *_getvol (char);
237char *_itoa (int, char *, int);
238_lldiv_t _lldiv (long long, long long);
239char *_lltoa (long long, char *, int);
240char *_ltoa (long, char *, int);
241void _makepath (char *, __const__ char *, __const__ char *,
242 __const__ char *, __const__ char *);
243int _path (char *, __const__ char *);
244int _read_kbd (int, int, int);
245void _remext (char *);
246void _rfnlwr (void);
247void _response (int *, char ***);
248void _scrsize (int *);
249void _searchenv (__const__ char *, __const__ char *, char *);
250int _setsyserrno (int);
251void _sfnlwr (__const__ char *);
252unsigned _sleep2 (unsigned);
253char ** _splitargs (char *, int *);
254void _splitpath (__const__ char *, char *, char *, char *, char *);
255float _strtof (__const__ char *, char **);
256long double _strtold (__const__ char *, char **);
257long long _strtoll (__const__ char *, char **, int);
258unsigned long long _strtoull (__const__ char *, char **, int);
259char _swchar (void);
260int _syserrno (void);
261_uldiv_t _uldiv (unsigned long, unsigned long);
262_ulldiv_t _ulldiv (unsigned long long, unsigned long long);
263char *_ulltoa (unsigned long long, char *, int);
264char *_ultoa (unsigned long, char *, int);
265void _wildcard (int *, char ***);
266
267#if defined (__MT__)
268int _beginthread (void (*)(void *), void *, unsigned, void *);
269void _endthread (void);
270void **_threadstore (void);
271#endif
272
273#endif
274
275
276#if defined (__cplusplus)
277}
278#endif
279
280#include <malloc.h>
281
282#endif /* not _STDLIB_H */
Note: See TracBrowser for help on using the repository browser.