Wolfgang Thallergcc16 merge, part 27672bd75 months agoHistory
350 lines · 11.6 KB · C
RawDownload
/* * stdlib.h * * Definitions for common types, variables, and functions. */ #ifndef _STDLIB_H_#define _STDLIB_H_ #include <machine/ieeefp.h>#include "_ansi.h" #define __need_size_t#define __need_wchar_t#define __need_NULL#include <stddef.h> #include <sys/reent.h>#include <sys/cdefs.h>#include <machine/stdlib.h>#ifndef __STRICT_ANSI__#include <alloca.h>#endif #ifdef __CYGWIN__#include <cygwin/stdlib.h>#endif #if __GNU_VISIBLE#include <sys/_locale.h>#endif _BEGIN_STD_C typedef struct {  int quot; /* quotient */  int rem; /* remainder */} div_t; typedef struct {  long quot; /* quotient */  long rem; /* remainder */} ldiv_t; #if __ISO_C_VISIBLE >= 1999typedef struct{  long long int quot; /* quotient */  long long int rem; /* remainder */} lldiv_t;#endif #ifndef __compar_fn_t_defined#define __compar_fn_t_definedtypedef int (*__compar_fn_t) (const void *, const void *);#endif #define EXIT_FAILURE 1#define EXIT_SUCCESS 0 #define RAND_MAX __RAND_MAX int	__locale_mb_cur_max (void); #define MB_CUR_MAX __locale_mb_cur_max() void	abort (void) _ATTRIBUTE ((__noreturn__));int	abs (int);#if __BSD_VISIBLE__uint32_t arc4random (void);__uint32_t arc4random_uniform (__uint32_t);void    arc4random_buf (void *, size_t);#endifint	atexit (void (*__func)(void));double	atof (const char *__nptr);#if __MISC_VISIBLEfloat	atoff (const char *__nptr);#endifint	atoi (const char *__nptr);int	_atoi_r (struct _reent *, const char *__nptr);long	atol (const char *__nptr);long	_atol_r (struct _reent *, const char *__nptr);void *	bsearch (const void *__key,		       const void *__base,		       size_t __nmemb,		       size_t __size,		       __compar_fn_t _compar);void	*calloc(size_t, size_t) __malloc_like __result_use_check	     __alloc_size2(1, 2) _NOTHROW;div_t	div (int __numer, int __denom);void	exit (int __status) _ATTRIBUTE ((__noreturn__));void	free (void *) _NOTHROW;char *  getenv (const char *__string);char *	_getenv_r (struct _reent *, const char *__string);#if __GNU_VISIBLEchar *  secure_getenv (const char *__string);#endifchar *	_findenv (const char *, int *);char *	_findenv_r (struct _reent *, const char *, int *);#if __POSIX_VISIBLE >= 200809extern char *suboptarg;			/* getsubopt(3) external variable */int	getsubopt (char **, char * const *, char **);#endiflong	labs (long);ldiv_t	ldiv (long __numer, long __denom);void	*malloc(size_t) __malloc_like __result_use_check __alloc_size(1) _NOTHROW;int	mblen (const char *, size_t);int	_mblen_r (struct _reent *, const char *, size_t, _mbstate_t *);int	mbtowc (wchar_t *__restrict, const char *__restrict, size_t);int	_mbtowc_r (struct _reent *, wchar_t *__restrict, const char *__restrict, size_t, _mbstate_t *);int	wctomb (char *, wchar_t);int	_wctomb_r (struct _reent *, char *, wchar_t, _mbstate_t *);size_t	mbstowcs (wchar_t *__restrict, const char *__restrict, size_t);size_t	_mbstowcs_r (struct _reent *, wchar_t *__restrict, const char *__restrict, size_t, _mbstate_t *);size_t	wcstombs (char *__restrict, const wchar_t *__restrict, size_t);size_t	_wcstombs_r (struct _reent *, char *__restrict, const wchar_t *__restrict, size_t, _mbstate_t *);#ifndef _REENT_ONLY#if __BSD_VISIBLE || __POSIX_VISIBLE >= 200809char *	mkdtemp (char *);#endif#if __GNU_VISIBLEint	mkostemp (char *, int);int	mkostemps (char *, int, int);#endif#if __MISC_VISIBLE || __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >= 4int	mkstemp (char *);#endif#if __MISC_VISIBLEint	mkstemps (char *, int);#endif#if __BSD_VISIBLE || (__XSI_VISIBLE >= 4 && __POSIX_VISIBLE < 200112)char *	mktemp (char *) _ATTRIBUTE ((__deprecated__("the use of `mktemp' is dangerous; use `mkstemp' instead")));#endif#endif /* !_REENT_ONLY */char *	_mkdtemp_r (struct _reent *, char *);int	_mkostemp_r (struct _reent *, char *, int);int	_mkostemps_r (struct _reent *, char *, int, int);int	_mkstemp_r (struct _reent *, char *);int	_mkstemps_r (struct _reent *, char *, int);char *	_mktemp_r (struct _reent *, char *) _ATTRIBUTE ((__deprecated__("the use of `mktemp' is dangerous; use `mkstemp' instead")));void	qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t _compar);int	rand (void);void	*realloc(void *, size_t) __result_use_check __alloc_size(2) _NOTHROW;#if __BSD_VISIBLEvoid	*reallocarray(void *, size_t, size_t) __result_use_check __alloc_size2(2, 3);void	*reallocf(void *, size_t) __result_use_check __alloc_size(2);#endif#if __BSD_VISIBLE || __XSI_VISIBLE >= 4char *	realpath (const char *__restrict path, char *__restrict resolved_path);#endif#if __BSD_VISIBLEint	rpmatch (const char *response);#endif#if __XSI_VISIBLEvoid	setkey (const char *__key);#endifvoid	srand (unsigned __seed);double	strtod (const char *__restrict __n, char **__restrict __end_PTR);double	_strtod_r (struct _reent *,const char *__restrict __n, char **__restrict __end_PTR);#if __ISO_C_VISIBLE >= 1999float	strtof (const char *__restrict __n, char **__restrict __end_PTR);#endif#if __MISC_VISIBLE/* the following strtodf interface is deprecated...use strtof instead */# ifndef strtodf#  define strtodf strtof# endif#endiflong	strtol (const char *__restrict __n, char **__restrict __end_PTR, int __base);long	_strtol_r (struct _reent *,const char *__restrict __n, char **__restrict __end_PTR, int __base);unsigned long strtoul (const char *__restrict __n, char **__restrict __end_PTR, int __base);unsigned long _strtoul_r (struct _reent *,const char *__restrict __n, char **__restrict __end_PTR, int __base); #if __GNU_VISIBLEdouble	strtod_l (const char *__restrict, char **__restrict, locale_t);float	strtof_l (const char *__restrict, char **__restrict, locale_t);#ifdef _HAVE_LONG_DOUBLEextern long double strtold_l (const char *__restrict, char **__restrict,			      locale_t);#endif /* _HAVE_LONG_DOUBLE */long	strtol_l (const char *__restrict, char **__restrict, int, locale_t);unsigned long strtoul_l (const char *__restrict, char **__restrict, int,			 locale_t __loc);long long strtoll_l (const char *__restrict, char **__restrict, int, locale_t);unsigned long long strtoull_l (const char *__restrict, char **__restrict, int,			       locale_t __loc);#endif int	system (const char *__string); #if __SVID_VISIBLE || __XSI_VISIBLE >= 4long    a64l (const char *__input);char *  l64a (long __input);char *  _l64a_r (struct _reent *,long __input);#endif#if __MISC_VISIBLEint	on_exit (void (*__func)(int, void *),void *__arg);#endif#if __ISO_C_VISIBLE >= 1999void	_Exit (int __status) _ATTRIBUTE ((__noreturn__));#endif#if __SVID_VISIBLE || __XSI_VISIBLEint	putenv (char *__string);#endifint	_putenv_r (struct _reent *, char *__string);void *	_reallocf_r (struct _reent *, void *, size_t);#if __BSD_VISIBLE || __POSIX_VISIBLE >= 200112int	setenv (const char *__string, const char *__value, int __overwrite);#endifint	_setenv_r (struct _reent *, const char *__string, const char *__value, int __overwrite); #if __XSI_VISIBLE >= 4 && __POSIX_VISIBLE < 200112char *	gcvt (double,int,char *);char *	gcvtf (float,int,char *);char *	fcvt (double,int,int *,int *);char *	fcvtf (float,int,int *,int *);char *	ecvt (double,int,int *,int *);char *	ecvtbuf (double, int, int*, int*, char *);char *	fcvtbuf (double, int, int*, int*, char *);char *	ecvtf (float,int,int *,int *);#endif#if !defined (__CYGWIN__) || defined (_LIBC)char *	__itoa (int, char *, int);char *	__utoa (unsigned, char *, int);# if __MISC_VISIBLEchar *	itoa (int, char *, int);char *	utoa (unsigned, char *, int);# endif#endif#if __POSIX_VISIBLEint	rand_r (unsigned *__seed);#endif #if __SVID_VISIBLE || __XSI_VISIBLEdouble drand48 (void);double _drand48_r (struct _reent *);double erand48 (unsigned short [3]);double _erand48_r (struct _reent *, unsigned short [3]);long   jrand48 (unsigned short [3]);long   _jrand48_r (struct _reent *, unsigned short [3]);void  lcong48 (unsigned short [7]);void  _lcong48_r (struct _reent *, unsigned short [7]);long   lrand48 (void);long   _lrand48_r (struct _reent *);long   mrand48 (void);long   _mrand48_r (struct _reent *);long   nrand48 (unsigned short [3]);long   _nrand48_r (struct _reent *, unsigned short [3]);unsigned short *       seed48 (unsigned short [3]);unsigned short *       _seed48_r (struct _reent *, unsigned short [3]);void  srand48 (long);void  _srand48_r (struct _reent *, long);#endif /* __SVID_VISIBLE || __XSI_VISIBLE */#if __SVID_VISIBLE || __XSI_VISIBLE >= 4 || __BSD_VISIBLEchar *	initstate (unsigned, char *, size_t);long	random (void);char *	setstate (char *);void	srandom (unsigned);#endif#if __ISO_C_VISIBLE >= 1999long long atoll (const char *__nptr);#endiflong long _atoll_r (struct _reent *, const char *__nptr);#if __ISO_C_VISIBLE >= 1999long long llabs (long long);lldiv_t	lldiv (long long __numer, long long __denom);long long strtoll (const char *__restrict __n, char **__restrict __end_PTR, int __base);#endiflong long _strtoll_r (struct _reent *, const char *__restrict __n, char **__restrict __end_PTR, int __base);#if __ISO_C_VISIBLE >= 1999unsigned long long strtoull (const char *__restrict __n, char **__restrict __end_PTR, int __base);#endifunsigned long long _strtoull_r (struct _reent *, const char *__restrict __n, char **__restrict __end_PTR, int __base); #ifndef __CYGWIN__#if __MISC_VISIBLEvoid	cfree (void *);#endif#if __BSD_VISIBLE || __POSIX_VISIBLE >= 200112int	unsetenv (const char *__string);#endifint	_unsetenv_r (struct _reent *, const char *__string);#endif /* !__CYGWIN__ */ #if __POSIX_VISIBLE >= 200112int	posix_memalign (void **, size_t, size_t) __nonnull((1))	    __result_use_check;#endif char *	_dtoa_r (struct _reent *, double, int, int, int *, int*, char**);#ifndef __CYGWIN__void *	_malloc_r (struct _reent *, size_t) _NOTHROW;void *	_calloc_r (struct _reent *, size_t, size_t) _NOTHROW;void	_free_r (struct _reent *, void *) _NOTHROW;void *	_realloc_r (struct _reent *, void *, size_t) _NOTHROW;void	_mstats_r (struct _reent *, char *);#endifint	_system_r (struct _reent *, const char *); void	__eprintf (const char *, const char *, unsigned int, const char *); /* There are two common qsort_r variants.  If you request   _BSD_SOURCE, you get the BSD version; otherwise you get the GNU   version.  We want that #undef qsort_r will still let you   invoke the underlying function, but that requires gcc support. */#if __GNU_VISIBLEvoid	qsort_r (void *__base, size_t __nmemb, size_t __size, int (*_compar)(const void *, const void *, void *), void *__thunk);#elif __BSD_VISIBLE# ifdef __GNUC__void	qsort_r (void *__base, size_t __nmemb, size_t __size, void *__thunk, int (*_compar)(void *, const void *, const void *))             __asm__ (__ASMNAME ("__bsd_qsort_r"));# elsevoid	__bsd_qsort_r (void *__base, size_t __nmemb, size_t __size, void *__thunk, int (*_compar)(void *, const void *, const void *));#  define qsort_r __bsd_qsort_r# endif#endif /* On platforms where long double equals double.  */#ifdef _HAVE_LONG_DOUBLEextern long double _strtold_r (struct _reent *, const char *__restrict, char **__restrict);#if __ISO_C_VISIBLE >= 1999extern long double strtold (const char *__restrict, char **__restrict);#endif#endif /* _HAVE_LONG_DOUBLE */ /* * If we're in a mode greater than C99, expose C11 functions. */#if __ISO_C_VISIBLE >= 2011void *	aligned_alloc(size_t, size_t) __malloc_like __alloc_align(1)	    __alloc_size(2) __result_use_check;#endif /* __ISO_C_VISIBLE >= 2011 */ #if (__ISO_C_VISIBLE >= 2011 || __POSIX_VISIBLE >= 202405)int	at_quick_exit(void (*)(void));_Noreturn void	quick_exit(int);#endif /* __ISO_C_VISIBLE >= 2011 || __POSIX_VISIBLE >= 202405 */ _END_STD_C #if __SSP_FORTIFY_LEVEL > 0#include <ssp/stdlib.h>#endif #endif /* _STDLIB_H_ */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t