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

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

unsetenv and setenv.

  • Property cvs2svn:cvs-rev set to 1.9
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 7.3 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 *, long);
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
176int heapsort (void *, size_t, size_t,
177 int (*)(__const__ void *, __const__ void *)); /* BSD */
178char *initstate (unsigned, char *, int); /* BSD */
179long random (void); /* BSD */
180char *setstate (char *); /* BSD */
181void srandom (unsigned); /* BSD */
182
183char *itoa (int, char *, int);
184char *ltoa (long, char *, int);
185char *ultoa (unsigned long, char *, int);
186char *lltoa (long long, char *, int);
187char *ulltoa (unsigned long long, char *, int);
188
189int unsetenv(const char *name);
190int setenv(const char *envname, const char *envval, int overwrite);
191
192#endif
193
194
195#if (!defined (__STRICT_ANSI__) && !defined (_POSIX_SOURCE)) \
196 || defined (_WITH_UNDERSCORE)
197
198extern char **_environ;
199extern __const__ char * __const__ _sys_errlist[];
200extern __const__ int _sys_nerr;
201
202unsigned _alarm (unsigned);
203int _brk(const void *);
204int _chdir (__const__ char *);
205char *_gcvt (double, int, char *);
206char *_getcwd (char *, size_t);
207int _getpagesize (void);
208char *_getwd (char *);
209int _mkdir (__const__ char *, long);
210int _putenv (__const__ char *);
211int _rmdir (__const__ char *);
212void *_sbrk(intptr_t);
213unsigned _sleep (unsigned);
214void _swab (__const__ void *, void *, size_t);
215long _ulimit (int, ...);
216
217int _abspath (char *, __const__ char *, int);
218long long _atoll (__const__ char *);
219long double _atofl (__const__ char *);
220int _chdir2 (__const__ char *);
221int _chdrive (char);
222int _core (int);
223void _defext (char *, __const__ char *);
224void _envargs (int *, char ***, __const__ char *);
225int _execname (char *, size_t);
226void _exit (int) __attribute__ ((__noreturn__));
227int _filesys (__const__ char *, char *, size_t);
228char **_fnexplode (__const__ char *);
229void _fnexplodefree (char **);
230char _fngetdrive (__const__ char *);
231int _fnisabs (__const__ char *);
232int _fnisrel (__const__ char *);
233void _fnlwr (char *);
234void _fnlwr2 (char *, __const__ char *);
235char *_fnslashify (char *);
236int _fullpath (char *, __const__ char *, int);
237int _getcwd1 (char *, char);
238char *_getcwd2 (char *, int);
239char _getdrive (void);
240char *_getext (__const__ char *);
241char *_getext2 (__const__ char *);
242char *_getname (__const__ char *);
243int _getsockhandle (int);
244int _gettid (void);
245char *_getvol (char);
246char *_itoa (int, char *, int);
247_lldiv_t _lldiv (long long, long long);
248char *_lltoa (long long, char *, int);
249_uldiv_t _uldiv (unsigned long, unsigned long);
250_ulldiv_t _ulldiv (unsigned long long, unsigned long long);
251char *_itoa (int, char *, int);
252char *_ltoa (long, char *, int);
253char *_ultoa (unsigned long, char *, int);
254char *_lltoa (long long, char *, int);
255char *_ulltoa (unsigned long long, char *, int);
256void _makepath (char *, __const__ char *, __const__ char *,
257 __const__ char *, __const__ char *);
258int _path (char *, __const__ char *);
259int _read_kbd (int, int, int);
260void _remext (char *);
261void _rfnlwr (void);
262void _response (int *, char ***);
263void _scrsize (int *);
264void _searchenv (__const__ char *, __const__ char *, char *);
265void _sfnlwr (__const__ char *);
266unsigned _sleep2 (unsigned);
267char ** _splitargs (char *, int *);
268void _splitpath (__const__ char *, char *, char *, char *, char *);
269float _strtof (__const__ char *, char **);
270long double _strtold (__const__ char *, char **);
271long long _strtoll (__const__ char *, char **, int);
272unsigned long long _strtoull (__const__ char *, char **, int);
273char _swchar (void);
274void _wildcard (int *, char ***);
275
276int _beginthread (void (*)(void *), void *, unsigned, void *);
277void _endthread (void);
278void **_threadstore (void);
279
280int _unsetenv(const char *name);
281int _setenv(const char *envname, const char *envval, int overwrite);
282
283#endif
284
285
286#if defined (__cplusplus)
287}
288#endif
289
290#include <malloc.h>
291
292#endif /* not _STDLIB_H */
Note: See TracBrowser for help on using the repository browser.