/* SPDX-License-Identifier: GPL-2.0 */ #ifndef __PSTORE_INTERNAL_H__ #define __PSTORE_INTERNAL_H__ #include #include #include extern unsigned long kmsg_bytes; #ifdef CONFIG_PSTORE_FTRACE extern void pstore_register_ftrace(void); extern void pstore_unregister_ftrace(void); ssize_t pstore_ftrace_combine_log(char **dest_log, size_t *dest_log_size, const char *src_log, size_t src_log_size); #else static inline void pstore_register_ftrace(void) {} static inline void pstore_unregister_ftrace(void) {} static inline ssize_t pstore_ftrace_combine_log(char **dest_log, size_t *dest_log_size, const char *src_log, size_t src_log_size) { *dest_log_size = 0; return 0; } #endif #ifdef CONFIG_PSTORE_PMSG extern void pstore_register_pmsg(void); extern void pstore_unregister_pmsg(void); #else static inline void pstore_register_pmsg(void) {} static inline void pstore_unregister_pmsg(void) {} #endif extern struct pstore_info *psinfo; extern void pstore_set_kmsg_bytes(int); extern void pstore_get_records(int); extern void pstore_get_backend_records(struct pstore_info *psi, struct dentry *root, int quiet); extern int pstore_put_backend_records(struct pstore_info *psi); extern int pstore_mkfile(struct dentry *root, struct pstore_record *record); extern void pstore_record_init(struct pstore_record *record, struct pstore_info *psi); /* Called during pstore init/exit. */ int __init pstore_init_fs(void); void __exit pstore_exit_fs(void); #endif