0001
0002 #ifndef __PSTORE_INTERNAL_H__
0003 #define __PSTORE_INTERNAL_H__
0004
0005 #include <linux/types.h>
0006 #include <linux/time.h>
0007 #include <linux/pstore.h>
0008
0009 extern unsigned long kmsg_bytes;
0010
0011 #ifdef CONFIG_PSTORE_FTRACE
0012 extern void pstore_register_ftrace(void);
0013 extern void pstore_unregister_ftrace(void);
0014 ssize_t pstore_ftrace_combine_log(char **dest_log, size_t *dest_log_size,
0015 const char *src_log, size_t src_log_size);
0016 #else
0017 static inline void pstore_register_ftrace(void) {}
0018 static inline void pstore_unregister_ftrace(void) {}
0019 static inline ssize_t
0020 pstore_ftrace_combine_log(char **dest_log, size_t *dest_log_size,
0021 const char *src_log, size_t src_log_size)
0022 {
0023 *dest_log_size = 0;
0024 return 0;
0025 }
0026 #endif
0027
0028 #ifdef CONFIG_PSTORE_PMSG
0029 extern void pstore_register_pmsg(void);
0030 extern void pstore_unregister_pmsg(void);
0031 #else
0032 static inline void pstore_register_pmsg(void) {}
0033 static inline void pstore_unregister_pmsg(void) {}
0034 #endif
0035
0036 extern struct pstore_info *psinfo;
0037
0038 extern void pstore_set_kmsg_bytes(int);
0039 extern void pstore_get_records(int);
0040 extern void pstore_get_backend_records(struct pstore_info *psi,
0041 struct dentry *root, int quiet);
0042 extern int pstore_put_backend_records(struct pstore_info *psi);
0043 extern int pstore_mkfile(struct dentry *root,
0044 struct pstore_record *record);
0045 extern void pstore_record_init(struct pstore_record *record,
0046 struct pstore_info *psi);
0047
0048
0049 int __init pstore_init_fs(void);
0050 void __exit pstore_exit_fs(void);
0051
0052 #endif