xref: /linux-6.15/include/linux/sprintf.h (revision 92d2873b)
139ced19bSAndy Shevchenko /* SPDX-License-Identifier: GPL-2.0 */
239ced19bSAndy Shevchenko #ifndef _LINUX_KERNEL_SPRINTF_H_
339ced19bSAndy Shevchenko #define _LINUX_KERNEL_SPRINTF_H_
439ced19bSAndy Shevchenko 
539ced19bSAndy Shevchenko #include <linux/compiler_attributes.h>
639ced19bSAndy Shevchenko #include <linux/types.h>
739ced19bSAndy Shevchenko 
839ced19bSAndy Shevchenko int num_to_str(char *buf, int size, unsigned long long num, unsigned int width);
939ced19bSAndy Shevchenko 
1039ced19bSAndy Shevchenko __printf(2, 3) int sprintf(char *buf, const char * fmt, ...);
1139ced19bSAndy Shevchenko __printf(2, 0) int vsprintf(char *buf, const char *, va_list);
1239ced19bSAndy Shevchenko __printf(3, 4) int snprintf(char *buf, size_t size, const char *fmt, ...);
1339ced19bSAndy Shevchenko __printf(3, 0) int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
1439ced19bSAndy Shevchenko __printf(3, 4) int scnprintf(char *buf, size_t size, const char *fmt, ...);
1539ced19bSAndy Shevchenko __printf(3, 0) int vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
1639ced19bSAndy Shevchenko __printf(2, 3) __malloc char *kasprintf(gfp_t gfp, const char *fmt, ...);
1739ced19bSAndy Shevchenko __printf(2, 0) __malloc char *kvasprintf(gfp_t gfp, const char *fmt, va_list args);
1839ced19bSAndy Shevchenko __printf(2, 0) const char *kvasprintf_const(gfp_t gfp, const char *fmt, va_list args);
1939ced19bSAndy Shevchenko 
2039ced19bSAndy Shevchenko __scanf(2, 3) int sscanf(const char *, const char *, ...);
2139ced19bSAndy Shevchenko __scanf(2, 0) int vsscanf(const char *, const char *, va_list);
2239ced19bSAndy Shevchenko 
2366553609SAndy Shevchenko /* These are for specific cases, do not use without real need */
2466553609SAndy Shevchenko extern bool no_hash_pointers;
2539ced19bSAndy Shevchenko int no_hash_pointers_enable(char *str);
2639ced19bSAndy Shevchenko 
27*92d2873bSAlice Ryhl /* Used for Rust formatting ('%pA') */
28*92d2873bSAlice Ryhl char *rust_fmt_argument(char *buf, char *end, const void *ptr);
29*92d2873bSAlice Ryhl 
3039ced19bSAndy Shevchenko #endif	/* _LINUX_KERNEL_SPRINTF_H */
31