Merge branch 'v8.2' of ssh://git.dyninst.org/pub/dyninst into v8.2
[dyninst.git] / proccontrol / src / pcmachsyscall.C
1 #include "MachSyscall.h"
2 #include "PCProcess.h"
3 #include "Event.h"
4
5 namespace Dyninst {
6 namespace ProcControlAPI {
7
8 MachSyscall makeFromEvent(const EventSyscall * ev)
9 {
10     Process::const_ptr proc = ev->getProcess();
11     Architecture arch = proc->getArchitecture();
12     OSType os = proc->getOS();
13     Platform plat(arch,os);
14     MachSyscall::SyscallIDPlatform syscallNumber = ev->getSyscallNumber();
15 #if !defined(os_windows)
16     MachSyscall::SyscallName syscallName = MachSyscall::nameLookup(plat, syscallNumber);
17 #else
18     MachSyscall::SyscallName syscallName = "Unknown";
19 #endif
20     return MachSyscall(plat, syscallNumber, syscallName);
21 }
22
23 MachSyscall makeFromID(Process::ptr proc, MachSyscall::SyscallIDIndependent id)
24 {
25     Architecture arch = proc->getArchitecture();
26     OSType os = proc->getOS();
27     Platform plat(arch,os);
28     return MachSyscall::makeFromPlatform(plat, id);
29 }
30
31 }
32 }