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