aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Horizon/Sdk/Friends/Url.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Horizon/Sdk/Friends/Url.cs')
-rw-r--r--src/Ryujinx.Horizon/Sdk/Friends/Url.cs30
1 files changed, 30 insertions, 0 deletions
diff --git a/src/Ryujinx.Horizon/Sdk/Friends/Url.cs b/src/Ryujinx.Horizon/Sdk/Friends/Url.cs
new file mode 100644
index 00000000..833ee123
--- /dev/null
+++ b/src/Ryujinx.Horizon/Sdk/Friends/Url.cs
@@ -0,0 +1,30 @@
+using System;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace Ryujinx.Horizon.Sdk.Friends
+{
+ [StructLayout(LayoutKind.Sequential, Size = 0xA0, Pack = 0x1)]
+ struct Url
+ {
+ public UrlStorage Path;
+
+ [InlineArray(0xA0)]
+ public struct UrlStorage
+ {
+ public byte Value;
+ }
+
+ public override readonly string ToString()
+ {
+ int length = ((ReadOnlySpan<byte>)Path).IndexOf((byte)0);
+ if (length < 0)
+ {
+ length = 33;
+ }
+
+ return Encoding.UTF8.GetString(((ReadOnlySpan<byte>)Path)[..length]);
+ }
+ }
+}