added includes for printf_fp (based on 2.2.5)

added macros to use our standard posix call when possible instead of prefixed versions


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11651 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Jérôme Duval
2005-03-10 19:28:15 +00:00
parent 435b55e99e
commit a6508c735e
13 changed files with 192 additions and 233 deletions
@@ -1,32 +1,20 @@
/*
** Copyright 2004, Oliver Tappe. All rights reserved.
** Distributed under the terms of the Haiku License.
**
** This file represents a haiku-specific implementation of errno.h.
** It's main purpose is to define the E_...-error constants.
** In a full glibc-setup, this file would live under sysdeps, but since
** we do not have/need this abstraction, I placed it here.
*/
/* Copyright (C) 1991, 1994, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
#ifndef _ERRNO_H_
#define _ERRNO_H_
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
#include <Errors.h>
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
#define ENOERR 0
#define EOK ENOERR /* some code assumes EOK exists */
#ifdef __cplusplus
extern "C" {
#endif
extern int *_errnop(void);
#ifdef __cplusplus
}
#endif
#define errno (*(_errnop()))
#endif /* _ERRNO_H_ */
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include_next <errno.h>
#define __set_errno(val) errno = (val)
@@ -0,0 +1,26 @@
/* Bounded-pointer symbol modifier.
Copyright (C) 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Greg McGary <[email protected]>
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#define BP_SYM(name) _BP_SYM (name)
#if __BOUNDED_POINTERS__
# define _BP_SYM(name) __BP_##name
#else
# define _BP_SYM(name) name
#endif
@@ -0,0 +1,8 @@
#ifndef _DLFCN_H
#include_next <dlfcn.h>
# define DL_CALL_FCT(fctp, args) \
(*(fctp)) args
#endif
@@ -0,0 +1,73 @@
/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
/*
* ISO C99 Standard: 7.5 Errors <errno.h>
*/
#ifndef _ERRNO_H
/* The includer defined __need_Emath if he wants only the definitions
of EDOM and ERANGE, and not everything else. */
#ifndef __need_Emath
#define _ERRNO_H 1
#include <features.h>
#endif
__BEGIN_DECLS
/* Get the error number constants from the system-specific file.
This file will test __need_Emath and _ERRNO_H. */
#include <bits/errno.h>
#undef __need_Emath
#ifdef _ERRNO_H
/* Declare the `errno' variable, unless it's defined as a macro by
bits/errno.h. This is the case in GNU, where it is a per-thread
variable. This redeclaration using the macro still works, but it
will be a function declaration without a prototype and may trigger
a -Wstrict-prototypes warning. */
#ifndef errno
extern int errno;
#endif
#ifdef __USE_GNU
/* The full and simple forms of the name with which the program was
invoked. These variables are set up automatically at startup based on
the value of ARGV[0] (this works only if you use GNU ld). */
extern char *program_invocation_name, *program_invocation_short_name;
#endif /* __USE_GNU */
#endif /* _ERRNO_H */
__END_DECLS
#endif /* _ERRNO_H */
/* The Hurd <bits/errno.h> defines `error_t' as an enumerated type so
that printing `error_t' values in the debugger shows the names. We
might need this definition sometimes even if this file was included
before. */
#if defined __USE_GNU || defined __need_error_t
# ifndef __error_t_defined
typedef int error_t;
# define __error_t_defined 1
# endif
# undef __need_error_t
#endif
@@ -1,9 +1 @@
#ifndef _LANGINFO_H
#include <locale/langinfo.h>
libc_hidden_proto (nl_langinfo)
extern __typeof (nl_langinfo_l) __nl_langinfo_l;
#endif
@@ -1,22 +1,10 @@
#ifndef _LOCALE_H
#include <locale/locale.h>
extern __typeof (uselocale) __uselocale;
libc_hidden_proto (setlocale)
/* This has to be changed whenever a new locale is defined. */
#define __LC_LAST 13
extern struct loaded_l10nfile *_nl_locale_file_list[] attribute_hidden;
/* Locale object for C locale. */
extern struct __locale_struct _nl_C_locobj attribute_hidden;
extern struct __locale_struct _nl_C_locobj;
/* Now define the internal interfaces. */
extern struct lconv *__localeconv (void);
/* Fetch the name of the current locale set in the given category. */
extern const char *__current_locale_name (int category) attribute_hidden;
#endif
@@ -0,0 +1,8 @@
#ifndef _MATH_H
#include <math/math.h>
/* Now define the internal interfaces. */
extern int __matherr (struct exception *__exc);
#endif
@@ -0,0 +1 @@
#include <catgets/nl_types.h>
@@ -4,40 +4,10 @@
#define __Need_M_And_C
#endif
#include <stddef.h>
#include <stdlib/stdlib.h>
/* Now define the internal interfaces. */
#ifndef __Need_M_And_C
extern __typeof (strtol_l) __strtol_l;
extern __typeof (strtoul_l) __strtoul_l;
extern __typeof (strtoll_l) __strtoll_l;
extern __typeof (strtoull_l) __strtoull_l;
extern __typeof (strtod_l) __strtod_l;
extern __typeof (strtof_l) __strtof_l;
extern __typeof (strtold_l) __strtold_l;
libc_hidden_proto (exit)
libc_hidden_proto (abort)
libc_hidden_proto (getenv)
libc_hidden_proto (bsearch)
libc_hidden_proto (qsort)
libc_hidden_proto (ecvt_r)
libc_hidden_proto (fcvt_r)
libc_hidden_proto (qecvt_r)
libc_hidden_proto (qfcvt_r)
libc_hidden_proto (lrand48_r)
libc_hidden_proto (wctomb)
libc_hidden_proto (__secure_getenv)
libc_hidden_proto (__strtof_internal)
libc_hidden_proto (__strtod_internal)
libc_hidden_proto (__strtold_internal)
libc_hidden_proto (__strtol_internal)
libc_hidden_proto (__strtoll_internal)
libc_hidden_proto (__strtoul_internal)
libc_hidden_proto (__strtoull_internal)
extern long int __random (void);
extern void __srandom (unsigned int __seed);
extern char *__initstate (unsigned int __seed, char *__statebuf,
@@ -68,9 +38,6 @@ extern int __lcong48_r (unsigned short int __param[7],
extern int __drand48_iterate (unsigned short int __xsubi[3],
struct drand48_data *__buffer);
/* Global state for non-reentrant functions. Defined in drand48-iter.c. */
extern struct drand48_data __libc_drand48_data attribute_hidden;
extern int __setenv (__const char *__name, __const char *__value,
int __replace);
extern int __unsetenv (__const char *__name);
@@ -90,115 +57,15 @@ extern void _quicksort (void *const pbase, size_t total_elems,
extern int __on_exit (void (*__func) (int __status, void *__arg), void *__arg);
extern int __cxa_atexit (void (*func) (void *), void *arg, void *d);
extern int __cxa_atexit_internal (void (*func) (void *), void *arg, void *d)
attribute_hidden;
extern void __cxa_finalize (void *d);
extern int __posix_memalign (void **memptr, size_t alignment, size_t size)
__attribute_malloc__;
extern void *__libc_memalign (size_t alignment, size_t size)
__attribute_malloc__;
extern int __libc_system (const char *line);
extern double ____strtod_l_internal (__const char *__restrict __nptr,
char **__restrict __endptr, int __group,
__locale_t __loc) __THROW;
extern float ____strtof_l_internal (__const char *__restrict __nptr,
char **__restrict __endptr, int __group,
__locale_t __loc) __THROW;
extern long double ____strtold_l_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __group, __locale_t __loc)
__THROW;
extern long int ____strtol_l_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group,
__locale_t __loc) __THROW;
extern unsigned long int ____strtoul_l_internal (__const char *
__restrict __nptr,
char **__restrict __endptr,
int __base, int __group,
__locale_t __loc) __THROW;
__extension__
extern long long int ____strtoll_l_internal (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, int __group,
__locale_t __loc) __THROW;
__extension__
extern unsigned long long int ____strtoull_l_internal (__const char *
__restrict __nptr,
char **
__restrict __endptr,
int __base, int __group,
__locale_t __loc)
__THROW;
libc_hidden_proto (____strtof_l_internal)
libc_hidden_proto (____strtod_l_internal)
libc_hidden_proto (____strtold_l_internal)
libc_hidden_proto (____strtol_l_internal)
libc_hidden_proto (____strtoll_l_internal)
libc_hidden_proto (____strtoul_l_internal)
libc_hidden_proto (____strtoull_l_internal)
extern __inline double
__strtod_l (__const char *__restrict __nptr, char **__restrict __endptr,
__locale_t __loc) __THROW
{
return ____strtod_l_internal (__nptr, __endptr, 0, __loc);
}
extern __inline long int
__strtol_l (__const char *__restrict __nptr, char **__restrict __endptr,
int __base, __locale_t __loc) __THROW
{
return ____strtol_l_internal (__nptr, __endptr, __base, 0, __loc);
}
extern __inline unsigned long int
__strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr,
int __base, __locale_t __loc) __THROW
{
return ____strtoul_l_internal (__nptr, __endptr, __base, 0, __loc);
}
extern __inline float
__strtof_l (__const char *__restrict __nptr, char **__restrict __endptr,
__locale_t __loc) __THROW
{
return ____strtof_l_internal (__nptr, __endptr, 0, __loc);
}
extern __inline long double
__strtold_l (__const char *__restrict __nptr, char **__restrict __endptr,
__locale_t __loc) __THROW
{
return ____strtold_l_internal (__nptr, __endptr, 0, __loc);
}
__extension__ extern __inline long long int
__strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr,
int __base, __locale_t __loc) __THROW
{
return ____strtoll_l_internal (__nptr, __endptr, __base, 0, __loc);
}
__extension__ extern __inline unsigned long long int
__strtoull_l (__const char * __restrict __nptr, char **__restrict __endptr,
int __base, __locale_t __loc) __THROW
{
return ____strtoull_l_internal (__nptr, __endptr, __base, 0, __loc);
}
# ifndef NOT_IN_libc
# undef MB_CUR_MAX
# define MB_CUR_MAX (_NL_CURRENT_WORD (LC_CTYPE, _NL_CTYPE_MB_CUR_MAX))
# define __cxa_atexit(func, arg, d) INTUSE(__cxa_atexit) (func, arg, d)
# endif
#endif
extern void * __default_morecore (ptrdiff_t);
libc_hidden_proto (__default_morecore)
#undef __Need_M_And_C
#endif /* include/stdlib.h */
@@ -6,6 +6,8 @@
/* map the internal glibc interface to the public one */
#define __memcpy(to, from, size) memcpy(to, from, size)
#define __strchrnul(string, character) strchrnul(string, character)
#define __strnlen strnlen
#define __strerror_r strerror_r
static inline void *
__mempcpy(void *to, const void *from, size_t size)
@@ -0,0 +1,45 @@
/* Generic asm macros used on many machines.
Copyright (C) 1991, 92, 93, 96, 98 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
#include "libc-symbols.h"
#ifndef C_LABEL
/* Define a macro we can use to construct the asm name for a C symbol. */
#ifdef NO_UNDERSCORES
#ifdef __STDC__
#define C_LABEL(name) name##:
#else
#define C_LABEL(name) name/**/:
#endif
#else
#ifdef __STDC__
#define C_LABEL(name) _##name##:
#else
#define C_LABEL(name) _/**/name/**/:
#endif
#endif
#endif
/* Mark the end of function named SYM. This is used on some platforms
to generate correct debugging information. */
#ifndef END
#define END(sym)
#endif
@@ -2,51 +2,6 @@
#include <wcsmbs/wchar.h>
# ifdef _WCHAR_H
extern __typeof (wcscasecmp_l) __wcscasecmp_l;
extern __typeof (wcsncasecmp_l) __wcsncasecmp_l;
extern __typeof (wcscoll_l) __wcscoll_l;
extern __typeof (wcsxfrm_l) __wcsxfrm_l;
extern __typeof (wcstol_l) __wcstol_l;
extern __typeof (wcstoul_l) __wcstoul_l;
extern __typeof (wcstoll_l) __wcstoll_l;
extern __typeof (wcstoull_l) __wcstoull_l;
extern __typeof (wcstod_l) __wcstod_l;
extern __typeof (wcstof_l) __wcstof_l;
extern __typeof (wcstold_l) __wcstold_l;
extern __typeof (wcsftime_l) __wcsftime_l;
libc_hidden_proto (__wcsftime_l)
libc_hidden_proto (__wcstof_internal)
libc_hidden_proto (__wcstod_internal)
libc_hidden_proto (__wcstold_internal)
libc_hidden_proto (__wcstol_internal)
libc_hidden_proto (__wcstoll_internal)
libc_hidden_proto (__wcstoul_internal)
libc_hidden_proto (__wcstoull_internal)
libc_hidden_proto (__wcscasecmp_l)
libc_hidden_proto (__wcsncasecmp_l)
libc_hidden_proto (fputws_unlocked)
libc_hidden_proto (putwc_unlocked)
libc_hidden_proto (putwc)
libc_hidden_proto (vswscanf)
libc_hidden_proto (mbrtowc)
libc_hidden_proto (wcrtomb)
libc_hidden_proto (wcscmp)
libc_hidden_proto (wcsftime)
libc_hidden_proto (wcsspn)
libc_hidden_proto (wcschr)
libc_hidden_proto (wcscoll)
libc_hidden_proto (wcspbrk)
libc_hidden_proto (wmemchr)
libc_hidden_proto (wmemset)
/* Now define the internal interfaces. */
extern int __wcscasecmp (__const wchar_t *__s1, __const wchar_t *__s2)
__attribute_pure__;
@@ -63,8 +18,6 @@ extern int __mbsinit (__const __mbstate_t *__ps);
extern size_t __mbrtowc (wchar_t *__restrict __pwc,
__const char *__restrict __s, size_t __n,
__mbstate_t *__restrict __p);
libc_hidden_proto (__mbrtowc)
libc_hidden_proto (__mbrlen)
extern size_t __wcrtomb (char *__restrict __s, wchar_t __wc,
__mbstate_t *__restrict __ps);
extern size_t __mbsrtowcs (wchar_t *__restrict __dst,
@@ -109,9 +62,5 @@ extern int __vfwprintf (__FILE *__restrict __s,
__gnuc_va_list __arg)
/* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
/* Internal functions. */
extern size_t __mbsrtowcs_l (wchar_t *dst, const char **src, size_t len,
mbstate_t *ps, __locale_t l) attribute_hidden;
# endif
#endif
@@ -0,0 +1,12 @@
#ifndef _WCTYPE_H
#include <wctype/wctype.h>
/* Internal interfaces. */
extern int __iswspace (wint_t __wc);
extern int __iswctype (wint_t __wc, wctype_t __desc);
extern wctype_t __wctype (__const char *__property);
extern wint_t __towctrans (wint_t __wc, wctrans_t __desc);
#endif