blob: 759c4f4b63286b25b64f8f3b3e0fef56a1d6c4e9 [file] [log] [blame]
#ifndef INTEL_L3_PARITY_H_
#define INTEL_L3_PARITY_H_
#include <stdint.h>
#include <stdbool.h>
struct l3_parity {
struct udev *udev;
struct udev_monitor *uevent_monitor;
int fd;
fd_set fdset;
};
struct l3_location {
uint8_t slice;
uint16_t row;
uint8_t bank;
uint8_t subbank;
};
#ifdef HAVE_UDEV
int l3_uevent_setup(struct l3_parity *par);
/* Listens (blocks) for an l3 parity event. Returns the location of the error. */
int l3_listen(struct l3_parity *par, bool daemon, struct l3_location *loc);
#define l3_uevent_teardown(par) {}
#else
#define l3_uevent_setup(par, daemon, loc) -1
#define l3_listen(par) -1
#endif
#endif