USB device can now be unbind
[AROS.git] / compiler / stdc / stdc.conf
blob0e1490dddd4681378963fbea4cdef3d41321842e
1 ##begin config
2 version 0.13
3 basename StdC
4 libbasetypeextern struct StdCBase
5 libbasetype struct StdCIntBase
6 options peropenerbase,rellinklib
7 ##end config
9 ##begin cdef
10 #include <libraries/stdc.h>
11 #include <setjmp.h>
12 #include <complex.h>
13 #include <fenv.h>
14 #include <math.h>
15 #include <signal.h>
16 #include <stdarg.h>
17 #include <stdlib.h>
18 #include <time.h>
20 #ifdef __GNUC__
21 #undef cimag
22 #undef cimagf
23 #undef cimagl
24 #undef creal
25 #undef crealf
26 #undef creall
27 #endif
29 /* Avoid warning for redefinition of isinf()/isnan() */
30 #define STDC_NOLIBINLINE
31 #define STDC_NOLIBDEFINES
33 ##end cdef
35 ##begin stubprivate
36 #define STDC_NOINLINE
37 ##end stubprivate
39 ##begin cdefprivate
40 #include "__stdc_intbase.h"
41 ##end cdefprivate
43 ##begin startup
44 #include "stdc_startup.c"
45 ##end startup
47 ##begin functionlist
48 # == Internal functions ==
50 int __stdc_gmtoffset(void)
51 void __stdc_program_startup(jmp_buf exitjmp, int *errorptr)
52 void __stdc_program_end(void)
53 int *__stdc_set_errorptr(int *errorptr)
54 int *__stdc_get_errorptr(void)
55 void __stdc_set_exitjmp(jmp_buf exitjmp, jmp_buf previousjmp)
56 void __stdc_jmp2exit(int normal, int returncode)
57 # private functions for patching in softfloat/fenv support
58 void *__stdc_set_fpuprivate(void *fpuprivate)
59 void *__stdc_get_fpuprivate(void)
60 void *__stdc_get_fe_dfl(void)
61 void *__stdc_get_fe_nom(void)
62 int __stdc_get_fe_round(void)
63 .skip 8
64 # == C99 functions ordered per include file ==
65 # * assert.h: Support function for assert() macro
66 void __assert(const char * expr, const char * file, unsigned int line)
68 # * complex.h
69 double complex cacos(double complex z)
70 float complex cacosf(float complex z)
71 long double complex cacosl(long double complex z)
72 double complex casin(double complex z)
73 float complex casinf(float complex z)
74 long double complex casinl(long double complex z)
75 double complex catan(double complex z)
76 float complex catanf(float complex z)
77 long double complex catanl(long double complex z)
78 double complex ccos(double complex z)
79 float complex ccosf(float complex z)
80 long double complex ccosl(long double complex z)
81 double complex csin(double complex z)
82 float complex csinf(float complex z)
83 long double complex csinl(long double complex z)
84 double complex ctan(double complex z)
85 float complex ctanf(float complex z)
86 long double complex ctanl(long double complex z)
87 double complex cacosh(double complex z)
88 float complex cacoshf(float complex z)
89 long double complex cacoshl(long double complex z)
90 double complex casinh(double complex z)
91 float complex casinhf(float complex z)
92 long double complex casinhl(long double complex z)
93 double complex catanh(double complex z)
94 float complex catanhf(float complex z)
95 long double complex catanhl(long double complex z)
96 double complex ccosh(double complex z)
97 float complex ccoshf(float complex z)
98 long double complex ccoshl(long double complex z)
99 double complex csinh(double complex z)
100 float complex csinhf(float complex z)
101 long double complex csinhl(long double complex z)
102 double complex ctanh(double complex z)
103 float complex ctanhf(float complex z)
104 long double complex ctanhl(long double complex z)
105 double complex cexp(double complex z)
106 float complex cexpf(float complex z)
107 long double complex cexpl(long double complex z)
108 double complex clog(double complex z)
109 float complex clogf(float complex z)
110 long double complex clogl(long double complex z)
111 double cabs(double complex z)
112 float cabsf(float complex z)
113 long double cabsl(long double complex z)
114 double complex cpow(double complex x, double complex y)
115 float complex cpowf(float complex x, float complex y)
116 long double complex cpowl(long double complex x, long double complex y)
117 double complex csqrt(double complex z)
118 float complex csqrtf(float complex z)
119 long double complex csqrtl(long double complex z)
120 double carg(double complex z)
121 float cargf(float complex z)
122 long double cargl(long double complex z)
123 double cimag(double complex z)
124 float cimagf(float complex z)
125 long double cimagl(long double complex z)
126 double complex conj(double complex z)
127 float complex conjf(float complex z)
128 long double complex conjl(long double complex z)
129 double complex cproj(double complex z)
130 float complex cprojf(float complex z)
131 long double complex cprojl(long double complex z)
132 double creal(double complex z)
133 float crealf(float complex z)
134 long double creall(long double complex z)
136 # * ctype.h: functions are declared as static inline functions
138 # * errno.h
139 int __stdc_ioerr2errno(int ioerr)
140 .alias ioerr2errno
142 # * fenv.h
143 int feclearexcept(int excepts)
144 .function _feclearexcept
145 int fegetexceptflag(fexcept_t *flagp, int excepts)
146 .function _fegetexceptflag
147 int feraiseexcept(int excepts)
148 .function _feraiseexcept
149 int fesetexceptflag(const fexcept_t *flagp, int excepts)
150 .function _fesetexceptflag
151 int fetestexcept(int excepts)
152 .function _fetestexcept
153 int fegetround(void)
154 .function _fegetround
155 int fesetround(int round)
156 .function _fesetround
157 int fegetenv(fenv_t *envp)
158 .function _fegetenv
159 int feholdexcept(fenv_t *envp)
160 .function _feholdexcept
161 int fesetenv(const fenv_t *envp)
162 .function _fesetenv
163 int feupdateenv(const fenv_t *envp)
164 .function _feupdateenv
166 # * float.h: no functions in float.h
168 # * inttypes.h
169 intmax_t imaxabs(intmax_t j)
170 imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom)
171 intmax_t strtoimax(const char * restrict nptr, char ** restrict endptr, int base)
172 uintmax_t strtoumax(const char * restrict nptr, char ** restrict endptr, int base)
173 .skip 2
174 #intmax_t wcstoimax(const wchar_t * restrict nptr, wchar_t ** restrict endptr, int base)
175 #uintmax_t wcstoumax(const wchar_t * restrict nptr, wchar_t ** restrict endptr, int base)
177 # * iso646.h: no functions in iso646.h
179 # * limits.h: no functions in limits.h
181 # * locale.h
182 char *setlocale(int category, const char *locale)
183 struct lconv *localeconv(void)
185 # * math.h
186 int __fpclassifyd(double)
187 int __fpclassifyf(float)
188 int __fpclassifyl(long double)
189 int __isfinite(double)
190 .unusedlibbase
191 .alias finite
192 int __isfinitef(float)
193 .unusedlibbase
194 .alias finitef
195 int __isfinitel(long double)
196 .unusedlibbase
197 .alias finitel
198 int __isinf(double)
199 .unusedlibbase
200 .alias isinf
201 int __isinff(float)
202 .unusedlibbase
203 .alias isinff
204 int __isinfl(long double)
205 .unusedlibbase
206 .alias isinfl
207 int __isnan(double)
208 .unusedlibbase
209 .alias isnan
210 int __isnanf(float)
211 .unusedlibbase
212 .alias isnanf
213 int __isnanl(long double)
214 .unusedlibbase
215 .alias isnanl
216 int __isnormal(double)
217 .unusedlibbase
218 int __isnormalf(float)
219 .unusedlibbase
220 int __isnormall(long double)
221 .unusedlibbase
222 int __signbit(double)
223 .unusedlibbase
224 int __signbitf(float)
225 .unusedlibbase
226 int __signbitl(long double)
227 .unusedlibbase
228 double acos(double)
229 double asin(double)
230 double atan(double)
231 double atan2(double, double)
232 double cos(double)
233 double sin(double)
234 double tan(double)
235 double acosh(double)
236 double asinh(double)
237 double atanh(double)
238 double cosh(double)
239 double sinh(double)
240 double tanh(double)
241 double exp(double)
242 double exp2(double)
243 double expm1(double)
244 double frexp(double, int *)
245 int ilogb(double)
246 double ldexp(double, int)
247 double log(double)
248 double log10(double)
249 double log1p(double)
250 double log2(double) 
251 double logb(double)
252 double modf(double, double *)
253 double scalbn(double, int)
254 double scalbln(double, long)
255 double cbrt(double)
256 double fabs(double)
257 double hypot(double, double)
258 double pow(double, double)
259 double sqrt(double)
260 double erf(double)
261 double erfc(double)
262 double lgamma(double)
263 .alias gamma
264 double tgamma(double)
265 double ceil(double)
266 double floor(double)
267 double nearbyint(double)
268 double rint(double)
269 long lrint(double)
270 long long llrint(double)
271 double round(double)
272 long lround(double)
273 long long llround(double)
274 double trunc(double)
275 double fmod(double, double)
276 double remainder(double, double)
277 .alias drem
278 double remquo(double, double, int *)
279 double copysign(double, double)
280 double nan(const char *tagp)
281 double nextafter(double, double)
282 double nexttoward(double, long double)
283 double fdim(double, double)
284 double fmax(double, double)
285 double fmin(double, double)
286 double fma(double, double, double)
287 float acosf(float)
288 float asinf(float)
289 float atanf(float)
290 float atan2f(float, float)
291 float cosf(float)
292 float sinf(float)
293 float tanf(float)
294 float acoshf(float)
295 float asinhf(float)
296 float atanhf(float)
297 float coshf(float)
298 float sinhf(float)
299 float tanhf(float)
300 float expf(float)
301 float exp2f(float)
302 float expm1f(float)
303 float frexpf(float, int *)
304 int ilogbf(float)
305 float ldexpf(float, int)
306 float logf(float)
307 float log10f(float)
308 float log1pf(float)
309 float log2f(float) 
310 float logbf(float)
311 float modff(float, float *)
312 float scalbnf(float, int)
313 float scalblnf(float, long)
314 float cbrtf(float)
315 float fabsf(float)
316 float hypotf(float, float)
317 float powf(float, float)
318 float sqrtf(float)
319 float erff(float)
320 float erfcf(float)
321 float lgammaf(float)
322 .alias gammaf
323 float tgammaf(float)
324 float ceilf(float)
325 float floorf(float)
326 float nearbyintf(float)
327 float rintf(float)
328 long lrintf(float)
329 long long llrintf(float)
330 float roundf(float)
331 long lroundf(float)
332 long long llroundf(float)
333 float truncf(float)
334 float fmodf(float, float)
335 float remainderf(float, float)
336 .alias dremf
337 float remquof(float, float, int *)
338 float copysignf(float, float)
339 float nanf(const char *tagp)
340 float nextafterf(float, float)
341 float nexttowardf(float, long double)
342 float fdimf(float, float)
343 float fmaxf(float, float)
344 float fminf(float, float)
345 float fmaf(float, float, float)
346 long double acosl(long double)
347 long double asinl(long double)
348 long double atanl(long double)
349 long double atan2l(long double, long double)
350 long double cosl(long double)
351 long double sinl(long double)
352 long double tanl(long double)
353 long double acoshl(long double)
354 long double asinhl(long double)
355 long double atanhl(long double)
356 long double coshl(long double)
357 long double sinhl(long double)
358 long double tanhl(long double)
359 long double expl(long double)
360 long double exp2l(long double)
361 long double expm1l(long double)
362 long double frexpl(long double value, int *)
363 int ilogbl(long double)
364 long double ldexpl(long double, int)
365 long double logl(long double)
366 long double log10l(long double)
367 long double log1pl(long double)
368 long double log2l(long double)
369 long double logbl(long double)
370 long double modfl(long double, long double *)
371 long double scalbnl(long double, int)
372 long double scalblnl(long double, long)
373 long double cbrtl(long double)
374 long double fabsl(long double)
375 long double hypotl(long double, long double)
376 long double powl(long double, long double)
377 long double sqrtl(long double)
378 long double erfl(long double)
379 long double erfcl(long double)
380 long double lgammal(long double)
381 .alias gammal
382 long double tgammal(long double)
383 long double ceill(long double)
384 long double floorl(long double)
385 long double nearbyintl(long double)
386 long double rintl(long double)
387 long lrintl(long double)
388 long long llrintl(long double)
389 long double roundl(long double)
390 long lroundl(long double)
391 long long llroundl(long double)
392 long double truncl(long double)
393 long double fmodl(long double, long double)
394 long double remainderl(long double, long double)
395 .alias dreml
396 long double remquol(long double, long double, int *)
397 long double copysignl(long double, long double)
398 long double nanl(const char *tagp)
399 long double nextafterl(long double, long double)
400 long double nexttowardl(long double, long double)
401 long double fdiml(long double, long double)
402 long double fmaxl(long double, long double)
403 long double fminl(long double, long double)
404 long double fmal(long double, long double, long double)
406 # * setjmp.h
407 int setjmp(jmp_buf env)
408 .unusedlibbase
409 void longjmp(jmp_buf env, int val)
410 .unusedlibbase
412 # * signal.h
413 __sighandler_t *signal(int, __sighandler_t *)
414 int raise(int)
416 # * stdarg.h: implementation has to be provided by the compiler.
418 # * stdbool.h: no functions in stdbool.h
420 # * stddef.h: no functions in stddef.h
422 # * stdint.h: no functions in stdint.h
424 # * stdio.h: only string based functions are implemented, the rest in stdcio.library
425 int snprintf(char * restrict s, size_t n, const char * restrict format, ...)
426 int sprintf(char * restrict s, const char * restrict format, ...)
427 int sscanf(const char * restrict s, const char * restrict format, ...)
428 int vsnprintf(char * restrict s, size_t n, const char * restrict format, va_list arg)
429 int vsprintf(char * restrict s, const char * restrict format, va_list arg)
430 int vsscanf(const char * restrict s, const char * restrict format, va_list arg)
432 # * stdlib.h: getenv() and system() implemented in stdcio.library
433 double atof(const char *nptr)
434 int atoi(const char *nptr)
435 long int atol(const char *nptr)
436 long long int atoll(const char *nptr)
437 double strtod(const char * restrict nptr, char ** restrict endptr)
438 float strtof(const char * restrict nptr, char ** restrict endptr)
439 long double strtold(const char * restrict nptr, char ** restrict endptr)
440 long int strtol(const char * restrict nptr, char ** restrict endptr, int base)
441 long long int strtoll(const char * restrict nptr, char ** restrict endptr, int base)
442 unsigned long int strtoul(const char * restrict nptr, char ** restrict endptr, int base)
443 unsigned long long int strtoull(const char * restrict nptr, char ** restrict endptr, int base)
444 int rand(void)
445 void srand(unsigned int seed)
446 void *calloc(size_t count, size_t size)
447 void free(void *memory)
448 void *malloc(size_t size)
449 void *malloc_align(size_t size, size_t alignment)
450 void *realloc(void *oldmem, size_t newsize)
451 void *realloc_nocopy(void *oldmem, size_t newsize)
452 void abort(void)
453 int atexit(void (*func)(void))
454 int on_exit(void (*func)(int, void *), void *)
455 void exit(int code)
456 void _Exit(int)
457 .alias _exit
458 void *bsearch(const void * key, const void * base, size_t count, size_t size, int (*comparefunction)(const void *, const void *))
459 void qsort(void * array, size_t count, size_t elementsize, int (*comparefunction)(const void * element1, const void * element2))
460 int abs(int j)
461 long labs(long j)
462 long long llabs(long long j)
463 div_t div(int numer, int denom)
464 ldiv_t ldiv(long int numer, long int denom)
465 lldiv_t lldiv(long long int numer, long long int denom)
466 int mblen(const char *s, size_t n)
467 .skip 4
468 #int mbtowc(wchar_t * restrict pwc, const char * restrict s, size_t n)
469 #int wctomb(char *s, wchar_t wc)
470 #size_t mbstowcs(wchar_t * restrict pwcs, const char * restrict s, size_t n)
471 #size_t wcstombs(char * restrict s, const wchar_t * restrict pwcs, size_t n)
473 # * string.h: memcpy is the same as memmove
474 void *memmove (void * dest, const void * src, size_t n)
475 .unusedlibbase
476 .alias memcpy
477 char *strcpy (char * restrict dest, const char * restrict src)
478 .unusedlibbase
479 char *strncpy (char * restrict dest, const char * restrict src, size_t n)
480 .unusedlibbase
481 char *strcat (char * restrict dest, const char * restrict src)
482 .unusedlibbase
483 char *strncat (char * restrict dest, const char * restrict src, size_t n)
484 .unusedlibbase
485 int memcmp (const void * s1, const void * s2, size_t n)
486 .unusedlibbase
487 int strcmp (const char * s1, const char * s2)
488 .unusedlibbase
489 int strcoll (const char *s1, const char *s2)
490 .unusedlibbase
491 int strncmp (const char * s1, const char * s2, size_t n)
492 .unusedlibbase
493 size_t strxfrm (char * restrict s1, const char * restrict s2, size_t n)
494 .unusedlibbase
495 void *memchr (const void * dest, int c, size_t n)
496 .unusedlibbase
497 char *strchr (const char * s, int c)
498 .unusedlibbase
499 .alias index
500 size_t strcspn (const char *s1, const char *s2)
501 .unusedlibbase
502 char *strpbrk (const char * s1, const char * s2)
503 .unusedlibbase
504 char *strrchr (const char * s, int c)
505 .unusedlibbase
506 .alias rindex
507 size_t strspn (const char * s1, const char * s2)
508 .unusedlibbase
509 char *strstr (const char * buf, const char * str)c
510 .unusedlibbase
511 char *strtok (char * str, const char * sep)v
512 void *memset (void * dest, int c, size_t n)
513 .unusedlibbase
514 char *__stdc_strerror (int n)
515 .alias strerror
516 size_t strlen (const char * str)
517 .unusedlibbase
519 # * tgmath.h: not implemented in stdc.library
521 # * time.h
522 clock_t clock(void)
523 double difftime(time_t, time_t)
524 .unusedlibbase
525 time_t mktime(struct tm *)
526 .unusedlibbase
527 time_t time(time_t *)
528 char *asctime(const struct tm *)
529 char *ctime(const time_t *)
530 struct tm *gmtime(const time_t *)
531 struct tm *localtime(const time_t *)
532 size_t strftime(char *, size_t, const char *, const struct tm *)
534 # * wchar.h: not implemented in stdc.library
536 # * wctype.h: not implemented in stdc.library
538 # == Extensions ==
539 # <math.h>: Mostly BSD functions
540 double j0(double)
541 double j1(double)
542 double jn(int, double)
543 double scalb(double, double)
544 double y0(double)
545 double y1(double)
546 double yn(int, double)
547 double gamma_r(double, int *)
548 double lgamma_r(double, int *)
549 void sincos(double, double *, double *)
550 double significand(double)
551 float j0f(float)
552 float j1f(float)
553 float jnf(int, float)
554 float scalbf(float, float)
555 float y0f(float)
556 float y1f(float)
557 float ynf(int, float)
558 float gammaf_r(float, int *)
559 float lgammaf_r(float, int *)
560 void sincosf(float, float *, float *)
561 float significandf(float)
562 .skip 8
563 #long double j0l(long double)
564 #long double j1l(long double)
565 #long double jnl(int, long double)
566 #long double scalbl(long double, long double)
567 #long double y0l(long double)
568 #long double y1l(long double)
569 #long double ynl(int, long double)
570 #long double gammal_r(long double, int *)
571 long double lgammal_r(long double, int *)
572 void sincosl(long double, long double *, long double *)
573 .skip 1
574 #long double significandl(long double)
576 # * stdio.h: AROS specific support functions based on libnix
577 int __vcformat(void * data, int (*outc)(int, void *), const char * format, va_list args)
578 int __vcscan(void * data, int (*getc)(void *), int (*ungetc)(int, void *), const char * format, va_list args)
580 # * string.h: POSIX, BSD/UNIX, SAS/C
581 .skip 1
582 #void *memccpy(void *restrict, const void *restrict, int, size_t)
583 char *stpcpy(char *restrict, const char *restrict)
584 .skip 2
585 #char *stpncpy(char *restrict, const char *restrict, size_t)
586 #int strcoll_l(const char *, const char *, locale_t)
587 char *strdup(const char *)
588 .skip 2
589 #char *strerror_l(int, locale_t)
590 #int strerror_r(int, char *, size_t)
591 char *strndup(const char *, size_t)
592 size_t strnlen (const char *, size_t)
593 .unusedlibbase
594 .skip 1
595 #char *strsignal(int)
596 char *strtok_r(char *restrict, const char *restrict, char **restrict)
597 .skip 1
598 #size_t strxfrm_l(char *restrict, const char *restrict, size_t, locale_t)
599 size_t strlcpy(char *dst, const char *src, size_t size)
600 .unusedlibbase
601 size_t strlcat(char *dst, const char *src, size_t size)
602 .unusedlibbase
603 char *strsep(char **, const char *)
604 char *strlwr(char *)
605 .unusedlibbase
606 char *strupr(char *)
607 .unusedlibbase
608 char *strrev(char * s)
609 .unusedlibbase
610 int stch_l(const char * in, long * lvalue)
611 .unusedlibbase
612 int stcd_l(const char * in, long * lvalue)
613 .unusedlibbase
614 int stco_l(const char * in, long * lvalue)
615 .unusedlibbase
616 int stcl_d(char * out, long lvalue)
617 .unusedlibbase
618 int stcl_h(char * out, long lvalue)
619 .unusedlibbase
620 int stcl_o(char * out, long lvalue)
621 .unusedlibbase
622 int stcu_d(char * out, unsigned uivalue)
623 size_t stccpy(char *str1_ptr, const char *str2_ptr, size_t max)
624 .unusedlibbase
625 char *stpsym(char *str_ptr, char *dest_ptr, int dest_size)
626 .unusedlibbase
627 char *stpblk( const char * str )
629 # * strings.h: POSIX, BSD
630 int strcasecmp(const char * s1, const char * s2)
631 .skip 1
632 #int strcasecmp_l(const char *, const char *, locale_t)
633 int strncasecmp(const char *, const char *, size_t)
634 .skip 1
635 #int strncasecmp_l(const char *, const char *, size_t, locale_t)
637 # * time.h: reentrant versions of some C99 functions (POSIX)
638 char *asctime_r(const struct tm *, char *)
639 char *ctime_r(const time_t *, char *)
640 struct tm *gmtime_r(const time_t *, struct tm *)
641 struct tm *localtime_r(const time_t *, struct tm *)
643 ##end functionlist