1d08227bbSRene Gollent/*
2d08227bbSRene Gollent * Copyright 2013, Rene Gollent, rene@gollent.com.
3d08227bbSRene Gollent * Distributed under the terms of the MIT License.
4d08227bbSRene Gollent */
5d08227bbSRene Gollent#ifndef SYSCALL_INFO_H
6d08227bbSRene Gollent#define SYSCALL_INFO_H
7d08227bbSRene Gollent
8d08227bbSRene Gollent#include "Types.h"
9d08227bbSRene Gollent
10d08227bbSRene Gollent
11d08227bbSRene Gollentclass SyscallInfo {
12d08227bbSRene Gollentpublic:
13d08227bbSRene Gollent								SyscallInfo();
14d08227bbSRene Gollent								SyscallInfo(const SyscallInfo& other);
15d08227bbSRene Gollent								SyscallInfo(bigtime_t startTime,
16d08227bbSRene Gollent									bigtime_t endTime,
17d08227bbSRene Gollent									uint64 returnValue,
18d08227bbSRene Gollent									uint32 syscall,
1977ea49f4SRene Gollent									const uint8* args);
20d08227bbSRene Gollent
21d08227bbSRene Gollent			void				SetTo(bigtime_t startTime,
22d08227bbSRene Gollent									bigtime_t endTime,
23d08227bbSRene Gollent									uint64 returnValue,
24d08227bbSRene Gollent									uint32 syscall,
2577ea49f4SRene Gollent									const uint8* args);
26d08227bbSRene Gollent
27d08227bbSRene Gollent			bigtime_t			StartTime() const	{ return fStartTime; }
28d08227bbSRene Gollent			bigtime_t			EndTime() const	{ return fEndTime; }
29d08227bbSRene Gollent			uint64				ReturnValue() const	{ return fReturnValue; }
30d08227bbSRene Gollent			uint32				Syscall() const	{ return fSyscall; }
31d08227bbSRene Gollent
3277ea49f4SRene Gollent			const uint8*		Arguments() const	{ return fArguments; }
33d08227bbSRene Gollent
34d08227bbSRene Gollentprivate:
35d08227bbSRene Gollent			bigtime_t 			fStartTime;
36d08227bbSRene Gollent			bigtime_t 			fEndTime;
37d08227bbSRene Gollent			uint64 				fReturnValue;
38d08227bbSRene Gollent			uint32 				fSyscall;
3977ea49f4SRene Gollent			uint8 				fArguments[128];
40d08227bbSRene Gollent};
41d08227bbSRene Gollent
42d08227bbSRene Gollent
43d08227bbSRene Gollent#endif	// SYSCALL_INFO_H