aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/Utilities
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.HLE/Utilities')
-rw-r--r--Ryujinx.HLE/Utilities/FontUtils.cs37
-rw-r--r--Ryujinx.HLE/Utilities/LinuxError.cs155
-rw-r--r--Ryujinx.HLE/Utilities/StreamUtils.cs16
-rw-r--r--Ryujinx.HLE/Utilities/StringUtils.cs10
-rw-r--r--Ryujinx.HLE/Utilities/StructReader.cs38
-rw-r--r--Ryujinx.HLE/Utilities/StructWriter.cs31
-rw-r--r--Ryujinx.HLE/Utilities/WSAError.cs134
7 files changed, 5 insertions, 416 deletions
diff --git a/Ryujinx.HLE/Utilities/FontUtils.cs b/Ryujinx.HLE/Utilities/FontUtils.cs
deleted file mode 100644
index 91cbdee7..00000000
--- a/Ryujinx.HLE/Utilities/FontUtils.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-using System.IO;
-
-namespace Ryujinx.HLE.Utilities
-{
- public static class FontUtils
- {
- private static readonly uint FontKey = 0x06186249;
-
- public static byte[] DecryptFont(Stream bfttfStream)
- {
- uint KXor(uint In) => In ^ FontKey;
-
- using (BinaryReader reader = new BinaryReader(bfttfStream))
- {
- using (MemoryStream ttfStream = new MemoryStream())
- {
- using (BinaryWriter output = new BinaryWriter(ttfStream))
- {
- if (KXor(reader.ReadUInt32()) != 0x18029a7f)
- {
- throw new InvalidDataException("Error: Input file is not in BFTTF format!");
- }
-
- bfttfStream.Position += 4;
-
- for (int i = 0; i < (bfttfStream.Length - 8) / 4; i++)
- {
- output.Write(KXor(reader.ReadUInt32()));
- }
-
- return ttfStream.ToArray();
- }
- }
- }
- }
- }
-}
diff --git a/Ryujinx.HLE/Utilities/LinuxError.cs b/Ryujinx.HLE/Utilities/LinuxError.cs
deleted file mode 100644
index 81a9d7be..00000000
--- a/Ryujinx.HLE/Utilities/LinuxError.cs
+++ /dev/null
@@ -1,155 +0,0 @@
-using System.Diagnostics.CodeAnalysis;
-
-namespace Ryujinx.HLE.Utilities
-{
- [SuppressMessage("ReSharper", "InconsistentNaming")]
- enum LinuxError
- {
- SUCCESS = 0,
- EPERM = 1 /* Operation not permitted */,
- ENOENT = 2 /* No such file or directory */,
- ESRCH = 3 /* No such process */,
- EINTR = 4 /* Interrupted system call */,
- EIO = 5 /* I/O error */,
- ENXIO = 6 /* No such device or address */,
- E2BIG = 7 /* Argument list too long */,
- ENOEXEC = 8 /* Exec format error */,
- EBADF = 9 /* Bad file number */,
- ECHILD = 10 /* No child processes */,
- EAGAIN = 11 /* Try again */,
- ENOMEM = 12 /* Out of memory */,
- EACCES = 13 /* Permission denied */,
- EFAULT = 14 /* Bad address */,
- ENOTBLK = 15 /* Block device required */,
- EBUSY = 16 /* Device or resource busy */,
- EEXIST = 17 /* File exists */,
- EXDEV = 18 /* Cross-device link */,
- ENODEV = 19 /* No such device */,
- ENOTDIR = 20 /* Not a directory */,
- EISDIR = 21 /* Is a directory */,
- EINVAL = 22 /* Invalid argument */,
- ENFILE = 23 /* File table overflow */,
- EMFILE = 24 /* Too many open files */,
- ENOTTY = 25 /* Not a typewriter */,
- ETXTBSY = 26 /* Text file busy */,
- EFBIG = 27 /* File too large */,
- ENOSPC = 28 /* No space left on device */,
- ESPIPE = 29 /* Illegal seek */,
- EROFS = 30 /* Read-only file system */,
- EMLINK = 31 /* Too many links */,
- EPIPE = 32 /* Broken pipe */,
- EDOM = 33 /* Math argument out of domain of func */,
- ERANGE = 34 /* Math result not representable */,
- EDEADLK = 35 /* Resource deadlock would occur */,
- ENAMETOOLONG = 36 /* File name too long */,
- ENOLCK = 37 /* No record locks available */,
-
- /*
- * This error code is special: arch syscall entry code will return
- * -ENOSYS if users try to call a syscall that doesn't exist. To keep
- * failures of syscalls that really do exist distinguishable from
- * failures due to attempts to use a nonexistent syscall, syscall
- * implementations should refrain from returning -ENOSYS.
- */
- ENOSYS = 38 /* Invalid system call number */,
- ENOTEMPTY = 39 /* Directory not empty */,
- ELOOP = 40 /* Too many symbolic links encountered */,
- EWOULDBLOCK = EAGAIN /* Operation would block */,
- ENOMSG = 42 /* No message of desired type */,
- EIDRM = 43 /* Identifier removed */,
- ECHRNG = 44 /* Channel number out of range */,
- EL2NSYNC = 45 /* Level 2 not synchronized */,
- EL3HLT = 46 /* Level 3 halted */,
- EL3RST = 47 /* Level 3 reset */,
- ELNRNG = 48 /* Link number out of range */,
- EUNATCH = 49 /* Protocol driver not attached */,
- ENOCSI = 50 /* No CSI structure available */,
- EL2HLT = 51 /* Level 2 halted */,
- EBADE = 52 /* Invalid exchange */,
- EBADR = 53 /* Invalid request descriptor */,
- EXFULL = 54 /* Exchange full */,
- ENOANO = 55 /* No anode */,
- EBADRQC = 56 /* Invalid request code */,
- EBADSLT = 57 /* Invalid slot */,
- EDEADLOCK = EDEADLK,
- EBFONT = 59 /* Bad font file format */,
- ENOSTR = 60 /* Device not a stream */,
- ENODATA = 61 /* No data available */,
- ETIME = 62 /* Timer expired */,
- ENOSR = 63 /* Out of streams resources */,
- ENONET = 64 /* Machine is not on the network */,
- ENOPKG = 65 /* Package not installed */,
- EREMOTE = 66 /* Object is remote */,
- ENOLINK = 67 /* Link has been severed */,
- EADV = 68 /* Advertise error */,
- ESRMNT = 69 /* Srmount error */,
- ECOMM = 70 /* Communication error on send */,
- EPROTO = 71 /* Protocol error */,
- EMULTIHOP = 72 /* Multihop attempted */,
- EDOTDOT = 73 /* RFS specific error */,
- EBADMSG = 74 /* Not a data message */,
- EOVERFLOW = 75 /* Value too large for defined data type */,
- ENOTUNIQ = 76 /* Name not unique on network */,
- EBADFD = 77 /* File descriptor in bad state */,
- EREMCHG = 78 /* Remote address changed */,
- ELIBACC = 79 /* Can not access a needed shared library */,
- ELIBBAD = 80 /* Accessing a corrupted shared library */,
- ELIBSCN = 81 /* .lib section in a.out corrupted */,
- ELIBMAX = 82 /* Attempting to link in too many shared libraries */,
- ELIBEXEC = 83 /* Cannot exec a shared library directly */,
- EILSEQ = 84 /* Illegal byte sequence */,
- ERESTART = 85 /* Interrupted system call should be restarted */,
- ESTRPIPE = 86 /* Streams pipe error */,
- EUSERS = 87 /* Too many users */,
- ENOTSOCK = 88 /* Socket operation on non-socket */,
- EDESTADDRREQ = 89 /* Destination address required */,
- EMSGSIZE = 90 /* Message too long */,
- EPROTOTYPE = 91 /* Protocol wrong type for socket */,
- ENOPROTOOPT = 92 /* Protocol not available */,
- EPROTONOSUPPORT = 93 /* Protocol not supported */,
- ESOCKTNOSUPPORT = 94 /* Socket type not supported */,
- EOPNOTSUPP = 95 /* Operation not supported on transport endpoint */,
- EPFNOSUPPORT = 96 /* Protocol family not supported */,
- EAFNOSUPPORT = 97 /* Address family not supported by protocol */,
- EADDRINUSE = 98 /* Address already in use */,
- EADDRNOTAVAIL = 99 /* Cannot assign requested address */,
- ENETDOWN = 100 /* Network is down */,
- ENETUNREACH = 101 /* Network is unreachable */,
- ENETRESET = 102 /* Network dropped connection because of reset */,
- ECONNABORTED = 103 /* Software caused connection abort */,
- ECONNRESET = 104 /* Connection reset by peer */,
- ENOBUFS = 105 /* No buffer space available */,
- EISCONN = 106 /* Transport endpoint is already connected */,
- ENOTCONN = 107 /* Transport endpoint is not connected */,
- ESHUTDOWN = 108 /* Cannot send after transport endpoint shutdown */,
- ETOOMANYREFS = 109 /* Too many references: cannot splice */,
- ETIMEDOUT = 110 /* Connection timed out */,
- ECONNREFUSED = 111 /* Connection refused */,
- EHOSTDOWN = 112 /* Host is down */,
- EHOSTUNREACH = 113 /* No route to host */,
- EALREADY = 114 /* Operation already in progress */,
- EINPROGRESS = 115 /* Operation now in progress */,
- ESTALE = 116 /* Stale file handle */,
- EUCLEAN = 117 /* Structure needs cleaning */,
- ENOTNAM = 118 /* Not a XENIX named type file */,
- ENAVAIL = 119 /* No XENIX semaphores available */,
- EISNAM = 120 /* Is a named type file */,
- EREMOTEIO = 121 /* Remote I/O error */,
- EDQUOT = 122 /* Quota exceeded */,
- ENOMEDIUM = 123 /* No medium found */,
- EMEDIUMTYPE = 124 /* Wrong medium type */,
- ECANCELED = 125 /* Operation Canceled */,
- ENOKEY = 126 /* Required key not available */,
- EKEYEXPIRED = 127 /* Key has expired */,
- EKEYREVOKED = 128 /* Key has been revoked */,
- EKEYREJECTED = 129 /* Key was rejected by service */,
-
- /* for robust mutexes */
- EOWNERDEAD = 130 /* Owner died */,
- ENOTRECOVERABLE = 131 /* State not recoverable */,
-
- ERFKILL = 132 /* Operation not possible due to RF-kill */,
-
- EHWPOISON = 133 /* Memory page has hardware error */
- }
-} \ No newline at end of file
diff --git a/Ryujinx.HLE/Utilities/StreamUtils.cs b/Ryujinx.HLE/Utilities/StreamUtils.cs
deleted file mode 100644
index 7b44bc17..00000000
--- a/Ryujinx.HLE/Utilities/StreamUtils.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.IO;
-
-namespace Ryujinx.HLE.Utilities
-{
- static class StreamUtils
- {
- public static byte[] StreamToBytes(Stream input)
- {
- using (MemoryStream ms = new MemoryStream())
- {
- input.CopyTo(ms);
- return ms.ToArray();
- }
- }
- }
-}
diff --git a/Ryujinx.HLE/Utilities/StringUtils.cs b/Ryujinx.HLE/Utilities/StringUtils.cs
index 0259a4fd..4142ab5b 100644
--- a/Ryujinx.HLE/Utilities/StringUtils.cs
+++ b/Ryujinx.HLE/Utilities/StringUtils.cs
@@ -12,7 +12,7 @@ namespace Ryujinx.HLE.Utilities
{
public static byte[] GetFixedLengthBytes(string inputString, int size, Encoding encoding)
{
- inputString = inputString + "\0";
+ inputString += "\0";
int bytesCount = encoding.GetByteCount(inputString);
@@ -76,8 +76,8 @@ namespace Ryujinx.HLE.Utilities
public static U8Span ReadUtf8Span(ServiceCtx context, int index = 0)
{
- ulong position = (ulong)context.Request.PtrBuff[index].Position;
- ulong size = (ulong)context.Request.PtrBuff[index].Size;
+ ulong position = context.Request.PtrBuff[index].Position;
+ ulong size = context.Request.PtrBuff[index].Size;
ReadOnlySpan<byte> buffer = context.Memory.GetSpan(position, (int)size);
@@ -93,7 +93,7 @@ namespace Ryujinx.HLE.Utilities
{
while (size-- > 0)
{
- byte value = context.Memory.Read<byte>((ulong)position++);
+ byte value = context.Memory.Read<byte>(position++);
if (value == 0)
{
@@ -133,4 +133,4 @@ namespace Ryujinx.HLE.Utilities
return i;
}
}
-}
+} \ No newline at end of file
diff --git a/Ryujinx.HLE/Utilities/StructReader.cs b/Ryujinx.HLE/Utilities/StructReader.cs
deleted file mode 100644
index 81e758a8..00000000
--- a/Ryujinx.HLE/Utilities/StructReader.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using Ryujinx.Cpu;
-using Ryujinx.Memory;
-using System;
-using System.Runtime.InteropServices;
-
-namespace Ryujinx.HLE.Utilities
-{
- class StructReader
- {
- private IVirtualMemoryManager _memory;
-
- public ulong Position { get; private set; }
-
- public StructReader(IVirtualMemoryManager memory, ulong position)
- {
- _memory = memory;
- Position = position;
- }
-
- public T Read<T>() where T : unmanaged
- {
- T value = MemoryHelper.Read<T>(_memory, Position);
-
- Position += (uint)Marshal.SizeOf<T>();
-
- return value;
- }
-
- public ReadOnlySpan<T> Read<T>(int size) where T : unmanaged
- {
- ReadOnlySpan<byte> data = _memory.GetSpan(Position, size);
-
- Position += (uint)size;
-
- return MemoryMarshal.Cast<byte, T>(data);
- }
- }
-}
diff --git a/Ryujinx.HLE/Utilities/StructWriter.cs b/Ryujinx.HLE/Utilities/StructWriter.cs
deleted file mode 100644
index 39644db5..00000000
--- a/Ryujinx.HLE/Utilities/StructWriter.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using Ryujinx.Cpu;
-using Ryujinx.Memory;
-using System.Runtime.InteropServices;
-
-namespace Ryujinx.HLE.Utilities
-{
- class StructWriter
- {
- private IVirtualMemoryManager _memory;
-
- public ulong Position { get; private set; }
-
- public StructWriter(IVirtualMemoryManager memory, ulong position)
- {
- _memory = memory;
- Position = position;
- }
-
- public void Write<T>(T value) where T : struct
- {
- MemoryHelper.Write(_memory, Position, value);
-
- Position += (ulong)Marshal.SizeOf<T>();
- }
-
- public void SkipBytes(ulong count)
- {
- Position += count;
- }
- }
-}
diff --git a/Ryujinx.HLE/Utilities/WSAError.cs b/Ryujinx.HLE/Utilities/WSAError.cs
deleted file mode 100644
index 81294b8b..00000000
--- a/Ryujinx.HLE/Utilities/WSAError.cs
+++ /dev/null
@@ -1,134 +0,0 @@
-using System.Diagnostics.CodeAnalysis;
-
-namespace Ryujinx.HLE.Utilities
-{
- [SuppressMessage("ReSharper", "InconsistentNaming")]
- enum WsaError
- {
- /*
- * All Windows Sockets error constants are biased by WSABASEERR from
- * the "normal"
- */
- WSABASEERR = 10000,
-
- /*
- * Windows Sockets definitions of regular Microsoft C error constants
- */
- WSAEINTR = (WSABASEERR + 4),
- WSAEBADF = (WSABASEERR + 9),
- WSAEACCES = (WSABASEERR + 13),
- WSAEFAULT = (WSABASEERR + 14),
- WSAEINVAL = (WSABASEERR + 22),
- WSAEMFILE = (WSABASEERR + 24),
-
- /*
- * Windows Sockets definitions of regular Berkeley error constants
- */
- WSAEWOULDBLOCK = (WSABASEERR + 35),
- WSAEINPROGRESS = (WSABASEERR + 36),
- WSAEALREADY = (WSABASEERR + 37),
- WSAENOTSOCK = (WSABASEERR + 38),
- WSAEDESTADDRREQ = (WSABASEERR + 39),
- WSAEMSGSIZE = (WSABASEERR + 40),
- WSAEPROTOTYPE = (WSABASEERR + 41),
- WSAENOPROTOOPT = (WSABASEERR + 42),
- WSAEPROTONOSUPPORT = (WSABASEERR + 43),
- WSAESOCKTNOSUPPORT = (WSABASEERR + 44),
- WSAEOPNOTSUPP = (WSABASEERR + 45),
- WSAEPFNOSUPPORT = (WSABASEERR + 46),
- WSAEAFNOSUPPORT = (WSABASEERR + 47),
- WSAEADDRINUSE = (WSABASEERR + 48),
- WSAEADDRNOTAVAIL = (WSABASEERR + 49),
- WSAENETDOWN = (WSABASEERR + 50),
- WSAENETUNREACH = (WSABASEERR + 51),
- WSAENETRESET = (WSABASEERR + 52),
- WSAECONNABORTED = (WSABASEERR + 53),
- WSAECONNRESET = (WSABASEERR + 54),
- WSAENOBUFS = (WSABASEERR + 55),
- WSAEISCONN = (WSABASEERR + 56),
- WSAENOTCONN = (WSABASEERR + 57),
- WSAESHUTDOWN = (WSABASEERR + 58),
- WSAETOOMANYREFS = (WSABASEERR + 59),
- WSAETIMEDOUT = (WSABASEERR + 60),
- WSAECONNREFUSED = (WSABASEERR + 61),
- WSAELOOP = (WSABASEERR + 62),
- WSAENAMETOOLONG = (WSABASEERR + 63),
- WSAEHOSTDOWN = (WSABASEERR + 64),
- WSAEHOSTUNREACH = (WSABASEERR + 65),
- WSAENOTEMPTY = (WSABASEERR + 66),
- WSAEPROCLIM = (WSABASEERR + 67),
- WSAEUSERS = (WSABASEERR + 68),
- WSAEDQUOT = (WSABASEERR + 69),
- WSAESTALE = (WSABASEERR + 70),
- WSAEREMOTE = (WSABASEERR + 71),
-
- /*
- * Extended Windows Sockets error constant definitions
- */
- WSASYSNOTREADY = (WSABASEERR + 91),
- WSAVERNOTSUPPORTED = (WSABASEERR + 92),
- WSANOTINITIALISED = (WSABASEERR + 93),
- WSAEDISCON = (WSABASEERR + 101),
- WSAENOMORE = (WSABASEERR + 102),
- WSAECANCELLED = (WSABASEERR + 103),
- WSAEINVALIDPROCTABLE = (WSABASEERR + 104),
- WSAEINVALIDPROVIDER = (WSABASEERR + 105),
- WSAEPROVIDERFAILEDINIT = (WSABASEERR + 106),
- WSASYSCALLFAILURE = (WSABASEERR + 107),
- WSASERVICE_NOT_FOUND = (WSABASEERR + 108),
- WSATYPE_NOT_FOUND = (WSABASEERR + 109),
- WSA_E_NO_MORE = (WSABASEERR + 110),
- WSA_E_CANCELLED = (WSABASEERR + 111),
- WSAEREFUSED = (WSABASEERR + 112),
-
- /*
- * Error return codes from gethostbyname() and gethostbyaddr()
- * (when using the resolver). Note that these errors are
- * retrieved via WSAGetLastError() and must therefore follow
- * the rules for avoiding clashes with error numbers from
- * specific implementations or language run-time systems.
- * For this reason the codes are based at WSABASEERR+1001.
- * Note also that [WSA]NO_ADDRESS is defined only for
- * compatibility purposes.
- */
-
- /* Authoritative Answer: Host not found */
- WSAHOST_NOT_FOUND = (WSABASEERR + 1001),
-
- /* Non-Authoritative: Host not found, or SERVERFAIL */
- WSATRY_AGAIN = (WSABASEERR + 1002),
-
- /* Non-recoverable errors, FORMERR, REFUSED, NOTIMP */
- WSANO_RECOVERY = (WSABASEERR + 1003),
-
- /* Valid name, no data record of requested type */
- WSANO_DATA = (WSABASEERR + 1004),
-
- /*
- * Define QOS related error return codes
- *
- */
- WSA_QOS_RECEIVERS = (WSABASEERR + 1005),
- /* at least one Reserve has arrived */
- WSA_QOS_SENDERS = (WSABASEERR + 1006),
- /* at least one Path has arrived */
- WSA_QOS_NO_SENDERS = (WSABASEERR + 1007),
- /* there are no senders */
- WSA_QOS_NO_RECEIVERS = (WSABASEERR + 1008),
- /* there are no receivers */
- WSA_QOS_REQUEST_CONFIRMED = (WSABASEERR + 1009),
- /* Reserve has been confirmed */
- WSA_QOS_ADMISSION_FAILURE = (WSABASEERR + 1010),
- /* error due to lack of resources */
- WSA_QOS_POLICY_FAILURE = (WSABASEERR + 1011),
- /* rejected for administrative reasons - bad credentials */
- WSA_QOS_BAD_STYLE = (WSABASEERR + 1012),
- /* unknown or conflicting style */
- WSA_QOS_BAD_OBJECT = (WSABASEERR + 1013),
- /* problem with some part of the filterspec or providerspecific
- * buffer in general */
- WSA_QOS_TRAFFIC_CTRL_ERROR = (WSABASEERR + 1014),
- /* problem with some part of the flowspec */
- WSA_QOS_GENERIC_ERROR = (WSABASEERR + 1015)
- }
-}