| Huang Ying | 9dc9666 | 2010-05-18 14:35:13 +0800 | [diff] [blame] | 1 | /* | 
 | 2 |  * apei.h - ACPI Platform Error Interface | 
 | 3 |  */ | 
 | 4 |  | 
 | 5 | #ifndef ACPI_APEI_H | 
 | 6 | #define ACPI_APEI_H | 
 | 7 |  | 
| Huang Ying | a08f82d | 2010-05-18 14:35:21 +0800 | [diff] [blame] | 8 | #include <linux/acpi.h> | 
 | 9 | #include <linux/cper.h> | 
 | 10 | #include <asm/ioctls.h> | 
 | 11 |  | 
 | 12 | #define APEI_ERST_INVALID_RECORD_ID	0xffffffffffffffffULL | 
 | 13 |  | 
 | 14 | #define APEI_ERST_CLEAR_RECORD		_IOW('E', 1, u64) | 
 | 15 | #define APEI_ERST_GET_RECORD_COUNT	_IOR('E', 2, u32) | 
 | 16 |  | 
 | 17 | #ifdef __KERNEL__ | 
 | 18 |  | 
| Huang Ying | 9dc9666 | 2010-05-18 14:35:13 +0800 | [diff] [blame] | 19 | extern int hest_disable; | 
| Huang Ying | a08f82d | 2010-05-18 14:35:21 +0800 | [diff] [blame] | 20 | extern int erst_disable; | 
| Huang Ying | 9dc9666 | 2010-05-18 14:35:13 +0800 | [diff] [blame] | 21 |  | 
 | 22 | typedef int (*apei_hest_func_t)(struct acpi_hest_header *hest_hdr, void *data); | 
 | 23 | int apei_hest_parse(apei_hest_func_t func, void *data); | 
 | 24 |  | 
| Huang Ying | a08f82d | 2010-05-18 14:35:21 +0800 | [diff] [blame] | 25 | int erst_write(const struct cper_record_header *record); | 
 | 26 | ssize_t erst_get_record_count(void); | 
 | 27 | int erst_get_next_record_id(u64 *record_id); | 
 | 28 | ssize_t erst_read(u64 record_id, struct cper_record_header *record, | 
 | 29 | 		  size_t buflen); | 
 | 30 | ssize_t erst_read_next(struct cper_record_header *record, size_t buflen); | 
 | 31 | int erst_clear(u64 record_id); | 
 | 32 |  | 
 | 33 | #endif | 
| Huang Ying | 9dc9666 | 2010-05-18 14:35:13 +0800 | [diff] [blame] | 34 | #endif |