Add SyscallInfoEvent model class.

This commit is contained in:
Rene Gollent 2013-06-26 21:43:57 -04:00
parent 91a5e06148
commit d08227bb68
3 changed files with 98 additions and 0 deletions

View File

@ -154,6 +154,7 @@ Application Debugger :
StackTrace.cpp
Statement.cpp
SymbolInfo.cpp
SyscallInfo.cpp
SystemInfo.cpp
Team.cpp
TeamInfo.cpp

View File

@ -0,0 +1,54 @@
/*
* Copyright 2013, Rene Gollent, rene@gollent.com.
* Distributed under the terms of the MIT License.
*/
#include "SyscallInfo.h"
#include <string.h>
SyscallInfo::SyscallInfo()
:
fStartTime(0),
fEndTime(0),
fReturnValue(0),
fSyscall(0)
{
memset(fArguments, 0, sizeof(fArguments));
}
SyscallInfo::SyscallInfo(const SyscallInfo& other)
:
fStartTime(other.fStartTime),
fEndTime(other.fEndTime),
fReturnValue(other.fReturnValue),
fSyscall(other.fSyscall)
{
memcpy(fArguments, other.fArguments, sizeof(fArguments));
}
SyscallInfo::SyscallInfo(bigtime_t startTime, bigtime_t endTime,
uint64 returnValue, uint32 syscall, const uint32* args)
:
fStartTime(startTime),
fEndTime(endTime),
fReturnValue(returnValue),
fSyscall(syscall)
{
memcpy(fArguments, args, sizeof(fArguments));
}
void
SyscallInfo::SetTo(bigtime_t startTime, bigtime_t endTime, uint64 returnValue,
uint32 syscall, const uint32* args)
{
fStartTime = startTime;
fEndTime = endTime;
fReturnValue = returnValue;
fSyscall = syscall;
memcpy(fArguments, args, sizeof(fArguments));
}

View File

@ -0,0 +1,43 @@
/*
* Copyright 2013, Rene Gollent, rene@gollent.com.
* Distributed under the terms of the MIT License.
*/
#ifndef SYSCALL_INFO_H
#define SYSCALL_INFO_H
#include "Types.h"
class SyscallInfo {
public:
SyscallInfo();
SyscallInfo(const SyscallInfo& other);
SyscallInfo(bigtime_t startTime,
bigtime_t endTime,
uint64 returnValue,
uint32 syscall,
const uint32* args);
void SetTo(bigtime_t startTime,
bigtime_t endTime,
uint64 returnValue,
uint32 syscall,
const uint32* args);
bigtime_t StartTime() const { return fStartTime; }
bigtime_t EndTime() const { return fEndTime; }
uint64 ReturnValue() const { return fReturnValue; }
uint32 Syscall() const { return fSyscall; }
const uint32* Arguments() const { return fArguments; }
private:
bigtime_t fStartTime;
bigtime_t fEndTime;
uint64 fReturnValue;
uint32 fSyscall;
uint32 fArguments[16];
};
#endif // SYSCALL_INFO_H