summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/soc_u.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/core/hle/service/soc_u.cpp b/src/core/hle/service/soc_u.cpp
index 1e0f5df9b..1bd420552 100644
--- a/src/core/hle/service/soc_u.cpp
+++ b/src/core/hle/service/soc_u.cpp
@@ -328,6 +328,7 @@ static void Socket(Service::Interface* self) {
328 if ((s32)socket_handle == SOCKET_ERROR_VALUE) 328 if ((s32)socket_handle == SOCKET_ERROR_VALUE)
329 result = TranslateError(GET_ERRNO); 329 result = TranslateError(GET_ERRNO);
330 330
331 cmd_buffer[0] = IPC::MakeHeader(2, 2, 0);
331 cmd_buffer[1] = result; 332 cmd_buffer[1] = result;
332 cmd_buffer[2] = socket_handle; 333 cmd_buffer[2] = socket_handle;
333} 334}
@@ -351,8 +352,9 @@ static void Bind(Service::Interface* self) {
351 if (res != 0) 352 if (res != 0)
352 result = TranslateError(GET_ERRNO); 353 result = TranslateError(GET_ERRNO);
353 354
354 cmd_buffer[2] = res; 355 cmd_buffer[0] = IPC::MakeHeader(5, 2, 0);
355 cmd_buffer[1] = result; 356 cmd_buffer[1] = result;
357 cmd_buffer[2] = res;
356} 358}
357 359
358static void Fcntl(Service::Interface* self) { 360static void Fcntl(Service::Interface* self) {
@@ -434,8 +436,9 @@ static void Listen(Service::Interface* self) {
434 if (ret != 0) 436 if (ret != 0)
435 result = TranslateError(GET_ERRNO); 437 result = TranslateError(GET_ERRNO);
436 438
437 cmd_buffer[2] = ret; 439 cmd_buffer[0] = IPC::MakeHeader(3, 2, 0);
438 cmd_buffer[1] = result; 440 cmd_buffer[1] = result;
441 cmd_buffer[2] = ret;
439} 442}
440 443
441static void Accept(Service::Interface* self) { 444static void Accept(Service::Interface* self) {
@@ -460,8 +463,10 @@ static void Accept(Service::Interface* self) {
460 Memory::WriteBlock(cmd_buffer[0x104 >> 2], (const u8*)&ctr_addr, max_addr_len); 463 Memory::WriteBlock(cmd_buffer[0x104 >> 2], (const u8*)&ctr_addr, max_addr_len);
461 } 464 }
462 465
463 cmd_buffer[2] = ret; 466 cmd_buffer[0] = IPC::MakeHeader(4, 2, 2);
464 cmd_buffer[1] = result; 467 cmd_buffer[1] = result;
468 cmd_buffer[2] = ret;
469 cmd_buffer[3] = IPC::StaticBufferDesc(static_cast<u32>(max_addr_len), 0);
465} 470}
466 471
467static void GetHostId(Service::Interface* self) { 472static void GetHostId(Service::Interface* self) {
@@ -669,8 +674,10 @@ static void Connect(Service::Interface* self) {
669 int result = 0; 674 int result = 0;
670 if (ret != 0) 675 if (ret != 0)
671 result = TranslateError(GET_ERRNO); 676 result = TranslateError(GET_ERRNO);
672 cmd_buffer[2] = ret; 677
678 cmd_buffer[0] = IPC::MakeHeader(6, 2, 0);
673 cmd_buffer[1] = result; 679 cmd_buffer[1] = result;
680 cmd_buffer[2] = ret;
674} 681}
675 682
676static void InitializeSockets(Service::Interface* self) { 683static void InitializeSockets(Service::Interface* self) {
@@ -681,7 +688,8 @@ static void InitializeSockets(Service::Interface* self) {
681#endif 688#endif
682 689
683 u32* cmd_buffer = Kernel::GetCommandBuffer(); 690 u32* cmd_buffer = Kernel::GetCommandBuffer();
684 cmd_buffer[1] = 0; 691 cmd_buffer[0] = IPC::MakeHeader(1, 1, 0);
692 cmd_buffer[1] = RESULT_SUCCESS.raw;
685} 693}
686 694
687static void ShutdownSockets(Service::Interface* self) { 695static void ShutdownSockets(Service::Interface* self) {