linux/include/acpi/apei.h
<<
>>
Prefs
   1/*
   2 * apei.h - ACPI Platform Error Interface
   3 */
   4
   5#ifndef ACPI_APEI_H
   6#define ACPI_APEI_H
   7
   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
  19extern bool hest_disable;
  20extern int erst_disable;
  21#ifdef CONFIG_ACPI_APEI_GHES
  22extern bool ghes_disable;
  23#else
  24#define ghes_disable 1
  25#endif
  26
  27#ifdef CONFIG_ACPI_APEI
  28void __init acpi_hest_init(void);
  29#else
  30static inline void acpi_hest_init(void) { return; }
  31#endif
  32
  33typedef int (*apei_hest_func_t)(struct acpi_hest_header *hest_hdr, void *data);
  34int apei_hest_parse(apei_hest_func_t func, void *data);
  35
  36int erst_write(const struct cper_record_header *record);
  37ssize_t erst_get_record_count(void);
  38int erst_get_record_id_begin(int *pos);
  39int erst_get_record_id_next(int *pos, u64 *record_id);
  40void erst_get_record_id_end(void);
  41ssize_t erst_read(u64 record_id, struct cper_record_header *record,
  42                  size_t buflen);
  43int erst_clear(u64 record_id);
  44
  45#endif
  46#endif
  47