1*d83cc019SAndroid Build Coastguard Worker #ifndef INTEL_L3_PARITY_H_ 2*d83cc019SAndroid Build Coastguard Worker #define INTEL_L3_PARITY_H_ 3*d83cc019SAndroid Build Coastguard Worker 4*d83cc019SAndroid Build Coastguard Worker #include <stdint.h> 5*d83cc019SAndroid Build Coastguard Worker #include <stdbool.h> 6*d83cc019SAndroid Build Coastguard Worker 7*d83cc019SAndroid Build Coastguard Worker struct l3_parity { 8*d83cc019SAndroid Build Coastguard Worker struct udev *udev; 9*d83cc019SAndroid Build Coastguard Worker struct udev_monitor *uevent_monitor; 10*d83cc019SAndroid Build Coastguard Worker int fd; 11*d83cc019SAndroid Build Coastguard Worker fd_set fdset; 12*d83cc019SAndroid Build Coastguard Worker }; 13*d83cc019SAndroid Build Coastguard Worker 14*d83cc019SAndroid Build Coastguard Worker struct l3_location { 15*d83cc019SAndroid Build Coastguard Worker uint8_t slice; 16*d83cc019SAndroid Build Coastguard Worker uint16_t row; 17*d83cc019SAndroid Build Coastguard Worker uint8_t bank; 18*d83cc019SAndroid Build Coastguard Worker uint8_t subbank; 19*d83cc019SAndroid Build Coastguard Worker }; 20*d83cc019SAndroid Build Coastguard Worker 21*d83cc019SAndroid Build Coastguard Worker int l3_uevent_setup(struct l3_parity *par); 22*d83cc019SAndroid Build Coastguard Worker /* Listens (blocks) for an l3 parity event. Returns the location of the error. */ 23*d83cc019SAndroid Build Coastguard Worker int l3_listen(struct l3_parity *par, bool daemon, struct l3_location *loc); 24*d83cc019SAndroid Build Coastguard Worker #define l3_uevent_teardown(par) {} 25*d83cc019SAndroid Build Coastguard Worker 26*d83cc019SAndroid Build Coastguard Worker #endif 27