]>
Commit | Line | Data |
---|---|---|
c6251f03 | 1 | /* Prototypes for compatibility double == long double entry points. |
6d7e8eda | 2 | Copyright (C) 2006-2023 Free Software Foundation, Inc. |
c6251f03 | 3 | This file is part of the GNU C Library. |
c6251f03 RM |
4 | |
5 | The GNU C Library is free software; you can redistribute it and/or | |
6 | modify it under the terms of the GNU Lesser General Public | |
7 | License as published by the Free Software Foundation; either | |
8 | version 2.1 of the License, or (at your option) any later version. | |
9 | ||
10 | The GNU C Library is distributed in the hope that it will be useful, | |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 | Lesser General Public License for more details. | |
14 | ||
15 | You should have received a copy of the GNU Lesser General Public | |
59ba27a6 | 16 | License along with the GNU C Library; if not, see |
5a82c748 | 17 | <https://www.gnu.org/licenses/>. */ |
c6251f03 RM |
18 | |
19 | #ifndef __NLDBL_COMPAT_H | |
20 | #define __NLDBL_COMPAT_H 1 | |
21 | ||
a1987621 JM |
22 | /* Ensure calls to libm functions from libnldbl_nonshared.a call |
23 | public names, not libm-internal names. */ | |
24 | #define NO_MATH_REDIRECT | |
25 | ||
c6251f03 RM |
26 | /* Avoid long double prototypes. */ |
27 | #define __NO_LONG_DOUBLE_MATH 1 | |
6e1f6440 | 28 | #include <argp.h> |
90188e7d | 29 | #include <err.h> |
d11086a9 | 30 | #include <error.h> |
c6251f03 RM |
31 | #include <stdarg.h> |
32 | #include <stdlib.h> | |
423c2b9d | 33 | #include <stdint.h> |
c6251f03 RM |
34 | #include <stdio.h> |
35 | #include <printf.h> | |
36 | #include <wchar.h> | |
37 | #include <math.h> | |
38 | #include <monetary.h> | |
39 | #include <sys/syslog.h> | |
40 | ||
54e98f69 | 41 | |
926320ab RM |
42 | /* Declare the __nldbl_NAME function the wrappers call that's in libc.so. */ |
43 | #define NLDBL_DECL(name) extern __typeof (name) __nldbl_##name | |
c6251f03 RM |
44 | |
45 | NLDBL_DECL (_IO_vfscanf); | |
46 | NLDBL_DECL (vfscanf); | |
47 | NLDBL_DECL (vfwscanf); | |
54e98f69 RM |
48 | NLDBL_DECL (obstack_vprintf); |
49 | NLDBL_DECL (vasprintf); | |
c6251f03 RM |
50 | NLDBL_DECL (dprintf); |
51 | NLDBL_DECL (vdprintf); | |
52 | NLDBL_DECL (fprintf); | |
53 | NLDBL_DECL (vfprintf); | |
54 | NLDBL_DECL (vfwprintf); | |
54e98f69 RM |
55 | NLDBL_DECL (vsnprintf); |
56 | NLDBL_DECL (vsprintf); | |
57 | NLDBL_DECL (vsscanf); | |
58 | NLDBL_DECL (vswprintf); | |
59 | NLDBL_DECL (vswscanf); | |
c6251f03 RM |
60 | NLDBL_DECL (__asprintf); |
61 | NLDBL_DECL (asprintf); | |
62 | NLDBL_DECL (__printf_fp); | |
54e98f69 | 63 | NLDBL_DECL (printf_size); |
c6251f03 RM |
64 | NLDBL_DECL (syslog); |
65 | NLDBL_DECL (vsyslog); | |
66 | NLDBL_DECL (qecvt); | |
67 | NLDBL_DECL (qfcvt); | |
68 | NLDBL_DECL (qgcvt); | |
874aa523 UD |
69 | NLDBL_DECL (__isoc99_scanf); |
70 | NLDBL_DECL (__isoc99_fscanf); | |
71 | NLDBL_DECL (__isoc99_sscanf); | |
72 | NLDBL_DECL (__isoc99_vscanf); | |
73 | NLDBL_DECL (__isoc99_vfscanf); | |
74 | NLDBL_DECL (__isoc99_vsscanf); | |
75 | NLDBL_DECL (__isoc99_wscanf); | |
76 | NLDBL_DECL (__isoc99_fwscanf); | |
77 | NLDBL_DECL (__isoc99_swscanf); | |
78 | NLDBL_DECL (__isoc99_vwscanf); | |
79 | NLDBL_DECL (__isoc99_vfwscanf); | |
80 | NLDBL_DECL (__isoc99_vswscanf); | |
6e1f6440 GG |
81 | NLDBL_DECL (argp_error); |
82 | NLDBL_DECL (argp_failure); | |
90188e7d GG |
83 | NLDBL_DECL (warn); |
84 | NLDBL_DECL (vwarn); | |
85 | NLDBL_DECL (warnx); | |
86 | NLDBL_DECL (vwarnx); | |
87 | NLDBL_DECL (err); | |
88 | NLDBL_DECL (verr); | |
89 | NLDBL_DECL (errx); | |
90 | NLDBL_DECL (verrx); | |
d11086a9 GG |
91 | NLDBL_DECL (error); |
92 | NLDBL_DECL (error_at_line); | |
54e98f69 | 93 | |
c75772e3 ZW |
94 | /* These do not exist in the normal interface, but must exist in the |
95 | __nldbl interface so that they can be called from libnldbl. */ | |
8c22dca3 RM |
96 | extern ssize_t __nldbl___vstrfmon (char *, size_t, const char *, va_list) |
97 | __THROW; | |
c75772e3 ZW |
98 | extern ssize_t __nldbl___vstrfmon_l (char *, size_t, locale_t, const char *, |
99 | va_list) | |
100 | __THROW; | |
8c22dca3 | 101 | |
54e98f69 RM |
102 | /* These don't use __typeof because they were not declared by the headers, |
103 | since we don't compile with _FORTIFY_SOURCE. */ | |
c6251f03 | 104 | extern int __nldbl___vfprintf_chk (FILE *__restrict, int, |
63fb8f9a | 105 | const char *__restrict, __gnuc_va_list); |
c6251f03 | 106 | extern int __nldbl___vfwprintf_chk (FILE *__restrict, int, |
54e98f69 | 107 | const wchar_t *__restrict, __gnuc_va_list); |
c6251f03 | 108 | extern int __nldbl___vsprintf_chk (char *__restrict, int, size_t, |
63fb8f9a ZW |
109 | const char *__restrict, __gnuc_va_list) |
110 | __THROW; | |
c6251f03 | 111 | extern int __nldbl___vsnprintf_chk (char *__restrict, size_t, int, size_t, |
63fb8f9a | 112 | const char *__restrict, __gnuc_va_list) |
54e98f69 | 113 | __THROW; |
c6251f03 RM |
114 | extern int __nldbl___vswprintf_chk (wchar_t *__restrict, size_t, int, size_t, |
115 | const wchar_t *__restrict, __gnuc_va_list) | |
54e98f69 | 116 | __THROW; |
63fb8f9a | 117 | extern int __nldbl___vasprintf_chk (char **, int, const char *, __gnuc_va_list) |
dff37515 | 118 | __THROW; |
63fb8f9a | 119 | extern int __nldbl___vdprintf_chk (int, int, const char *, __gnuc_va_list); |
dff37515 | 120 | extern int __nldbl___obstack_vprintf_chk (struct obstack *, int, const char *, |
63fb8f9a | 121 | __gnuc_va_list) __THROW; |
8c22dca3 | 122 | extern void __nldbl___vsyslog_chk (int, int, const char *, va_list); |
c6251f03 | 123 | |
d8742dd8 JM |
124 | /* The original declarations of these were hidden by the including |
125 | file. */ | |
126 | extern double __nldbl_daddl (double, double) __THROW; | |
632a6cbe | 127 | extern double __nldbl_ddivl (double, double) __THROW; |
69a01461 | 128 | extern double __nldbl_dmull (double, double) __THROW; |
8d3f9e85 | 129 | extern double __nldbl_dsubl (double, double) __THROW; |
c6251f03 RM |
130 | |
131 | #endif /* __NLDBL_COMPAT_H */ |