mirror of
https://github.com/ryujinx-mirror/ryujinx.git
synced 2024-10-20 21:21:40 +00:00
4ad3936afd
* refactoring result codes - Add a main enum who can handle some orphalin result codes and the default `ResultCode.Success` one. - Add sub-enum by services when it's needed. - Remove some empty line. - Recast all service calls to ResultCode. - Remove some unneeded static declaration. - Delete unused `NvHelper` class. * NvResult is back * Fix
128 lines
No EOL
3.6 KiB
C#
128 lines
No EOL
3.6 KiB
C#
using System.Runtime.InteropServices;
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Time
|
|
{
|
|
[StructLayout(LayoutKind.Sequential, Size = 0x10, Pack = 4)]
|
|
struct TimeTypeInfo
|
|
{
|
|
public int GmtOffset;
|
|
|
|
[MarshalAs(UnmanagedType.I1)]
|
|
public bool IsDaySavingTime;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
|
|
char[] Padding1;
|
|
|
|
public int AbbreviationListIndex;
|
|
|
|
[MarshalAs(UnmanagedType.I1)]
|
|
public bool IsStandardTimeDaylight;
|
|
|
|
[MarshalAs(UnmanagedType.I1)]
|
|
public bool IsGMT;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 2)]
|
|
char[] Padding2;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = 4, Size = 0x4000, CharSet = CharSet.Ansi)]
|
|
struct TimeZoneRule
|
|
{
|
|
public const int TzMaxTypes = 128;
|
|
public const int TzMaxChars = 50;
|
|
public const int TzMaxLeaps = 50;
|
|
public const int TzMaxTimes = 1000;
|
|
public const int TzNameMax = 255;
|
|
public const int TzCharsArraySize = 2 * (TzNameMax + 1);
|
|
|
|
public int TimeCount;
|
|
public int TypeCount;
|
|
public int CharCount;
|
|
|
|
[MarshalAs(UnmanagedType.I1)]
|
|
public bool GoBack;
|
|
|
|
[MarshalAs(UnmanagedType.I1)]
|
|
public bool GoAhead;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = TzMaxTimes)]
|
|
public long[] Ats;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = TzMaxTimes)]
|
|
public byte[] Types;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = TzMaxTypes)]
|
|
public TimeTypeInfo[] Ttis;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = TzCharsArraySize)]
|
|
public char[] Chars;
|
|
|
|
public int DefaultType;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = 0x4, Size = 0x2C)]
|
|
struct TzifHeader
|
|
{
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
|
|
public char[] Magic;
|
|
|
|
public char Version;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 15)]
|
|
public byte[] Reserved;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
|
|
public byte[] TtisGMTCount;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
|
|
public byte[] TtisSTDCount;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
|
|
public byte[] LeapCount;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
|
|
public byte[] TimeCount;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
|
|
public byte[] TypeCount;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]
|
|
public byte[] CharCount;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = 0x4, Size = 0x8)]
|
|
struct CalendarTime
|
|
{
|
|
public short Year;
|
|
public sbyte Month;
|
|
public sbyte Day;
|
|
public sbyte Hour;
|
|
public sbyte Minute;
|
|
public sbyte Second;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = 0x4, Size = 0x18, CharSet = CharSet.Ansi)]
|
|
struct CalendarAdditionalInfo
|
|
{
|
|
public uint DayOfWeek;
|
|
public uint DayOfYear;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
|
|
public char[] TimezoneName;
|
|
|
|
[MarshalAs(UnmanagedType.I1)]
|
|
public bool IsDaySavingTime;
|
|
|
|
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
|
|
char[] Padding;
|
|
|
|
public int GmtOffset;
|
|
}
|
|
|
|
[StructLayout(LayoutKind.Sequential, Pack = 0x4, Size = 0x20, CharSet = CharSet.Ansi)]
|
|
struct CalendarInfo
|
|
{
|
|
public CalendarTime Time;
|
|
public CalendarAdditionalInfo AdditionalInfo;
|
|
}
|
|
} |