internal.h (1534B)
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef __PSTORE_INTERNAL_H__ 3#define __PSTORE_INTERNAL_H__ 4 5#include <linux/types.h> 6#include <linux/time.h> 7#include <linux/pstore.h> 8 9extern unsigned long kmsg_bytes; 10 11#ifdef CONFIG_PSTORE_FTRACE 12extern void pstore_register_ftrace(void); 13extern void pstore_unregister_ftrace(void); 14ssize_t pstore_ftrace_combine_log(char **dest_log, size_t *dest_log_size, 15 const char *src_log, size_t src_log_size); 16#else 17static inline void pstore_register_ftrace(void) {} 18static inline void pstore_unregister_ftrace(void) {} 19static inline ssize_t 20pstore_ftrace_combine_log(char **dest_log, size_t *dest_log_size, 21 const char *src_log, size_t src_log_size) 22{ 23 *dest_log_size = 0; 24 return 0; 25} 26#endif 27 28#ifdef CONFIG_PSTORE_PMSG 29extern void pstore_register_pmsg(void); 30extern void pstore_unregister_pmsg(void); 31#else 32static inline void pstore_register_pmsg(void) {} 33static inline void pstore_unregister_pmsg(void) {} 34#endif 35 36extern struct pstore_info *psinfo; 37 38extern void pstore_set_kmsg_bytes(int); 39extern void pstore_get_records(int); 40extern void pstore_get_backend_records(struct pstore_info *psi, 41 struct dentry *root, int quiet); 42extern int pstore_put_backend_records(struct pstore_info *psi); 43extern int pstore_mkfile(struct dentry *root, 44 struct pstore_record *record); 45extern void pstore_record_init(struct pstore_record *record, 46 struct pstore_info *psi); 47 48/* Called during pstore init/exit. */ 49int __init pstore_init_fs(void); 50void __exit pstore_exit_fs(void); 51 52#endif