]>
Commit | Line | Data |
---|---|---|
155c5813 | 1 | /* Checking macros for syslog functions. |
dff8da6b | 2 | Copyright (C) 2005-2024 Free Software Foundation, Inc. |
155c5813 UD |
3 | This file is part of the GNU C Library. |
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/>. */ |
155c5813 UD |
18 | |
19 | #ifndef _SYS_SYSLOG_H | |
20 | # error "Never include <bits/syslog.h> directly; use <sys/syslog.h> instead." | |
21 | #endif | |
22 | ||
ba745eff | 23 | #include <bits/syslog-decl.h> |
227df624 TMQMF |
24 | |
25 | #include <bits/floatn.h> | |
26 | #if defined __LDBL_COMPAT || __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI == 1 | |
27 | # include <bits/syslog-ldbl.h> | |
28 | #endif | |
29 | ||
30 | /* The following functions must be used only after applying all asm | |
31 | redirections, e.g. long double asm redirections. */ | |
32 | ||
de1c3ebb | 33 | #ifdef __va_arg_pack |
5ac3ea17 | 34 | __fortify_function void |
a784e502 | 35 | syslog (int __pri, const char *__fmt, ...) |
de1c3ebb | 36 | { |
a7bbf3d7 | 37 | __syslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ()); |
de1c3ebb | 38 | } |
471c3c7a AZ |
39 | #elif __fortify_use_clang && defined __USE_MISC |
40 | __fortify_function_error_function __attribute_overloadable__ void | |
41 | syslog (int __pri, __fortify_clang_overload_arg (const char *, , __fmt), ...) | |
42 | { | |
43 | __gnuc_va_list __fortify_ap; | |
44 | __builtin_va_start (__fortify_ap, __fmt); | |
45 | __vsyslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt, __fortify_ap); | |
46 | __builtin_va_end (__fortify_ap); | |
47 | } | |
de1c3ebb UD |
48 | #elif !defined __cplusplus |
49 | # define syslog(pri, ...) \ | |
155c5813 | 50 | __syslog_chk (pri, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__) |
de1c3ebb | 51 | #endif |
155c5813 UD |
52 | |
53 | ||
498afc54 | 54 | #ifdef __USE_MISC |
471c3c7a AZ |
55 | __fortify_function __attribute_overloadable__ void |
56 | vsyslog (int __pri, __fortify_clang_overload_arg (const char *, ,__fmt), | |
57 | __gnuc_va_list __ap) | |
de1c3ebb | 58 | { |
a7bbf3d7 | 59 | __vsyslog_chk (__pri, __USE_FORTIFY_LEVEL - 1, __fmt, __ap); |
de1c3ebb | 60 | } |
155c5813 | 61 | #endif |