diff --git a/Ryujinx.Core/OsHle/MemoryRegions.cs b/Ryujinx.Core/OsHle/MemoryRegions.cs index 3b69042607..e362ba9fd7 100644 --- a/Ryujinx.Core/OsHle/MemoryRegions.cs +++ b/Ryujinx.Core/OsHle/MemoryRegions.cs @@ -7,7 +7,7 @@ namespace Ryujinx.Core.OsHle public const long AddrSpaceStart = 0x08000000; public const long MapRegionAddress = 0x10000000; - public const long MapRegionSize = 0x40000000; + public const long MapRegionSize = 0x10000000; public const long MainStackSize = 0x100000; diff --git a/Ryujinx.Core/OsHle/Services/Bsd/ServiceBsd.cs b/Ryujinx.Core/OsHle/Services/Bsd/ServiceBsd.cs index fa47d94456..b594441272 100644 --- a/Ryujinx.Core/OsHle/Services/Bsd/ServiceBsd.cs +++ b/Ryujinx.Core/OsHle/Services/Bsd/ServiceBsd.cs @@ -13,8 +13,11 @@ namespace Ryujinx.Core.OsHle.IpcServices.Bsd { m_Commands = new Dictionary() { - { 0, Initialize }, - { 1, StartMonitoring } + { 0, Initialize }, + { 1, StartMonitoring }, + { 2, Socket }, + { 10, Send }, + { 14, Connect } }; } @@ -56,5 +59,38 @@ namespace Ryujinx.Core.OsHle.IpcServices.Bsd return 0; } + + //Socket(u32 domain, u32 type, u32 protocol) -> (i32 ret, u32 bsd_errno) + public long Socket(ServiceCtx Context) + { + Context.ResponseData.Write(0); + Context.ResponseData.Write(0); + + //Todo: Stub + + return 0; + } + + //Connect(u32 socket, buffer) -> (i32 ret, u32 bsd_errno) + public long Connect(ServiceCtx Context) + { + Context.ResponseData.Write(0); + Context.ResponseData.Write(0); + + //Todo: Stub + + return 0; + } + + //Send(u32 socket, u32 flags, buffer) -> (i32 ret, u32 bsd_errno) + public long Send(ServiceCtx Context) + { + Context.ResponseData.Write(0); + Context.ResponseData.Write(0); + + //Todo: Stub + + return 0; + } } } \ No newline at end of file diff --git a/Ryujinx.Core/OsHle/Services/ServiceFactory.cs b/Ryujinx.Core/OsHle/Services/ServiceFactory.cs index aae624534e..c5da717e78 100644 --- a/Ryujinx.Core/OsHle/Services/ServiceFactory.cs +++ b/Ryujinx.Core/OsHle/Services/ServiceFactory.cs @@ -13,6 +13,7 @@ using Ryujinx.Core.OsHle.IpcServices.NvServices; using Ryujinx.Core.OsHle.IpcServices.Pctl; using Ryujinx.Core.OsHle.IpcServices.Pl; using Ryujinx.Core.OsHle.IpcServices.Set; +using Ryujinx.Core.OsHle.IpcServices.Sfdnsres; using Ryujinx.Core.OsHle.IpcServices.Sm; using Ryujinx.Core.OsHle.IpcServices.Ssl; using Ryujinx.Core.OsHle.IpcServices.Time; @@ -45,6 +46,7 @@ namespace Ryujinx.Core.OsHle.IpcServices case "pctl:a": return new ServicePctl(); case "pl:u": return new ServicePl(); case "set": return new ServiceSet(); + case "sfdnsres": return new ServiceSfdnsres(); case "sm:": return new ServiceSm(); case "ssl": return new ServiceSsl(); case "time:s": return new ServiceTime(); diff --git a/Ryujinx.Core/OsHle/Services/Sfdnsres/ServiceSfdnsres.cs b/Ryujinx.Core/OsHle/Services/Sfdnsres/ServiceSfdnsres.cs new file mode 100644 index 0000000000..f110ae736f --- /dev/null +++ b/Ryujinx.Core/OsHle/Services/Sfdnsres/ServiceSfdnsres.cs @@ -0,0 +1,20 @@ +using Ryujinx.Core.OsHle.Ipc; +using System.Collections.Generic; + +namespace Ryujinx.Core.OsHle.IpcServices.Sfdnsres +{ + class ServiceSfdnsres : IIpcService + { + private Dictionary m_Commands; + + public IReadOnlyDictionary Commands => m_Commands; + + public ServiceSfdnsres() + { + m_Commands = new Dictionary() + { + //{ 0, Function } + }; + } + } +}