Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
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 /* Called during pstore init/exit. */
0049 int __init  pstore_init_fs(void);
0050 void __exit pstore_exit_fs(void);
0051 
0052 #endif