#ifndef	_DASHBOARD_H_
#define	_DASHBOARD_H_

#include "tima_mem_address.h"

typedef enum sec_entry_s {
	HEADER = 0,
	KERN_HASH_MISMATCH,
	KERN_METADATA_ERR,
	SELINUX_OFF,
	LKM_HASH_MISMATCH,
	GENERIC,
	MAGIC = 0xaa,
} sec_entry_t;

#define	DASHBOARD_MAX_ENTRIES	(GENERIC + 1)

typedef struct dashboard_row_s {
	sec_entry_t type;
	uint32_t nr_occurences;
	unsigned long long timestamp;
	char padding[16 - sizeof(uint32_t) - sizeof(unsigned long long) -
		     sizeof(sec_entry_t)];
} dashboard_row_t;

extern void dashboard_init(
	void
);
extern char *dashboard_lookup_msg_type(
	sec_entry_t
);
extern void dashboard_update(
	sec_entry_t
);
extern void dashboard_read_entry(
	sec_entry_t,
	dashboard_row_t *
);
extern void dashboard_read_all(
	dashboard_row_t *
);
extern void dashboard_dump(
	void
);

#endif
