diff --git a/src/Abanu.Lib/MessageManager.cs b/src/Abanu.Lib/MessageManager.cs index 2432471..4ba5f7f 100644 --- a/src/Abanu.Lib/MessageManager.cs +++ b/src/Abanu.Lib/MessageManager.cs @@ -13,7 +13,7 @@ namespace Abanu.Runtime { - public unsafe delegate void OnMessageReceivedDelegate(ref SystemMessage msg); + public unsafe delegate void OnMessageReceivedDelegate(in SystemMessage msg); public delegate void OnExceptionDelegate(Exception ex); //public unsafe delegate void OnInterruptReceivedDelegate(InterruptMessage* msg); @@ -29,7 +29,7 @@ public static unsafe void Dispatch(SystemMessage msg) try { if (OnMessageReceived != null) - OnMessageReceived(ref msg); + OnMessageReceived(msg); } catch (Exception ex) { diff --git a/src/Abanu.Service.Basic/Program.cs b/src/Abanu.Service.Basic/Program.cs index 39df286..8b980e7 100644 --- a/src/Abanu.Service.Basic/Program.cs +++ b/src/Abanu.Service.Basic/Program.cs @@ -75,27 +75,27 @@ public static unsafe void OnDispatchError(Exception ex) } private static MemoryRegion GetProcessByNameBuffer; - public static unsafe void MessageReceived(ref SystemMessage msg) + public static unsafe void MessageReceived(in SystemMessage msg) { switch (msg.Target) { case SysCallTarget.OpenFile: - Cmd_OpenFile(ref msg); + Cmd_OpenFile(msg); break; case SysCallTarget.GetFileLength: - Cmd_GetFileLength(ref msg); + Cmd_GetFileLength(msg); break; case SysCallTarget.WriteFile: - Cmd_WriteFile(ref msg); + Cmd_WriteFile(msg); break; case SysCallTarget.ReadFile: - Cmd_ReadFile(ref msg); + Cmd_ReadFile(msg); break; case SysCallTarget.CreateFifo: - Cmd_CreateFiFo(ref msg); + Cmd_CreateFiFo(msg); break; case SysCallTarget.Interrupt: - Cmd_Interrupt(ref msg); + Cmd_Interrupt(msg); break; case SysCallTarget.TmpDebug: if (msg.Arg1 == 1) @@ -289,7 +289,7 @@ internal static VfsFile FindFile(string path) return null; } - public static unsafe void Cmd_Interrupt(ref SystemMessage msg) + public static unsafe void Cmd_Interrupt(in SystemMessage msg) { var code = Native.In8(0x60); @@ -308,7 +308,7 @@ public static unsafe void Cmd_Interrupt(ref SystemMessage msg) MessageManager.Send(new SystemMessage(SysCallTarget.ServiceReturn)); } - public static unsafe void Cmd_CreateFiFo(ref SystemMessage msg) + public static unsafe void Cmd_CreateFiFo(in SystemMessage msg) { var path = NullTerminatedString.ToString((byte*)msg.Arg1); @@ -326,7 +326,7 @@ public static unsafe void Cmd_CreateFiFo(ref SystemMessage msg) MessageManager.Send(new SystemMessage(SysCallTarget.ServiceReturn)); } - public static unsafe void Cmd_CreateMemoryFile(ref SystemMessage msg) + public static unsafe void Cmd_CreateMemoryFile(in SystemMessage msg) { var start = msg.Arg1; var length = msg.Arg2; @@ -348,7 +348,7 @@ public static unsafe void Cmd_CreateMemoryFile(ref SystemMessage msg) MessageManager.Send(new SystemMessage(SysCallTarget.ServiceReturn)); } - public static unsafe void Cmd_GetFileLength(ref SystemMessage msg) + public static unsafe void Cmd_GetFileLength(in SystemMessage msg) { var path = NullTerminatedString.ToString((byte*)msg.Arg1); @@ -376,7 +376,7 @@ public static unsafe void Cmd_GetFileLength(ref SystemMessage msg) MessageManager.Send(new SystemMessage(SysCallTarget.ServiceReturn, (uint)file.Length)); } - public static unsafe void Cmd_OpenFile(ref SystemMessage msg) + public static unsafe void Cmd_OpenFile(in SystemMessage msg) { //var addr = msg->Arg1; @@ -419,7 +419,7 @@ public static unsafe void Cmd_OpenFile(ref SystemMessage msg) MessageManager.Send(new SystemMessage(SysCallTarget.ServiceReturn, openFile.Handle)); } - public static unsafe void Cmd_ReadFile(ref SystemMessage msg) + public static unsafe void Cmd_ReadFile(in SystemMessage msg) { if (TraceFileIO) Console.WriteLine("Read Handle: " + msg.Arg1.ToString("X")); @@ -438,7 +438,7 @@ public static unsafe void Cmd_ReadFile(ref SystemMessage msg) MessageManager.Send(new SystemMessage(SysCallTarget.ServiceReturn, gotBytes)); } - public static unsafe void Cmd_WriteFile(ref SystemMessage msg) + public static unsafe void Cmd_WriteFile(in SystemMessage msg) { if (TraceFileIO) Console.WriteLine("Write Handle: " + msg.Arg1.ToString("X")); diff --git a/src/Abanu.Service.HostCommunication/Program.cs b/src/Abanu.Service.HostCommunication/Program.cs index 9fa99e9..edd1972 100644 --- a/src/Abanu.Service.HostCommunication/Program.cs +++ b/src/Abanu.Service.HostCommunication/Program.cs @@ -34,7 +34,7 @@ public static unsafe void Main() } } - public static unsafe void MessageReceived(ref SystemMessage msg) + public static unsafe void MessageReceived(in SystemMessage msg) { MessageManager.Send(new SystemMessage(SysCallTarget.ServiceReturn, msg.Arg1 + 10)); } diff --git a/src/App.HelloService/Program.cs b/src/App.HelloService/Program.cs index 2bad589..1f84603 100644 --- a/src/App.HelloService/Program.cs +++ b/src/App.HelloService/Program.cs @@ -30,7 +30,7 @@ public static unsafe void Main() } } - public static unsafe void MessageReceived(ref SystemMessage msg) + public static unsafe void MessageReceived(in SystemMessage msg) { MessageManager.Send(SysCallTarget.ServiceReturn, msg.Arg1 + 10); }