| 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
| 2 | #ifndef _LINUX_KERNEL_SPRINTF_H_ |
| 3 | #define _LINUX_KERNEL_SPRINTF_H_ |
| 4 | |
| 5 | #include <linux/compiler_attributes.h> |
| 6 | #include <linux/types.h> |
| 7 | |
| 8 | int num_to_str(char *buf, int size, unsigned long long num, unsigned int width); |
| 9 | |
| 10 | __printf(2, 3) int sprintf(char *buf, const char * fmt, ...); |
| 11 | __printf(2, 0) int vsprintf(char *buf, const char *, va_list); |
| 12 | __printf(3, 4) int snprintf(char *buf, size_t size, const char *fmt, ...); |
| 13 | __printf(3, 0) int vsnprintf(char *buf, size_t size, const char *fmt, va_list args); |
| 14 | __printf(3, 4) int scnprintf(char *buf, size_t size, const char *fmt, ...); |
| 15 | __printf(3, 0) int vscnprintf(char *buf, size_t size, const char *fmt, va_list args); |
| 16 | __printf(2, 3) __malloc char *kasprintf(gfp_t gfp, const char *fmt, ...); |
| 17 | __printf(2, 0) __malloc char *kvasprintf(gfp_t gfp, const char *fmt, va_list args); |
| 18 | __printf(2, 0) const char *kvasprintf_const(gfp_t gfp, const char *fmt, va_list args); |
| 19 | |
| 20 | __scanf(2, 3) int sscanf(const char *, const char *, ...); |
| 21 | __scanf(2, 0) int vsscanf(const char *, const char *, va_list); |
| 22 | |
| 23 | /* These are for specific cases, do not use without real need */ |
| 24 | extern bool no_hash_pointers; |
| 25 | int no_hash_pointers_enable(char *str); |
| 26 | |
| 27 | /* Used for Rust formatting ('%pA') */ |
| 28 | char *rust_fmt_argument(char *buf, char *end, const void *ptr); |
| 29 | |
| 30 | #endif /* _LINUX_KERNEL_SPRINTF_H */ |
| 31 | |