diff options
author | bunnei <bunneidev@gmail.com> | 2021-09-25 07:34:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-25 07:34:32 +0200 |
commit | db9b80399b7c60521482c8e9997035ec8a1031fc (patch) | |
tree | b0fd83639672f157f1b3d9190f1c95aafb04f967 | |
parent | Merge pull request #7084 from ameerj/clang-12 (diff) | |
parent | service: bsd: Implement Read (diff) | |
download | yuzu-db9b80399b7c60521482c8e9997035ec8a1031fc.tar yuzu-db9b80399b7c60521482c8e9997035ec8a1031fc.tar.gz yuzu-db9b80399b7c60521482c8e9997035ec8a1031fc.tar.bz2 yuzu-db9b80399b7c60521482c8e9997035ec8a1031fc.tar.lz yuzu-db9b80399b7c60521482c8e9997035ec8a1031fc.tar.xz yuzu-db9b80399b7c60521482c8e9997035ec8a1031fc.tar.zst yuzu-db9b80399b7c60521482c8e9997035ec8a1031fc.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/service/sockets/bsd.cpp | 15 | ||||
-rw-r--r-- | src/core/hle/service/sockets/bsd.h | 1 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/core/hle/service/sockets/bsd.cpp b/src/core/hle/service/sockets/bsd.cpp index 7d85ecb6a..95a70dfd3 100644 --- a/src/core/hle/service/sockets/bsd.cpp +++ b/src/core/hle/service/sockets/bsd.cpp @@ -415,6 +415,19 @@ void BSD::Write(Kernel::HLERequestContext& ctx) { }); } +void BSD::Read(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + const s32 fd = rp.Pop<s32>(); + + LOG_DEBUG(Service, "called. fd={} len={}", fd, ctx.GetWriteBufferSize()); + + ExecuteWork(ctx, RecvWork{ + .fd = fd, + .flags = 0, + .message = std::vector<u8>(ctx.GetWriteBufferSize()), + }); +} + void BSD::Close(Kernel::HLERequestContext& ctx) { IPC::RequestParser rp{ctx}; const s32 fd = rp.Pop<s32>(); @@ -855,7 +868,7 @@ BSD::BSD(Core::System& system_, const char* name) : ServiceFramework{system_, na {22, &BSD::Shutdown, "Shutdown"}, {23, nullptr, "ShutdownAllSockets"}, {24, &BSD::Write, "Write"}, - {25, nullptr, "Read"}, + {25, &BSD::Read, "Read"}, {26, &BSD::Close, "Close"}, {27, nullptr, "DuplicateSocket"}, {28, nullptr, "GetResourceStatistics"}, diff --git a/src/core/hle/service/sockets/bsd.h b/src/core/hle/service/sockets/bsd.h index 1d2df9c61..d68beef5c 100644 --- a/src/core/hle/service/sockets/bsd.h +++ b/src/core/hle/service/sockets/bsd.h @@ -135,6 +135,7 @@ private: void Send(Kernel::HLERequestContext& ctx); void SendTo(Kernel::HLERequestContext& ctx); void Write(Kernel::HLERequestContext& ctx); + void Read(Kernel::HLERequestContext& ctx); void Close(Kernel::HLERequestContext& ctx); void EventFd(Kernel::HLERequestContext& ctx); |