diff --git a/Ryujinx.HLE/HOS/Services/Ssl/ISslContext.cs b/Ryujinx.HLE/HOS/Services/Ssl/ISslContext.cs new file mode 100644 index 000000000..8f3a0649b --- /dev/null +++ b/Ryujinx.HLE/HOS/Services/Ssl/ISslContext.cs @@ -0,0 +1,20 @@ +using Ryujinx.HLE.HOS.Ipc; +using System.Collections.Generic; + +namespace Ryujinx.HLE.HOS.Services.Ssl +{ + class ISslContext : IpcService + { + private Dictionary m_Commands; + + public override IReadOnlyDictionary Commands => m_Commands; + + public ISslContext() + { + m_Commands = new Dictionary() + { + //... + }; + } + } +} \ No newline at end of file diff --git a/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs b/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs index b59527f70..5affc6368 100644 --- a/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs +++ b/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs @@ -14,15 +14,30 @@ namespace Ryujinx.HLE.HOS.Services.Ssl { m_Commands = new Dictionary() { + { 0, CreateContext }, { 5, SetInterfaceVersion } }; } + // CreateContext(nn::ssl::sf::SslVersion, u64, pid) -> object + public long CreateContext(ServiceCtx Context) + { + int SslVersion = Context.RequestData.ReadInt32(); + long Unknown = Context.RequestData.ReadInt64(); + + Context.Device.Log.PrintStub(LogClass.ServiceSsl, $"Stubbed. SslVersion: {SslVersion} - Unknown: {Unknown}"); + + MakeObject(Context, new ISslContext()); + + return 0; + } + + // SetInterfaceVersion(u32) public long SetInterfaceVersion(ServiceCtx Context) { int Version = Context.RequestData.ReadInt32(); - Context.Device.Log.PrintStub(LogClass.ServiceSsl, "Stubbed."); + Context.Device.Log.PrintStub(LogClass.ServiceSsl, $"Stubbed. Version: {Version}"); return 0; }