summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2014-06-09 22:30:39 -0400
committerGravatar bunnei2014-06-13 09:51:17 -0400
commit8957622d10784d5f04571e9ae01dbae13ed64c3e (patch)
treebfa07530da08a88cb1f60b8251cec48cc9cec787 /src
parentThread: Renamed occurrences of "t" to "thread" to improve readability. (diff)
downloadyuzu-8957622d10784d5f04571e9ae01dbae13ed64c3e.tar.gz
yuzu-8957622d10784d5f04571e9ae01dbae13ed64c3e.tar.xz
yuzu-8957622d10784d5f04571e9ae01dbae13ed64c3e.zip
SVC: Renamed all function wrapper templates to Wrap, moved to HLE namespace.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/function_wrappers.h50
-rw-r--r--src/core/hle/svc.cpp252
2 files changed, 145 insertions, 157 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h
index e8afa90d6..aa5278c8a 100644
--- a/src/core/hle/function_wrappers.h
+++ b/src/core/hle/function_wrappers.h
@@ -8,29 +8,27 @@
8#include "core/mem_map.h" 8#include "core/mem_map.h"
9#include "core/hle/hle.h" 9#include "core/hle/hle.h"
10 10
11namespace Wrap { 11namespace HLE {
12 12
13//////////////////////////////////////////////////////////////////////////////////////////////////// 13////////////////////////////////////////////////////////////////////////////////////////////////////
14// Function wrappers that return type s32 14// Function wrappers that return type s32
15 15
16namespace S32 { 16template<s32 func(u32, u32, u32, u32)> void Wrap() {
17
18template<s32 func(u32, u32, u32, u32)> void U32_U32_U32_U32() {
19 RETURN(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3))); 17 RETURN(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)));
20} 18}
21 19
22template<s32 func(u32, u32, u32, u32, u32)> void U32_U32_U32_U32_U32() { 20template<s32 func(u32, u32, u32, u32, u32)> void Wrap() {
23 RETURN(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4))); 21 RETURN(func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)));
24} 22}
25 23
26template<s32 func(u32*, u32, u32, u32, u32, u32)> void U32P_U32_U32_U32_U32_U32(){ 24template<s32 func(u32*, u32, u32, u32, u32, u32)> void Wrap(){
27 u32 param_1 = 0; 25 u32 param_1 = 0;
28 u32 retval = func(&param_1, PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 26 u32 retval = func(&param_1, PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
29 Core::g_app_core->SetReg(1, param_1); 27 Core::g_app_core->SetReg(1, param_1);
30 RETURN(retval); 28 RETURN(retval);
31} 29}
32 30
33template<s32 func(s32*, u32*, s32, bool, s64)> void S32P_U32P_S32_Bool_S64() { 31template<s32 func(s32*, u32*, s32, bool, s64)> void Wrap() {
34 s32 param_1 = 0; 32 s32 param_1 = 0;
35 s32 retval = func(&param_1, (Handle*)Memory::GetPointer(PARAM(1)), (s32)PARAM(2), 33 s32 retval = func(&param_1, (Handle*)Memory::GetPointer(PARAM(1)), (s32)PARAM(2),
36 (PARAM(3) != 0), (((s64)PARAM(4) << 32) | PARAM(0))); 34 (PARAM(3) != 0), (((s64)PARAM(4) << 32) | PARAM(0)));
@@ -39,82 +37,72 @@ template<s32 func(s32*, u32*, s32, bool, s64)> void S32P_U32P_S32_Bool_S64() {
39} 37}
40 38
41// TODO(bunnei): Is this correct? Probably not 39// TODO(bunnei): Is this correct? Probably not
42template<s32 func(u32, u32, u32, u32, s64)> void U32_U32_U32_U32_S64() { 40template<s32 func(u32, u32, u32, u32, s64)> void Wrap() {
43 RETURN(func(PARAM(5), PARAM(1), PARAM(2), PARAM(3), (((s64)PARAM(4) << 32) | PARAM(0)))); 41 RETURN(func(PARAM(5), PARAM(1), PARAM(2), PARAM(3), (((s64)PARAM(4) << 32) | PARAM(0))));
44} 42}
45 43
46template<s32 func(u32, s64)> void U32_S64() { 44template<s32 func(u32, s64)> void Wrap() {
47 RETURN(func(PARAM(0), (((s64)PARAM(3) << 32) | PARAM(2)))); 45 RETURN(func(PARAM(0), (((s64)PARAM(3) << 32) | PARAM(2))));
48} 46}
49 47
50template<s32 func(void*, void*, u32)> void VoidP_VoidP_U32(){ 48template<s32 func(void*, void*, u32)> void Wrap(){
51 RETURN(func(Memory::GetPointer(PARAM(0)), Memory::GetPointer(PARAM(1)), PARAM(2))); 49 RETURN(func(Memory::GetPointer(PARAM(0)), Memory::GetPointer(PARAM(1)), PARAM(2)));
52} 50}
53 51
54template<s32 func(s32*, u32)> void S32P_U32(){ 52template<s32 func(s32*, u32)> void Wrap(){
55 s32 param_1 = 0; 53 s32 param_1 = 0;
56 u32 retval = func(&param_1, PARAM(1)); 54 u32 retval = func(&param_1, PARAM(1));
57 Core::g_app_core->SetReg(1, param_1); 55 Core::g_app_core->SetReg(1, param_1);
58 RETURN(retval); 56 RETURN(retval);
59} 57}
60 58
61template<s32 func(u32, s32)> void U32_S32() { 59template<s32 func(u32, s32)> void Wrap() {
62 RETURN(func(PARAM(0), (s32)PARAM(1))); 60 RETURN(func(PARAM(0), (s32)PARAM(1)));
63} 61}
64 62
65template<s32 func(u32*, u32)> void U32P_U32(){ 63template<s32 func(u32*, u32)> void Wrap(){
66 u32 param_1 = 0; 64 u32 param_1 = 0;
67 u32 retval = func(&param_1, PARAM(1)); 65 u32 retval = func(&param_1, PARAM(1));
68 Core::g_app_core->SetReg(1, param_1); 66 Core::g_app_core->SetReg(1, param_1);
69 RETURN(retval); 67 RETURN(retval);
70} 68}
71 69
72template<s32 func(u32)> void U32() { 70template<s32 func(u32)> void Wrap() {
73 RETURN(func(PARAM(0))); 71 RETURN(func(PARAM(0)));
74} 72}
75 73
76template<s32 func(void*)> void U32P() { 74template<s32 func(void*)> void Wrap() {
77 RETURN(func(Memory::GetPointer(PARAM(0)))); 75 RETURN(func(Memory::GetPointer(PARAM(0))));
78} 76}
79 77
80template<s32 func(s64*, u32, void*, s32)> void S64P_U32_VoidP_S32(){ 78template<s32 func(s64*, u32, void*, s32)> void Wrap(){
81 RETURN(func((s64*)Memory::GetPointer(PARAM(0)), PARAM(1), Memory::GetPointer(PARAM(2)), 79 RETURN(func((s64*)Memory::GetPointer(PARAM(0)), PARAM(1), Memory::GetPointer(PARAM(2)),
82 (s32)PARAM(3))); 80 (s32)PARAM(3)));
83} 81}
84 82
85template<s32 func(u32*, const char*)> void U32P_CharP() { 83template<s32 func(u32*, const char*)> void Wrap() {
86 u32 param_1 = 0; 84 u32 param_1 = 0;
87 u32 retval = func(&param_1, Memory::GetCharPointer(PARAM(1))); 85 u32 retval = func(&param_1, Memory::GetCharPointer(PARAM(1)));
88 Core::g_app_core->SetReg(1, param_1); 86 Core::g_app_core->SetReg(1, param_1);
89 RETURN(retval); 87 RETURN(retval);
90} 88}
91 89
92} // namespace S32
93
94//////////////////////////////////////////////////////////////////////////////////////////////////// 90////////////////////////////////////////////////////////////////////////////////////////////////////
95// Function wrappers that return type u32 91// Function wrappers that return type u32
96 92
97namespace U32 { 93template<u32 func()> void Wrap() {
98
99template<u32 func()> void Void() {
100 RETURN(func()); 94 RETURN(func());
101} 95}
102 96
103} // namespace U32
104
105//////////////////////////////////////////////////////////////////////////////////////////////////// 97////////////////////////////////////////////////////////////////////////////////////////////////////
106/// Function wrappers that return type void 98/// Function wrappers that return type void
107 99
108namespace Void { 100template<void func(s64)> void Wrap() {
109
110template<void func(s64)> void S64() {
111 func(((s64)PARAM(1) << 32) | PARAM(0)); 101 func(((s64)PARAM(1) << 32) | PARAM(0));
112} 102}
113 103
114template<void func(const char*)> void CharP() { 104template<void func(const char*)> void Wrap() {
115 func(Memory::GetCharPointer(PARAM(0))); 105 func(Memory::GetCharPointer(PARAM(0)));
116} 106}
117 107
118} // namespace Void 108} // namespace HLE
119
120} // namespace Wrap
diff --git a/src/core/hle/svc.cpp b/src/core/hle/svc.cpp
index d964d062e..441d8ce8d 100644
--- a/src/core/hle/svc.cpp
+++ b/src/core/hle/svc.cpp
@@ -332,132 +332,132 @@ void SleepThread(s64 nanoseconds) {
332} 332}
333 333
334const HLE::FunctionDef SVC_Table[] = { 334const HLE::FunctionDef SVC_Table[] = {
335 {0x00, nullptr, "Unknown"}, 335 {0x00, nullptr, "Unknown"},
336 {0x01, Wrap::S32::U32P_U32_U32_U32_U32_U32<ControlMemory>, "ControlMemory"}, 336 {0x01, HLE::Wrap<ControlMemory>, "ControlMemory"},
337 {0x02, Wrap::S32::VoidP_VoidP_U32<QueryMemory>, "QueryMemory"}, 337 {0x02, HLE::Wrap<QueryMemory>, "QueryMemory"},
338 {0x03, nullptr, "ExitProcess"}, 338 {0x03, nullptr, "ExitProcess"},
339 {0x04, nullptr, "GetProcessAffinityMask"}, 339 {0x04, nullptr, "GetProcessAffinityMask"},
340 {0x05, nullptr, "SetProcessAffinityMask"}, 340 {0x05, nullptr, "SetProcessAffinityMask"},
341 {0x06, nullptr, "GetProcessIdealProcessor"}, 341 {0x06, nullptr, "GetProcessIdealProcessor"},
342 {0x07, nullptr, "SetProcessIdealProcessor"}, 342 {0x07, nullptr, "SetProcessIdealProcessor"},
343 {0x08, Wrap::S32::U32_U32_U32_U32_U32<CreateThread>, "CreateThread"}, 343 {0x08, HLE::Wrap<CreateThread>, "CreateThread"},
344 {0x09, Wrap::U32::Void<ExitThread>, "ExitThread"}, 344 {0x09, HLE::Wrap<ExitThread>, "ExitThread"},
345 {0x0A, Wrap::Void::S64<SleepThread>, "SleepThread"}, 345 {0x0A, HLE::Wrap<SleepThread>, "SleepThread"},
346 {0x0B, Wrap::S32::S32P_U32<GetThreadPriority>, "GetThreadPriority"}, 346 {0x0B, HLE::Wrap<GetThreadPriority>, "GetThreadPriority"},
347 {0x0C, Wrap::S32::U32_S32<SetThreadPriority>, "SetThreadPriority"}, 347 {0x0C, HLE::Wrap<SetThreadPriority>, "SetThreadPriority"},
348 {0x0D, nullptr, "GetThreadAffinityMask"}, 348 {0x0D, nullptr, "GetThreadAffinityMask"},
349 {0x0E, nullptr, "SetThreadAffinityMask"}, 349 {0x0E, nullptr, "SetThreadAffinityMask"},
350 {0x0F, nullptr, "GetThreadIdealProcessor"}, 350 {0x0F, nullptr, "GetThreadIdealProcessor"},
351 {0x10, nullptr, "SetThreadIdealProcessor"}, 351 {0x10, nullptr, "SetThreadIdealProcessor"},
352 {0x11, nullptr, "GetCurrentProcessorNumber"}, 352 {0x11, nullptr, "GetCurrentProcessorNumber"},
353 {0x12, nullptr, "Run"}, 353 {0x12, nullptr, "Run"},
354 {0x13, Wrap::S32::U32P_U32<CreateMutex>, "CreateMutex"}, 354 {0x13, HLE::Wrap<CreateMutex>, "CreateMutex"},
355 {0x14, Wrap::S32::U32<ReleaseMutex>, "ReleaseMutex"}, 355 {0x14, HLE::Wrap<ReleaseMutex>, "ReleaseMutex"},
356 {0x15, nullptr, "CreateSemaphore"}, 356 {0x15, nullptr, "CreateSemaphore"},
357 {0x16, nullptr, "ReleaseSemaphore"}, 357 {0x16, nullptr, "ReleaseSemaphore"},
358 {0x17, Wrap::S32::U32P_U32<CreateEvent>, "CreateEvent"}, 358 {0x17, HLE::Wrap<CreateEvent>, "CreateEvent"},
359 {0x18, Wrap::S32::U32<SignalEvent>, "SignalEvent"}, 359 {0x18, HLE::Wrap<SignalEvent>, "SignalEvent"},
360 {0x19, Wrap::S32::U32<ClearEvent>, "ClearEvent"}, 360 {0x19, HLE::Wrap<ClearEvent>, "ClearEvent"},
361 {0x1A, nullptr, "CreateTimer"}, 361 {0x1A, nullptr, "CreateTimer"},
362 {0x1B, nullptr, "SetTimer"}, 362 {0x1B, nullptr, "SetTimer"},
363 {0x1C, nullptr, "CancelTimer"}, 363 {0x1C, nullptr, "CancelTimer"},
364 {0x1D, nullptr, "ClearTimer"}, 364 {0x1D, nullptr, "ClearTimer"},
365 {0x1E, nullptr, "CreateMemoryBlock"}, 365 {0x1E, nullptr, "CreateMemoryBlock"},
366 {0x1F, Wrap::S32::U32_U32_U32_U32<MapMemoryBlock>, "MapMemoryBlock"}, 366 {0x1F, HLE::Wrap<MapMemoryBlock>, "MapMemoryBlock"},
367 {0x20, nullptr, "UnmapMemoryBlock"}, 367 {0x20, nullptr, "UnmapMemoryBlock"},
368 {0x21, Wrap::S32::U32P<CreateAddressArbiter>, "CreateAddressArbiter"}, 368 {0x21, HLE::Wrap<CreateAddressArbiter>, "CreateAddressArbiter"},
369 {0x22, Wrap::S32::U32_U32_U32_U32_S64<ArbitrateAddress>, "ArbitrateAddress"}, 369 {0x22, HLE::Wrap<ArbitrateAddress>, "ArbitrateAddress"},
370 {0x23, Wrap::S32::U32<CloseHandle>, "CloseHandle"}, 370 {0x23, HLE::Wrap<CloseHandle>, "CloseHandle"},
371 {0x24, Wrap::S32::U32_S64<WaitSynchronization1>, "WaitSynchronization1"}, 371 {0x24, HLE::Wrap<WaitSynchronization1>, "WaitSynchronization1"},
372 {0x25, Wrap::S32::S32P_U32P_S32_Bool_S64<WaitSynchronizationN>, "WaitSynchronizationN"}, 372 {0x25, HLE::Wrap<WaitSynchronizationN>, "WaitSynchronizationN"},
373 {0x26, nullptr, "SignalAndWait"}, 373 {0x26, nullptr, "SignalAndWait"},
374 {0x27, Wrap::S32::U32P_U32<DuplicateHandle>, "DuplicateHandle"}, 374 {0x27, HLE::Wrap<DuplicateHandle>, "DuplicateHandle"},
375 {0x28, nullptr, "GetSystemTick"}, 375 {0x28, nullptr, "GetSystemTick"},
376 {0x29, nullptr, "GetHandleInfo"}, 376 {0x29, nullptr, "GetHandleInfo"},
377 {0x2A, nullptr, "GetSystemInfo"}, 377 {0x2A, nullptr, "GetSystemInfo"},
378 {0x2B, nullptr, "GetProcessInfo"}, 378 {0x2B, nullptr, "GetProcessInfo"},
379 {0x2C, nullptr, "GetThreadInfo"}, 379 {0x2C, nullptr, "GetThreadInfo"},
380 {0x2D, Wrap::S32::U32P_CharP<ConnectToPort>, "ConnectToPort"}, 380 {0x2D, HLE::Wrap<ConnectToPort>, "ConnectToPort"},
381 {0x2E, nullptr, "SendSyncRequest1"}, 381 {0x2E, nullptr, "SendSyncRequest1"},
382 {0x2F, nullptr, "SendSyncRequest2"}, 382 {0x2F, nullptr, "SendSyncRequest2"},
383 {0x30, nullptr, "SendSyncRequest3"}, 383 {0x30, nullptr, "SendSyncRequest3"},
384 {0x31, nullptr, "SendSyncRequest4"}, 384 {0x31, nullptr, "SendSyncRequest4"},
385 {0x32, Wrap::S32::U32<SendSyncRequest>, "SendSyncRequest"}, 385 {0x32, HLE::Wrap<SendSyncRequest>, "SendSyncRequest"},
386 {0x33, nullptr, "OpenProcess"}, 386 {0x33, nullptr, "OpenProcess"},
387 {0x34, nullptr, "OpenThread"}, 387 {0x34, nullptr, "OpenThread"},
388 {0x35, nullptr, "GetProcessId"}, 388 {0x35, nullptr, "GetProcessId"},
389 {0x36, nullptr, "GetProcessIdOfThread"}, 389 {0x36, nullptr, "GetProcessIdOfThread"},
390 {0x37, Wrap::S32::U32P_U32<GetThreadId>, "GetThreadId"}, 390 {0x37, HLE::Wrap<GetThreadId>, "GetThreadId"},
391 {0x38, Wrap::S32::U32P_U32<GetResourceLimit>, "GetResourceLimit"}, 391 {0x38, HLE::Wrap<GetResourceLimit>, "GetResourceLimit"},
392 {0x39, nullptr, "GetResourceLimitLimitValues"}, 392 {0x39, nullptr, "GetResourceLimitLimitValues"},
393 {0x3A, Wrap::S32::S64P_U32_VoidP_S32<GetResourceLimitCurrentValues>, "GetResourceLimitCurrentValues"}, 393 {0x3A, HLE::Wrap<GetResourceLimitCurrentValues>, "GetResourceLimitCurrentValues"},
394 {0x3B, nullptr, "GetThreadContext"}, 394 {0x3B, nullptr, "GetThreadContext"},
395 {0x3C, nullptr, "Break"}, 395 {0x3C, nullptr, "Break"},
396 {0x3D, Wrap::Void::CharP<OutputDebugString>, "OutputDebugString"}, 396 {0x3D, HLE::Wrap<OutputDebugString>, "OutputDebugString"},
397 {0x3E, nullptr, "ControlPerformanceCounter"}, 397 {0x3E, nullptr, "ControlPerformanceCounter"},
398 {0x3F, nullptr, "Unknown"}, 398 {0x3F, nullptr, "Unknown"},
399 {0x40, nullptr, "Unknown"}, 399 {0x40, nullptr, "Unknown"},
400 {0x41, nullptr, "Unknown"}, 400 {0x41, nullptr, "Unknown"},
401 {0x42, nullptr, "Unknown"}, 401 {0x42, nullptr, "Unknown"},
402 {0x43, nullptr, "Unknown"}, 402 {0x43, nullptr, "Unknown"},
403 {0x44, nullptr, "Unknown"}, 403 {0x44, nullptr, "Unknown"},
404 {0x45, nullptr, "Unknown"}, 404 {0x45, nullptr, "Unknown"},
405 {0x46, nullptr, "Unknown"}, 405 {0x46, nullptr, "Unknown"},
406 {0x47, nullptr, "CreatePort"}, 406 {0x47, nullptr, "CreatePort"},
407 {0x48, nullptr, "CreateSessionToPort"}, 407 {0x48, nullptr, "CreateSessionToPort"},
408 {0x49, nullptr, "CreateSession"}, 408 {0x49, nullptr, "CreateSession"},
409 {0x4A, nullptr, "AcceptSession"}, 409 {0x4A, nullptr, "AcceptSession"},
410 {0x4B, nullptr, "ReplyAndReceive1"}, 410 {0x4B, nullptr, "ReplyAndReceive1"},
411 {0x4C, nullptr, "ReplyAndReceive2"}, 411 {0x4C, nullptr, "ReplyAndReceive2"},
412 {0x4D, nullptr, "ReplyAndReceive3"}, 412 {0x4D, nullptr, "ReplyAndReceive3"},
413 {0x4E, nullptr, "ReplyAndReceive4"}, 413 {0x4E, nullptr, "ReplyAndReceive4"},
414 {0x4F, nullptr, "ReplyAndReceive"}, 414 {0x4F, nullptr, "ReplyAndReceive"},
415 {0x50, nullptr, "BindInterrupt"}, 415 {0x50, nullptr, "BindInterrupt"},
416 {0x51, nullptr, "UnbindInterrupt"}, 416 {0x51, nullptr, "UnbindInterrupt"},
417 {0x52, nullptr, "InvalidateProcessDataCache"}, 417 {0x52, nullptr, "InvalidateProcessDataCache"},
418 {0x53, nullptr, "StoreProcessDataCache"}, 418 {0x53, nullptr, "StoreProcessDataCache"},
419 {0x54, nullptr, "FlushProcessDataCache"}, 419 {0x54, nullptr, "FlushProcessDataCache"},
420 {0x55, nullptr, "StartInterProcessDma"}, 420 {0x55, nullptr, "StartInterProcessDma"},
421 {0x56, nullptr, "StopDma"}, 421 {0x56, nullptr, "StopDma"},
422 {0x57, nullptr, "GetDmaState"}, 422 {0x57, nullptr, "GetDmaState"},
423 {0x58, nullptr, "RestartDma"}, 423 {0x58, nullptr, "RestartDma"},
424 {0x59, nullptr, "Unknown"}, 424 {0x59, nullptr, "Unknown"},
425 {0x5A, nullptr, "Unknown"}, 425 {0x5A, nullptr, "Unknown"},
426 {0x5B, nullptr, "Unknown"}, 426 {0x5B, nullptr, "Unknown"},
427 {0x5C, nullptr, "Unknown"}, 427 {0x5C, nullptr, "Unknown"},
428 {0x5D, nullptr, "Unknown"}, 428 {0x5D, nullptr, "Unknown"},
429 {0x5E, nullptr, "Unknown"}, 429 {0x5E, nullptr, "Unknown"},
430 {0x5F, nullptr, "Unknown"}, 430 {0x5F, nullptr, "Unknown"},
431 {0x60, nullptr, "DebugActiveProcess"}, 431 {0x60, nullptr, "DebugActiveProcess"},
432 {0x61, nullptr, "BreakDebugProcess"}, 432 {0x61, nullptr, "BreakDebugProcess"},
433 {0x62, nullptr, "TerminateDebugProcess"}, 433 {0x62, nullptr, "TerminateDebugProcess"},
434 {0x63, nullptr, "GetProcessDebugEvent"}, 434 {0x63, nullptr, "GetProcessDebugEvent"},
435 {0x64, nullptr, "ContinueDebugEvent"}, 435 {0x64, nullptr, "ContinueDebugEvent"},
436 {0x65, nullptr, "GetProcessList"}, 436 {0x65, nullptr, "GetProcessList"},
437 {0x66, nullptr, "GetThreadList"}, 437 {0x66, nullptr, "GetThreadList"},
438 {0x67, nullptr, "GetDebugThreadContext"}, 438 {0x67, nullptr, "GetDebugThreadContext"},
439 {0x68, nullptr, "SetDebugThreadContext"}, 439 {0x68, nullptr, "SetDebugThreadContext"},
440 {0x69, nullptr, "QueryDebugProcessMemory"}, 440 {0x69, nullptr, "QueryDebugProcessMemory"},
441 {0x6A, nullptr, "ReadProcessMemory"}, 441 {0x6A, nullptr, "ReadProcessMemory"},
442 {0x6B, nullptr, "WriteProcessMemory"}, 442 {0x6B, nullptr, "WriteProcessMemory"},
443 {0x6C, nullptr, "SetHardwareBreakPoint"}, 443 {0x6C, nullptr, "SetHardwareBreakPoint"},
444 {0x6D, nullptr, "GetDebugThreadParam"}, 444 {0x6D, nullptr, "GetDebugThreadParam"},
445 {0x6E, nullptr, "Unknown"}, 445 {0x6E, nullptr, "Unknown"},
446 {0x6F, nullptr, "Unknown"}, 446 {0x6F, nullptr, "Unknown"},
447 {0x70, nullptr, "ControlProcessMemory"}, 447 {0x70, nullptr, "ControlProcessMemory"},
448 {0x71, nullptr, "MapProcessMemory"}, 448 {0x71, nullptr, "MapProcessMemory"},
449 {0x72, nullptr, "UnmapProcessMemory"}, 449 {0x72, nullptr, "UnmapProcessMemory"},
450 {0x73, nullptr, "Unknown"}, 450 {0x73, nullptr, "Unknown"},
451 {0x74, nullptr, "Unknown"}, 451 {0x74, nullptr, "Unknown"},
452 {0x75, nullptr, "Unknown"}, 452 {0x75, nullptr, "Unknown"},
453 {0x76, nullptr, "TerminateProcess"}, 453 {0x76, nullptr, "TerminateProcess"},
454 {0x77, nullptr, "Unknown"}, 454 {0x77, nullptr, "Unknown"},
455 {0x78, nullptr, "CreateResourceLimit"}, 455 {0x78, nullptr, "CreateResourceLimit"},
456 {0x79, nullptr, "Unknown"}, 456 {0x79, nullptr, "Unknown"},
457 {0x7A, nullptr, "Unknown"}, 457 {0x7A, nullptr, "Unknown"},
458 {0x7B, nullptr, "Unknown"}, 458 {0x7B, nullptr, "Unknown"},
459 {0x7C, nullptr, "KernelSetState"}, 459 {0x7C, nullptr, "KernelSetState"},
460 {0x7D, nullptr, "QueryProcessMemory"}, 460 {0x7D, nullptr, "QueryProcessMemory"},
461}; 461};
462 462
463void Register() { 463void Register() {