diff options
Diffstat (limited to 'include/linux/trace_seq.h')
| -rw-r--r-- | include/linux/trace_seq.h | 36 | 
1 files changed, 23 insertions, 13 deletions
| diff --git a/include/linux/trace_seq.h b/include/linux/trace_seq.h index 136116924d8d..ea6c9dea79e3 100644 --- a/include/linux/trace_seq.h +++ b/include/linux/trace_seq.h @@ -25,6 +25,21 @@ trace_seq_init(struct trace_seq *s)  	s->full = 0;  } +/** + * trace_seq_buffer_ptr - return pointer to next location in buffer + * @s: trace sequence descriptor + * + * Returns the pointer to the buffer where the next write to + * the buffer will happen. This is useful to save the location + * that is about to be written to and then return the result + * of that write. + */ +static inline unsigned char * +trace_seq_buffer_ptr(struct trace_seq *s) +{ +	return s->buffer + s->len; +} +  /*   * Currently only defined when tracing is enabled.   */ @@ -36,14 +51,13 @@ int trace_seq_vprintf(struct trace_seq *s, const char *fmt, va_list args);  extern int  trace_seq_bprintf(struct trace_seq *s, const char *fmt, const u32 *binary);  extern int trace_print_seq(struct seq_file *m, struct trace_seq *s); -extern ssize_t trace_seq_to_user(struct trace_seq *s, char __user *ubuf, -				 size_t cnt); +extern int trace_seq_to_user(struct trace_seq *s, char __user *ubuf, +			     int cnt);  extern int trace_seq_puts(struct trace_seq *s, const char *str);  extern int trace_seq_putc(struct trace_seq *s, unsigned char c); -extern int trace_seq_putmem(struct trace_seq *s, const void *mem, size_t len); +extern int trace_seq_putmem(struct trace_seq *s, const void *mem, unsigned int len);  extern int trace_seq_putmem_hex(struct trace_seq *s, const void *mem, -				size_t len); -extern void *trace_seq_reserve(struct trace_seq *s, size_t len); +				unsigned int len);  extern int trace_seq_path(struct trace_seq *s, const struct path *path);  extern int trace_seq_bitmask(struct trace_seq *s, const unsigned long *maskp, @@ -71,8 +85,8 @@ static inline int trace_print_seq(struct seq_file *m, struct trace_seq *s)  {  	return 0;  } -static inline ssize_t trace_seq_to_user(struct trace_seq *s, char __user *ubuf, -				 size_t cnt) +static inline int trace_seq_to_user(struct trace_seq *s, char __user *ubuf, +				    int cnt)  {  	return 0;  } @@ -85,19 +99,15 @@ static inline int trace_seq_putc(struct trace_seq *s, unsigned char c)  	return 0;  }  static inline int -trace_seq_putmem(struct trace_seq *s, const void *mem, size_t len) +trace_seq_putmem(struct trace_seq *s, const void *mem, unsigned int len)  {  	return 0;  }  static inline int trace_seq_putmem_hex(struct trace_seq *s, const void *mem, -				       size_t len) +				       unsigned int len)  {  	return 0;  } -static inline void *trace_seq_reserve(struct trace_seq *s, size_t len) -{ -	return NULL; -}  static inline int trace_seq_path(struct trace_seq *s, const struct path *path)  {  	return 0; | 
