Rev 4872 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4349 | Serge | 1 | /* |
2 | * stdlib.h |
||
3 | * |
||
4 | * Definitions for common types, variables, and functions. |
||
5 | */ |
||
6 | |||
7 | #ifndef _STDLIB_H_ |
||
8 | #define _STDLIB_H_ |
||
9 | |||
10 | #include |
||
11 | #include "_ansi.h" |
||
12 | |||
13 | #define __need_size_t |
||
14 | #define __need_wchar_t |
||
15 | #include |
||
16 | |||
17 | #include |
||
18 | #include |
||
19 | #ifndef __STRICT_ANSI__ |
||
20 | #include |
||
21 | #endif |
||
22 | |||
23 | #ifdef __CYGWIN__ |
||
24 | #include |
||
25 | #endif |
||
26 | |||
27 | _BEGIN_STD_C |
||
28 | |||
29 | typedef struct |
||
30 | { |
||
31 | int quot; /* quotient */ |
||
32 | int rem; /* remainder */ |
||
33 | } div_t; |
||
34 | |||
35 | typedef struct |
||
36 | { |
||
37 | long quot; /* quotient */ |
||
38 | long rem; /* remainder */ |
||
39 | } ldiv_t; |
||
40 | |||
41 | #ifndef __STRICT_ANSI__ |
||
42 | typedef struct |
||
43 | { |
||
44 | long long int quot; /* quotient */ |
||
45 | long long int rem; /* remainder */ |
||
46 | } lldiv_t; |
||
47 | #endif |
||
48 | |||
49 | #ifndef NULL |
||
50 | #define NULL 0 |
||
51 | #endif |
||
52 | |||
53 | #define EXIT_FAILURE 1 |
||
54 | #define EXIT_SUCCESS 0 |
||
55 | |||
56 | #define RAND_MAX __RAND_MAX |
||
57 | |||
58 | int _EXFUN(__locale_mb_cur_max,(_VOID)); |
||
59 | |||
60 | #define MB_CUR_MAX __locale_mb_cur_max() |
||
61 | |||
62 | _VOID _EXFUN(abort,(_VOID) _ATTRIBUTE ((noreturn))); |
||
63 | int _EXFUN(abs,(int)); |
||
64 | int _EXFUN(atexit,(_VOID (*__func)(_VOID))); |
||
65 | double _EXFUN(atof,(const char *__nptr)); |
||
66 | #ifndef __STRICT_ANSI__ |
||
67 | float _EXFUN(atoff,(const char *__nptr)); |
||
68 | #endif |
||
69 | int _EXFUN(atoi,(const char *__nptr)); |
||
70 | int _EXFUN(_atoi_r,(struct _reent *, const char *__nptr)); |
||
71 | long _EXFUN(atol,(const char *__nptr)); |
||
72 | long _EXFUN(_atol_r,(struct _reent *, const char *__nptr)); |
||
73 | _PTR _EXFUN(bsearch,(const _PTR __key, |
||
74 | const _PTR __base, |
||
75 | size_t __nmemb, |
||
76 | size_t __size, |
||
77 | int _EXFNPTR(_compar,(const _PTR, const _PTR)))); |
||
78 | _PTR _EXFUN_NOTHROW(calloc,(size_t __nmemb, size_t __size)); |
||
79 | div_t _EXFUN(div,(int __numer, int __denom)); |
||
80 | _VOID _EXFUN(exit,(int __status) _ATTRIBUTE ((noreturn))); |
||
81 | _VOID _EXFUN_NOTHROW(free,(_PTR)); |
||
82 | char * _EXFUN(getenv,(const char *__string)); |
||
83 | char * _EXFUN(_getenv_r,(struct _reent *, const char *__string)); |
||
84 | char * _EXFUN(_findenv,(_CONST char *, int *)); |
||
85 | char * _EXFUN(_findenv_r,(struct _reent *, _CONST char *, int *)); |
||
86 | #ifndef __STRICT_ANSI__ |
||
87 | extern char *suboptarg; /* getsubopt(3) external variable */ |
||
88 | int _EXFUN(getsubopt,(char **, char * const *, char **)); |
||
89 | #endif |
||
90 | long _EXFUN(labs,(long)); |
||
91 | ldiv_t _EXFUN(ldiv,(long __numer, long __denom)); |
||
92 | _PTR _EXFUN_NOTHROW(malloc,(size_t __size)); |
||
93 | int _EXFUN(mblen,(const char *, size_t)); |
||
94 | int _EXFUN(_mblen_r,(struct _reent *, const char *, size_t, _mbstate_t *)); |
||
95 | int _EXFUN(mbtowc,(wchar_t *, const char *, size_t)); |
||
96 | int _EXFUN(_mbtowc_r,(struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *)); |
||
97 | int _EXFUN(wctomb,(char *, wchar_t)); |
||
98 | int _EXFUN(_wctomb_r,(struct _reent *, char *, wchar_t, _mbstate_t *)); |
||
99 | size_t _EXFUN(mbstowcs,(wchar_t *, const char *, size_t)); |
||
100 | size_t _EXFUN(_mbstowcs_r,(struct _reent *, wchar_t *, const char *, size_t, _mbstate_t *)); |
||
101 | size_t _EXFUN(wcstombs,(char *, const wchar_t *, size_t)); |
||
102 | size_t _EXFUN(_wcstombs_r,(struct _reent *, char *, const wchar_t *, size_t, _mbstate_t *)); |
||
103 | #ifndef __STRICT_ANSI__ |
||
104 | #ifndef _REENT_ONLY |
||
105 | char * _EXFUN(mkdtemp,(char *)); |
||
106 | int _EXFUN(mkostemp,(char *, int)); |
||
107 | int _EXFUN(mkostemps,(char *, int, int)); |
||
108 | int _EXFUN(mkstemp,(char *)); |
||
109 | int _EXFUN(mkstemps,(char *, int)); |
||
110 | char * _EXFUN(mktemp,(char *) _ATTRIBUTE ((__warning__ ("the use of `mktemp' is dangerous; use `mkstemp' instead")))); |
||
111 | #endif |
||
112 | char * _EXFUN(_mkdtemp_r, (struct _reent *, char *)); |
||
113 | int _EXFUN(_mkostemp_r, (struct _reent *, char *, int)); |
||
114 | int _EXFUN(_mkostemps_r, (struct _reent *, char *, int, int)); |
||
115 | int _EXFUN(_mkstemp_r, (struct _reent *, char *)); |
||
116 | int _EXFUN(_mkstemps_r, (struct _reent *, char *, int)); |
||
117 | char * _EXFUN(_mktemp_r, (struct _reent *, char *) _ATTRIBUTE ((__warning__ ("the use of `mktemp' is dangerous; use `mkstemp' instead")))); |
||
118 | #endif |
||
119 | _VOID _EXFUN(qsort,(_PTR __base, size_t __nmemb, size_t __size, int(*_compar)(const _PTR, const _PTR))); |
||
120 | int _EXFUN(rand,(_VOID)); |
||
121 | _PTR _EXFUN_NOTHROW(realloc,(_PTR __r, size_t __size)); |
||
122 | #ifndef __STRICT_ANSI__ |
||
123 | _PTR _EXFUN(reallocf,(_PTR __r, size_t __size)); |
||
124 | #endif |
||
125 | _VOID _EXFUN(srand,(unsigned __seed)); |
||
126 | double _EXFUN(strtod,(const char *__n, char **__end_PTR)); |
||
127 | double _EXFUN(_strtod_r,(struct _reent *,const char *__n, char **__end_PTR)); |
||
128 | float _EXFUN(strtof,(const char *__n, char **__end_PTR)); |
||
129 | #ifndef __STRICT_ANSI__ |
||
130 | /* the following strtodf interface is deprecated...use strtof instead */ |
||
131 | # ifndef strtodf |
||
132 | # define strtodf strtof |
||
133 | # endif |
||
134 | #endif |
||
135 | long _EXFUN(strtol,(const char *__n, char **__end_PTR, int __base)); |
||
136 | long _EXFUN(_strtol_r,(struct _reent *,const char *__n, char **__end_PTR, int __base)); |
||
137 | unsigned long _EXFUN(strtoul,(const char *__n, char **__end_PTR, int __base)); |
||
138 | unsigned long _EXFUN(_strtoul_r,(struct _reent *,const char *__n, char **__end_PTR, int __base)); |
||
139 | |||
140 | int _EXFUN(system,(const char *__string)); |
||
141 | |||
142 | #ifndef __STRICT_ANSI__ |
||
143 | long _EXFUN(a64l,(const char *__input)); |
||
144 | char * _EXFUN(l64a,(long __input)); |
||
145 | char * _EXFUN(_l64a_r,(struct _reent *,long __input)); |
||
146 | int _EXFUN(on_exit,(_VOID (*__func)(int, _PTR),_PTR __arg)); |
||
147 | _VOID _EXFUN(_Exit,(int __status) _ATTRIBUTE ((noreturn))); |
||
148 | int _EXFUN(putenv,(char *__string)); |
||
149 | int _EXFUN(_putenv_r,(struct _reent *, char *__string)); |
||
150 | _PTR _EXFUN(_reallocf_r,(struct _reent *, _PTR, size_t)); |
||
151 | int _EXFUN(setenv,(const char *__string, const char *__value, int __overwrite)); |
||
152 | int _EXFUN(_setenv_r,(struct _reent *, const char *__string, const char *__value, int __overwrite)); |
||
153 | |||
154 | char * _EXFUN(gcvt,(double,int,char *)); |
||
155 | char * _EXFUN(gcvtf,(float,int,char *)); |
||
156 | char * _EXFUN(fcvt,(double,int,int *,int *)); |
||
157 | char * _EXFUN(fcvtf,(float,int,int *,int *)); |
||
158 | char * _EXFUN(ecvt,(double,int,int *,int *)); |
||
159 | char * _EXFUN(ecvtbuf,(double, int, int*, int*, char *)); |
||
160 | char * _EXFUN(fcvtbuf,(double, int, int*, int*, char *)); |
||
161 | char * _EXFUN(ecvtf,(float,int,int *,int *)); |
||
162 | char * _EXFUN(dtoa,(double, int, int, int *, int*, char**)); |
||
163 | int _EXFUN(rand_r,(unsigned *__seed)); |
||
164 | |||
165 | double _EXFUN(drand48,(_VOID)); |
||
166 | double _EXFUN(_drand48_r,(struct _reent *)); |
||
167 | double _EXFUN(erand48,(unsigned short [3])); |
||
168 | double _EXFUN(_erand48_r,(struct _reent *, unsigned short [3])); |
||
169 | long _EXFUN(jrand48,(unsigned short [3])); |
||
170 | long _EXFUN(_jrand48_r,(struct _reent *, unsigned short [3])); |
||
171 | _VOID _EXFUN(lcong48,(unsigned short [7])); |
||
172 | _VOID _EXFUN(_lcong48_r,(struct _reent *, unsigned short [7])); |
||
173 | long _EXFUN(lrand48,(_VOID)); |
||
174 | long _EXFUN(_lrand48_r,(struct _reent *)); |
||
175 | long _EXFUN(mrand48,(_VOID)); |
||
176 | long _EXFUN(_mrand48_r,(struct _reent *)); |
||
177 | long _EXFUN(nrand48,(unsigned short [3])); |
||
178 | long _EXFUN(_nrand48_r,(struct _reent *, unsigned short [3])); |
||
179 | unsigned short * |
||
180 | _EXFUN(seed48,(unsigned short [3])); |
||
181 | unsigned short * |
||
182 | _EXFUN(_seed48_r,(struct _reent *, unsigned short [3])); |
||
183 | _VOID _EXFUN(srand48,(long)); |
||
184 | _VOID _EXFUN(_srand48_r,(struct _reent *, long)); |
||
185 | long long _EXFUN(atoll,(const char *__nptr)); |
||
186 | long long _EXFUN(_atoll_r,(struct _reent *, const char *__nptr)); |
||
187 | long long _EXFUN(llabs,(long long)); |
||
188 | lldiv_t _EXFUN(lldiv,(long long __numer, long long __denom)); |
||
189 | long long _EXFUN(strtoll,(const char *__n, char **__end_PTR, int __base)); |
||
190 | long long _EXFUN(_strtoll_r,(struct _reent *, const char *__n, char **__end_PTR, int __base)); |
||
191 | unsigned long long _EXFUN(strtoull,(const char *__n, char **__end_PTR, int __base)); |
||
192 | unsigned long long _EXFUN(_strtoull_r,(struct _reent *, const char *__n, char **__end_PTR, int __base)); |
||
193 | |||
194 | #ifndef __CYGWIN__ |
||
195 | _VOID _EXFUN(cfree,(_PTR)); |
||
196 | int _EXFUN(unsetenv,(const char *__string)); |
||
197 | int _EXFUN(_unsetenv_r,(struct _reent *, const char *__string)); |
||
198 | #endif |
||
199 | |||
200 | #ifdef __rtems__ |
||
201 | int _EXFUN(posix_memalign,(void **, size_t, size_t)); |
||
202 | #endif |
||
203 | |||
204 | #endif /* ! __STRICT_ANSI__ */ |
||
205 | |||
206 | char * _EXFUN(_dtoa_r,(struct _reent *, double, int, int, int *, int*, char**)); |
||
207 | #ifndef __CYGWIN__ |
||
208 | _PTR _EXFUN_NOTHROW(_malloc_r,(struct _reent *, size_t)); |
||
209 | _PTR _EXFUN_NOTHROW(_calloc_r,(struct _reent *, size_t, size_t)); |
||
210 | _VOID _EXFUN_NOTHROW(_free_r,(struct _reent *, _PTR)); |
||
211 | _PTR _EXFUN_NOTHROW(_realloc_r,(struct _reent *, _PTR, size_t)); |
||
212 | _VOID _EXFUN(_mstats_r,(struct _reent *, char *)); |
||
213 | #endif |
||
214 | int _EXFUN(_system_r,(struct _reent *, const char *)); |
||
215 | |||
216 | _VOID _EXFUN(__eprintf,(const char *, const char *, unsigned int, const char *)); |
||
217 | |||
218 | /* On platforms where long double equals double. */ |
||
219 | #ifdef _LDBL_EQ_DBL |
||
220 | extern long double strtold (const char *, char **); |
||
221 | extern long double wcstold (const wchar_t *, wchar_t **); |
||
222 | #endif /* _LDBL_EQ_DBL */ |
||
223 | |||
224 | _END_STD_C |
||
225 | |||
226 | #endif /* _STDLIB_H_ */ |