mirror of
https://github.com/ryujinx-mirror/ryujinx.git
synced 2024-10-20 20:01:41 +00:00
e5741fae2d
* sfdnsres: Cleanup service and implements some calls This PR is a big cleanup to our current implementation of `sfdnsres` service. Additionnaly to that, some calls and fix have been done by @Thog (PRd with approval, thanks to her). - Implementation of `GetAddrInfoRequest` (Fixes #637). - Partial implementation of `GetHostByNameRequestWithOptions`, `GetHostByAddrRequestWithOptions` and `GetAddrInfoRequestWithOptions` (Fixes #642, Fixes #1233). A DNS Blacklist have been done by @riperiperi (which is currently used in LDN build, then that reduces code differences between the LDN build and master. Now a lot of games are playable or are blocked to the menu because it needs online service: Co-Authored-By: Mary <1760003+Thog@users.noreply.github.com> Co-Authored-By: riperiperi <6294155+riperiperi@users.noreply.github.com> * Addressed gdkchan's comments * IPAddress[] to IEnumerable * Nits Co-authored-by: Mary <1760003+Thog@users.noreply.github.com> Co-authored-by: riperiperi <6294155+riperiperi@users.noreply.github.com>
29 lines
No EOL
763 B
C#
29 lines
No EOL
763 B
C#
using Ryujinx.Common.Memory;
|
|
using System;
|
|
using System.Net;
|
|
using System.Net.Sockets;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Sockets.Sfdnsres.Types
|
|
{
|
|
[StructLayout(LayoutKind.Sequential, Pack = 1, Size = 0x10)]
|
|
struct AddrInfo4
|
|
{
|
|
public byte Length;
|
|
public byte Family;
|
|
public short Port;
|
|
public Array4<byte> Address;
|
|
|
|
public AddrInfo4(IPAddress address, short port)
|
|
{
|
|
Length = 0;
|
|
Family = (byte)AddressFamily.InterNetwork;
|
|
Port = port;
|
|
Address = default;
|
|
|
|
address.GetAddressBytes().AsSpan().CopyTo(Address.ToSpan());
|
|
|
|
Address.ToSpan().Reverse();
|
|
}
|
|
}
|
|
} |