block: uapi: fix comment about block device ioctl
[linux-2.6-microblaze.git] / include / linux / kmsg_dump.h
index 3378bcb..906521c 100644 (file)
@@ -29,6 +29,16 @@ enum kmsg_dump_reason {
        KMSG_DUMP_MAX
 };
 
+/**
+ * struct kmsg_dump_iter - iterator for retrieving kernel messages
+ * @cur_seq:   Points to the oldest message to dump
+ * @next_seq:  Points after the newest message to dump
+ */
+struct kmsg_dump_iter {
+       u64     cur_seq;
+       u64     next_seq;
+};
+
 /**
  * struct kmsg_dumper - kernel crash message dumper structure
  * @list:      Entry in the dumper list (private)
@@ -41,31 +51,19 @@ struct kmsg_dumper {
        struct list_head list;
        void (*dump)(struct kmsg_dumper *dumper, enum kmsg_dump_reason reason);
        enum kmsg_dump_reason max_reason;
-       bool active;
        bool registered;
-
-       /* private state of the kmsg iterator */
-       u32 cur_idx;
-       u32 next_idx;
-       u64 cur_seq;
-       u64 next_seq;
 };
 
 #ifdef CONFIG_PRINTK
 void kmsg_dump(enum kmsg_dump_reason reason);
 
-bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper, bool syslog,
-                              char *line, size_t size, size_t *len);
-
-bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog,
+bool kmsg_dump_get_line(struct kmsg_dump_iter *iter, bool syslog,
                        char *line, size_t size, size_t *len);
 
-bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog,
-                         char *buf, size_t size, size_t *len);
-
-void kmsg_dump_rewind_nolock(struct kmsg_dumper *dumper);
+bool kmsg_dump_get_buffer(struct kmsg_dump_iter *iter, bool syslog,
+                         char *buf, size_t size, size_t *len_out);
 
-void kmsg_dump_rewind(struct kmsg_dumper *dumper);
+void kmsg_dump_rewind(struct kmsg_dump_iter *iter);
 
 int kmsg_dump_register(struct kmsg_dumper *dumper);
 
@@ -77,30 +75,19 @@ static inline void kmsg_dump(enum kmsg_dump_reason reason)
 {
 }
 
-static inline bool kmsg_dump_get_line_nolock(struct kmsg_dumper *dumper,
-                                            bool syslog, const char *line,
-                                            size_t size, size_t *len)
-{
-       return false;
-}
-
-static inline bool kmsg_dump_get_line(struct kmsg_dumper *dumper, bool syslog,
+static inline bool kmsg_dump_get_line(struct kmsg_dump_iter *iter, bool syslog,
                                const char *line, size_t size, size_t *len)
 {
        return false;
 }
 
-static inline bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog,
+static inline bool kmsg_dump_get_buffer(struct kmsg_dump_iter *iter, bool syslog,
                                        char *buf, size_t size, size_t *len)
 {
        return false;
 }
 
-static inline void kmsg_dump_rewind_nolock(struct kmsg_dumper *dumper)
-{
-}
-
-static inline void kmsg_dump_rewind(struct kmsg_dumper *dumper)
+static inline void kmsg_dump_rewind(struct kmsg_dump_iter *iter)
 {
 }