diff options
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Lm/LogService')
3 files changed, 0 insertions, 138 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Lm/LogService/ILogger.cs b/Ryujinx.HLE/HOS/Services/Lm/LogService/ILogger.cs deleted file mode 100644 index 3181668f..00000000 --- a/Ryujinx.HLE/HOS/Services/Lm/LogService/ILogger.cs +++ /dev/null @@ -1,109 +0,0 @@ -using Ryujinx.Common.Logging; -using System.IO; -using System.Text; - -namespace Ryujinx.HLE.HOS.Services.Lm.LogService -{ - class ILogger : IpcService - { - public ILogger() { } - - [CommandHipc(0)] - // Log(buffer<unknown, 0x21>) - public ResultCode Log(ServiceCtx context) - { - Logger.Guest?.Print(LogClass.ServiceLm, LogImpl(context)); - - return ResultCode.Success; - } - - private string LogImpl(ServiceCtx context) - { - (ulong bufPos, ulong bufSize) = context.Request.GetBufferType0x21(); - - byte[] logBuffer = new byte[bufSize]; - - context.Memory.Read(bufPos, logBuffer); - - using MemoryStream ms = new MemoryStream(logBuffer); - - BinaryReader reader = new BinaryReader(ms); - - long pid = reader.ReadInt64(); - long threadContext = reader.ReadInt64(); - short flags = reader.ReadInt16(); - byte level = reader.ReadByte(); - byte verbosity = reader.ReadByte(); - int payloadLength = reader.ReadInt32(); - - StringBuilder sb = new StringBuilder(); - - sb.AppendLine($"Guest Log:\n Log level: {(LmLogLevel)level}"); - - while (ms.Position < ms.Length) - { - int type = ReadEncodedInt(reader); - int size = ReadEncodedInt(reader); - - LmLogField field = (LmLogField)type; - - string fieldStr = string.Empty; - - if (field == LmLogField.Start) - { - reader.ReadBytes(size); - - continue; - } - else if (field == LmLogField.Stop) - { - break; - } - else if (field == LmLogField.Line) - { - fieldStr = $"{field}: {reader.ReadInt32()}"; - } - else if (field == LmLogField.DropCount) - { - fieldStr = $"{field}: {reader.ReadInt64()}"; - } - else if (field == LmLogField.Time) - { - fieldStr = $"{field}: {reader.ReadInt64()}s"; - } - else if (field < LmLogField.Count) - { - fieldStr = $"{field}: '{Encoding.UTF8.GetString(reader.ReadBytes(size)).TrimEnd()}'"; - } - else - { - fieldStr = $"Field{field}: '{Encoding.UTF8.GetString(reader.ReadBytes(size)).TrimEnd()}'"; - } - - sb.AppendLine($" {fieldStr}"); - } - - return sb.ToString(); - } - - private static int ReadEncodedInt(BinaryReader reader) - { - int result = 0; - int position = 0; - - byte encoded; - - do - { - encoded = reader.ReadByte(); - - result += (encoded & 0x7F) << (7 * position); - - position++; - - } while ((encoded & 0x80) != 0); - - return result; - } - } -}
\ No newline at end of file diff --git a/Ryujinx.HLE/HOS/Services/Lm/LogService/Types/LmLogField.cs b/Ryujinx.HLE/HOS/Services/Lm/LogService/Types/LmLogField.cs deleted file mode 100644 index 3f93e167..00000000 --- a/Ryujinx.HLE/HOS/Services/Lm/LogService/Types/LmLogField.cs +++ /dev/null @@ -1,18 +0,0 @@ -namespace Ryujinx.HLE.HOS.Services.Lm.LogService -{ - enum LmLogField - { - Start = 0, - Stop = 1, - Message = 2, - Line = 3, - Filename = 4, - Function = 5, - Module = 6, - Thread = 7, - DropCount = 8, - Time = 9, - ProgramName = 10, - Count - } -}
\ No newline at end of file diff --git a/Ryujinx.HLE/HOS/Services/Lm/LogService/Types/LmLogLevel.cs b/Ryujinx.HLE/HOS/Services/Lm/LogService/Types/LmLogLevel.cs deleted file mode 100644 index ee1a8396..00000000 --- a/Ryujinx.HLE/HOS/Services/Lm/LogService/Types/LmLogLevel.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Ryujinx.HLE.HOS.Services.Lm.LogService -{ - enum LmLogLevel - { - Trace, - Info, - Warning, - Error, - Critical - } -}
\ No newline at end of file |
