-
Notifications
You must be signed in to change notification settings - Fork 33
Expand file tree
/
Copy pathPlatform.cs
More file actions
68 lines (61 loc) · 1.71 KB
/
Platform.cs
File metadata and controls
68 lines (61 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
using System;
namespace MonoMod.Utils {
/// <summary>
/// Generic platform enum.
/// </summary>
[Flags]
public enum Platform : int {
/// <summary>
/// Bit applied to all OSes (Unknown, Windows, MacOS, ...).
/// </summary>
OS = 1 << 0,
/// <summary>
/// On demand 64-bit platform bit.
/// </summary>
Bits64 = 1 << 1,
/// <summary>
/// Applied to all NT and NT-oid platforms (Windows).
/// </summary>
NT = 1 << 2,
/// <summary>
/// Applied to all Unix and Unix-oid platforms (macOS, Linux, ...).
/// </summary>
Unix = 1 << 3,
/// <summary>
/// On demand ARM platform bit.
/// </summary>
ARM = 1 << 16,
/// <summary>
/// On demand Wine bit. DON'T RELY ON THIS.
/// </summary>
Wine = 1 << 17,
/// <summary>
/// On demand LoongArch64 platform bit.
/// </summary>
LoongArch64 = 1 << 18,
/// <summary>
/// Unknown OS.
/// </summary>
Unknown = OS | (1 << 4),
/// <summary>
/// Windows, using the NT kernel.
/// </summary>
Windows = OS | NT | (1 << 5),
/// <summary>
/// macOS, using the Darwin kernel.
/// </summary>
MacOS = OS | Unix | (1 << 6),
/// <summary>
/// Linux.
/// </summary>
Linux = OS | Unix | (1 << 7),
/// <summary>
/// Android, using the Linux kernel.
/// </summary>
Android = Linux | (1 << 8),
/// <summary>
/// iOS, sharing components with macOS.
/// </summary>
iOS = MacOS | (1 << 9),
}
}