Browse Source

Merge pull request #7082 from Morph1984/bsd-read

service: bsd: Implement Read
nce_cpp
bunnei 4 years ago
committed by GitHub
parent
commit
afc0f75940
  1. 15
      src/core/hle/service/sockets/bsd.cpp
  2. 1
      src/core/hle/service/sockets/bsd.h

15
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) { void BSD::Close(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp{ctx}; IPC::RequestParser rp{ctx};
const s32 fd = rp.Pop<s32>(); 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"}, {22, &BSD::Shutdown, "Shutdown"},
{23, nullptr, "ShutdownAllSockets"}, {23, nullptr, "ShutdownAllSockets"},
{24, &BSD::Write, "Write"}, {24, &BSD::Write, "Write"},
{25, nullptr, "Read"},
{25, &BSD::Read, "Read"},
{26, &BSD::Close, "Close"}, {26, &BSD::Close, "Close"},
{27, nullptr, "DuplicateSocket"}, {27, nullptr, "DuplicateSocket"},
{28, nullptr, "GetResourceStatistics"}, {28, nullptr, "GetResourceStatistics"},

1
src/core/hle/service/sockets/bsd.h

@ -135,6 +135,7 @@ private:
void Send(Kernel::HLERequestContext& ctx); void Send(Kernel::HLERequestContext& ctx);
void SendTo(Kernel::HLERequestContext& ctx); void SendTo(Kernel::HLERequestContext& ctx);
void Write(Kernel::HLERequestContext& ctx); void Write(Kernel::HLERequestContext& ctx);
void Read(Kernel::HLERequestContext& ctx);
void Close(Kernel::HLERequestContext& ctx); void Close(Kernel::HLERequestContext& ctx);
void EventFd(Kernel::HLERequestContext& ctx); void EventFd(Kernel::HLERequestContext& ctx);

Loading…
Cancel
Save