From 6b54fffc7873f0006c19acc96f97b9781e1402ae Mon Sep 17 00:00:00 2001 From: Anton Arapov Date: Thu, 26 Mar 2009 16:47:00 +0100 Subject: kerneloops - plugin: huge changeset, make things more c++-ish, configurable syslog --- lib/Plugins/KerneloopsSysLog.h | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'lib/Plugins/KerneloopsSysLog.h') diff --git a/lib/Plugins/KerneloopsSysLog.h b/lib/Plugins/KerneloopsSysLog.h index 95e5b49..e0bf16f 100644 --- a/lib/Plugins/KerneloopsSysLog.h +++ b/lib/Plugins/KerneloopsSysLog.h @@ -24,13 +24,33 @@ * Arjan van de Ven */ -#ifndef __INCLUDE_GUARD_KERNELOOPSLIB_H_ -#define __INCLUDE_GUARD_KERNELOOPSLIB_H_ +#ifndef __INCLUDE_GUARD_KERNELOOPSSYSLOG_H_ +#define __INCLUDE_GUARD_KERNELOOPSSYSLOG_H_ -/* borrowed from the kernel */ -#define barrier() __asm__ __volatile__("": : :"memory") -#define __unused __attribute__ ((__unused__)) +#include +#include -extern int scan_logs(); +class COops +{ + public: + std::string m_sData; + std::string m_sVersion; +}; + +class CSysLog +{ + private: + void QueueOops(char *data, char *version); + int ExtractVersion(char *linepointer, char *version); + void FillLinePointers(char *buffer, int remove_syslog); + std::list m_OopsQueue; + int m_nFoundOopses; + + public: + CSysLog(); + std::list GetOopsList(); + void ClearOopsList(); + int ExtractOops(char *buffer, size_t buflen, int remove_syslog); +}; #endif -- cgit