2#ifndef _LINUX_SEQ_BUF_H
3#define _LINUX_SEQ_BUF_H
37#define DECLARE_SEQ_BUF(NAME, SIZE) \
38 struct seq_buf NAME = { \
39 .buffer = (char[SIZE]) { 0 }, \
43static inline void seq_buf_clear(
struct seq_buf *s)
51seq_buf_init(
struct seq_buf *s,
char *buf,
unsigned int size)
63seq_buf_has_overflowed(
struct seq_buf *s)
69seq_buf_set_overflow(
struct seq_buf *s)
77static inline unsigned int
78seq_buf_buffer_left(
struct seq_buf *s)
80 if (seq_buf_has_overflowed(s))
87static inline unsigned int seq_buf_used(
struct seq_buf *s)
108static inline const char *seq_buf_str(
struct seq_buf *s)
110 if (WARN_ON(s->
size == 0))
113 if (seq_buf_buffer_left(s))
129static inline size_t seq_buf_get_buf(
struct seq_buf *s,
char **bufp)
151static inline void seq_buf_commit(
struct seq_buf *s,
int num)
154 seq_buf_set_overflow(s);
170static inline int seq_buf_pop(
struct seq_buf *s)
185 size_t start,
int cnt);
193 int prefix_type,
int rowsize,
int groupsize,
194 const
void *buf,
size_t len,
bool ascii);
196#ifdef CONFIG_BINARY_PRINTF
198int seq_buf_bprintf(struct
seq_buf *s, const
char *
fmt, const
u32 *binary);
char * va_list
Definition acmsvcex.h:186
#define NULL
Definition actypes.h:561
#define __printf(fmt_idx, arg_idx)
Definition compiler.h:144
#define __user
Definition compiler.h:63
size_t size
Definition drm_bridge.h:1299
size_t len
Definition initial.c:23
#define BUG_ON(condition)
Definition kernel.h:730
uint32_t u32
Definition kernel.h:16
#define min(a, b)
Definition minmax.h:24
int seq_buf_to_user(struct seq_buf *s, char __user *ubuf, size_t start, int cnt)
int seq_buf_puts(struct seq_buf *s, const char *str)
void seq_buf_do_printk(struct seq_buf *s, const char *lvl)
int seq_buf_hex_dump(struct seq_buf *s, const char *prefix_str, int prefix_type, int rowsize, int groupsize, const void *buf, size_t len, bool ascii)
const char const char va_list args
Definition seq_buf.h:182
int seq_buf_putmem_hex(struct seq_buf *s, const void *mem, unsigned int len)
int seq_buf_putc(struct seq_buf *s, unsigned char c)
int seq_buf_print_seq(struct seq_file *m, struct seq_buf *s)
const char * fmt
Definition seq_buf.h:180
int seq_buf_path(struct seq_buf *s, const struct path *path, const char *esc)
int seq_buf_putmem(struct seq_buf *s, const void *mem, unsigned int len)
char * buffer
Definition seq_buf.h:32
size_t size
Definition seq_buf.h:33
size_t len
Definition seq_buf.h:34