add binary printf
Subsystems (3)
PATCH 1/5 add binary printf
Impact: Add APIs for binary trace printk infrastructure
vbin_printf(): write args to binary buffer, string is copied when "%s" is occurred.
bstr_printf(): read from binary buffer for args and format a string
Signed-off-by Lai Jiangshan <[email protected]>
--- b/lib/Kconfig | 3 b/lib/vsprintf.c | 442 +++++++++++++++++++++++++++++++++++++++++++++++++ include/linux/string.h | 7 3 files changed, 452 insertions(+)
include/linux/string.h +7 -0
@@ -10,6 +10,7 @@#include <linux/compiler.h> /* for inline */ #include <linux/types.h> /* for size_t */ #include <linux/stddef.h> /* for NULL */ +#include <stdarg.h> extern char *strndup_user (const char __user *,long );
@@ -111,6 +112,12 @@ extern void argv_free(char **argv);extern bool sysfs_streq (const char *s1,const char *s2); +#ifdef CONFIG_BINARY_PRINTF +int vbin_printf (u32 *bin_buf,size_t size,const char *fmt,va_list args); +int bstr_printf (char *buf,size_t size,const char *fmt,const u32 *bin_buf); +int bprintf(u32 *bin_buf, size_t size, const char *fmt, ...) __printf(3, 4); +#endif +extern ssize_t memory_read_from_buffer (void *to,size_t count,loff_t *ppos,const void *from,size_t available);
lib/Kconfig +3 -0
@@ -2,6 +2,9 @@ # Library configuration # +config BINARY_PRINTF + def_bool n + menu "Library routines" config BITREVERSE
lib/vsprintf.c +442 -0
448 lines not on this page · raw message