aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslConnectionBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslConnectionBase.cs')
-rw-r--r--Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslConnectionBase.cs25
1 files changed, 25 insertions, 0 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslConnectionBase.cs b/Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslConnectionBase.cs
new file mode 100644
index 00000000..74e5fcda
--- /dev/null
+++ b/Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslConnectionBase.cs
@@ -0,0 +1,25 @@
+using Ryujinx.HLE.HOS.Services.Sockets.Bsd;
+using System;
+using System.Net.Sockets;
+
+namespace Ryujinx.HLE.HOS.Services.Ssl.SslService
+{
+ interface ISslConnectionBase: IDisposable
+ {
+ int SocketFd { get; }
+
+ ISocket Socket { get; }
+
+ ResultCode Handshake(string hostName);
+
+ ResultCode GetServerCertificate(string hostname, Span<byte> certificates, out uint storageSize, out uint certificateCount);
+
+ ResultCode Write(out int writtenCount, ReadOnlyMemory<byte> buffer);
+
+ ResultCode Read(out int readCount, Memory<byte> buffer);
+
+ ResultCode Peek(out int peekCount, Memory<byte> buffer);
+
+ int Pending();
+ }
+}