xref: /linux/include/linux/sprintf.h (revision 35a813e010b99894bb4706c56c16a580bf7959c2)
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 #include <linux/stdarg.h>
8 
9 int num_to_str(char *buf, int size, unsigned long long num, unsigned int width);
10 
11 __printf(2, 3) int sprintf(char *buf, const char * fmt, ...);
12 __printf(2, 0) int vsprintf(char *buf, const char *, va_list);
13 __printf(3, 4) int snprintf(char *buf, size_t size, const char *fmt, ...);
14 __printf(3, 0) int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
15 __printf(3, 4) int scnprintf(char *buf, size_t size, const char *fmt, ...);
16 __printf(3, 0) int vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
17 __printf(2, 3) __malloc char *kasprintf(gfp_t gfp, const char *fmt, ...);
18 __printf(2, 0) __malloc char *kvasprintf(gfp_t gfp, const char *fmt, va_list args);
19 __printf(2, 0) const char *kvasprintf_const(gfp_t gfp, const char *fmt, va_list args);
20 
21 __scanf(2, 3) int sscanf(const char *, const char *, ...);
22 __scanf(2, 0) int vsscanf(const char *, const char *, va_list);
23 
24 /* These are for specific cases, do not use without real need */
25 extern bool no_hash_pointers;
26 void hash_pointers_finalize(bool slub_debug);
27 
28 /* Used for Rust formatting ('%pA') */
29 char *rust_fmt_argument(char *buf, char *end, const void *ptr);
30 
31 #endif	/* _LINUX_KERNEL_SPRINTF_H */
32