seq_file: add function to write binary data
RFC PATCH 6/8 seq_file: add function to write binary data
From: Peter Oberparleiter <[email protected]>
seq_write() can be used to construct seq_files containing arbitrary data. Required by the gcov-profiling interface to synthesize binary profiling data files.
Signed-off-by Peter Oberparleiter <[email protected]>
--- fs/seq_file.c | 12 ++++++++++++ include/linux/seq_file.h | 1 + 2 files changed, 13 insertions(+)
fs/seq_file.c +12 -0
@@ -483,6 +483,18 @@ int seq_puts(struct seq_file *m, const c }EXPORT_SYMBOL (seq_puts); +int seq_write (struct seq_file *m,const void *s,size_t len) +{ +if (m->count + len < m->size) { +memcpy (m->buf + m->count, s, len); + m->count += len; +return 0 ; + } + m->count = m->size; +return -1 ; +} +EXPORT_SYMBOL (seq_write); +struct list_head *seq_list_start (struct list_head *head,loff_t pos) {struct list_head *lh;
include/linux/seq_file.h +1 -0
@@ -37,6 +37,7 @@ int seq_release(struct inode *, struct fint seq_escape (struct seq_file *,const char *,const char *);int seq_putc (struct seq_file *m,char c);int seq_puts (struct seq_file *m,const char *s); +int seq_write (struct seq_file *m,const void *s,size_t len);int seq_printf (struct seq_file *,const char *, ...) __attribute__ ((format (printf,2 ,3 )));