Blame view
include/linux/pstore.h
1.89 KB
ca01d6dd2 pstore: new files... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
/* * Persistent Storage - pstore.h * * Copyright (C) 2010 Intel Corporation <tony.luck@intel.com> * * This code is the generic layer to export data records from platform * level persistent storage via a file system. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _LINUX_PSTORE_H #define _LINUX_PSTORE_H |
3d6d8d20e pstore: pass reas... |
24 25 |
#include <linux/time.h> #include <linux/kmsg_dump.h> |
ca01d6dd2 pstore: new files... |
26 27 28 29 30 31 32 33 34 35 |
/* types */ enum pstore_type_id { PSTORE_TYPE_DMESG = 0, PSTORE_TYPE_MCE = 1, PSTORE_TYPE_UNKNOWN = 255 }; struct pstore_info { struct module *owner; char *name; |
abd4d5587 pstore: change mu... |
36 |
spinlock_t buf_lock; /* serialize access to 'buf' */ |
ca01d6dd2 pstore: new files... |
37 38 |
char *buf; size_t bufsize; |
f6f828513 pstore: pass allo... |
39 |
struct mutex read_mutex; /* serialize open/read/close */ |
06cf91b4b pstore: fix pstor... |
40 41 |
int (*open)(struct pstore_info *psi); int (*close)(struct pstore_info *psi); |
8d38d74b6 pstore: fix one t... |
42 |
ssize_t (*read)(u64 *id, enum pstore_type_id *type, |
f6f828513 pstore: pass allo... |
43 44 |
struct timespec *time, char **buf, struct pstore_info *psi); |
3d6d8d20e pstore: pass reas... |
45 46 |
int (*write)(enum pstore_type_id type, enum kmsg_dump_reason reason, u64 *id, |
b238b8fa9 pstore: make psto... |
47 |
unsigned int part, size_t size, struct pstore_info *psi); |
56280682c pstore: Add extra... |
48 |
int (*erase)(enum pstore_type_id type, u64 id, |
638c1fd30 pstore: Extend AP... |
49 |
struct pstore_info *psi); |
638c1fd30 pstore: Extend AP... |
50 |
void *data; |
ca01d6dd2 pstore: new files... |
51 52 53 54 |
}; #ifdef CONFIG_PSTORE extern int pstore_register(struct pstore_info *); |
ca01d6dd2 pstore: new files... |
55 56 57 58 59 60 |
#else static inline int pstore_register(struct pstore_info *psi) { return -ENODEV; } |
ca01d6dd2 pstore: new files... |
61 62 63 |
#endif #endif /*_LINUX_PSTORE_H*/ |