Skip to contentSkip to conversation

add binary printf

PATCH In review Lai Jiangshan 1 participant 1 message Dec 31, 2008

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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

---
 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
index d18fc19..27ac317 100644
@@ -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
index fd4118e..aa16cd6 100644
@@ -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