aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Services/Ssl/SslService/ISslConnectionBase.cs
blob: 18e03e49d4fba9efeb9ff27da7fe49793bfa30dc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using Ryujinx.HLE.HOS.Services.Sockets.Bsd;
using System;

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();
    }
}