diff --git a/src/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs b/src/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs index 5e4a0c53b..17fde279c 100644 --- a/src/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs +++ b/src/Ryujinx.HLE/HOS/Services/Ssl/ISslService.cs @@ -9,6 +9,7 @@ using System.Runtime.InteropServices; namespace Ryujinx.HLE.HOS.Services.Ssl { [Service("ssl")] + [Service("ssl:s")] class ISslService : IpcService { // NOTE: The SSL service is used by games to connect it to various official online services, which we do not intend to support. @@ -123,5 +124,48 @@ namespace Ryujinx.HLE.HOS.Services.Ssl return ResultCode.Success; } + + [CommandCmif(100)] + // CreateContextForSystem(u64 pid, nn::ssl::sf::SslVersion, u64) + public ResultCode CreateContextForSystem(ServiceCtx context) + { + ulong pid = context.RequestData.ReadUInt64(); + SslVersion sslVersion = (SslVersion)context.RequestData.ReadUInt32(); + ulong pidPlaceholder = context.RequestData.ReadUInt64(); + + Logger.Stub?.PrintStub(LogClass.ServiceSsl, new { pid, sslVersion, pidPlaceholder }); + + return ResultCode.Success; + } + + [CommandCmif(101)] + // SetThreadCoreMask(u64 mask) + public ResultCode SetThreadCoreMask(ServiceCtx context) + { + ulong mask = context.RequestData.ReadUInt64(); + + Logger.Stub?.PrintStub(LogClass.ServiceSsl, new { mask }); + + return ResultCode.Success; + } + + [CommandCmif(102)] + // GetThreadCoreMask() -> u64 + public ResultCode GetThreadCoreMask(ServiceCtx context) + { + Logger.Stub?.PrintStub(LogClass.ServiceSsl); + + return ResultCode.Success; + } + + [CommandCmif(103)] + // VerifySignature(buffer<0x5> unknownInput1, buffer<0x5> unknownInput2, buffer<0x5> unknownInput3, buffer unknown1) + public ResultCode VerifySignature(ServiceCtx context) + { + // I would log these values like a proper stub, but I genuinely don't know how. + Logger.Stub?.PrintStub(LogClass.ServiceSsl); + + return ResultCode.Success; + } } }