diff --git a/Aaru.Archives/Symbian/Enums.cs b/Aaru.Archives/Symbian/Enums.cs
index 191939a26..b922c68bf 100644
--- a/Aaru.Archives/Symbian/Enums.cs
+++ b/Aaru.Archives/Symbian/Enums.cs
@@ -38,14 +38,434 @@ namespace Aaru.Archives;
[SuppressMessage("ReSharper", "UnusedMember.Local")]
[SuppressMessage("ReSharper", "UnusedType.Local")]
[SuppressMessage("ReSharper", "UnusedType.Global")]
+[SuppressMessage("ReSharper", "InconsistentNaming")]
public partial class Symbian
{
+#region Nested type: Attribute
+
+ enum Attribute : uint
+ {
+ ///
+ ///
+ ///
+ Manufacturer = 0x00000000,
+ ///
+ /// 0x0100 = 1.00
+ ///
+ ManufacturerHardwareRev = 0x00000001,
+ ///
+ /// 0x0100 = 1.00
+ ///
+ ManufacturerSoftwareRev = 0x00000002,
+ ///
+ /// Manufacturer specific
+ ///
+ ManufacturerSoftwareBuild = 0x00000003,
+ Model = 0x00000004,
+ ///
+ /// Device specific values for products as defined in epoc32\include\hal_data.h
+ ///
+ MachineUid = 0x00000005,
+ ///
+ ///
+ ///
+ DeviceFamily = 0x00000006,
+ ///
+ /// 0x0100 = 1.00
+ ///
+ DeviceFamilyRev = 0x00000007,
+ ///
+ ///
+ ///
+ CPU = 0x00000008,
+ ///
+ ///
+ ///
+ CPUArch = 0x00000009,
+ ///
+ ///
+ ///
+ CPUABI = 0x0000000a,
+ ///
+ /// CPU clock speed / 1024, e.g. 36864=36MHz
+ ///
+ CPUSpeed = 0x0000000b,
+ ///
+ /// Tick period in microseconds
+ ///
+ SystemTickPeriod = 0x0000000e,
+ ///
+ /// Approximate speed relative to Psion Series 5 = 100
+ ///
+ SystemSpeed = 0x0000000e,
+ ///
+ /// Total RAM size in bytes
+ ///
+ MemoryRAM = 0x0000000f,
+ ///
+ /// Free RAM size in bytes
+ ///
+ MemoryRAMFree = 0x00000010,
+ ///
+ /// Total ROM size
+ ///
+ MemoryROM = 0x00000011,
+ ///
+ /// Size of memory management unit pages
+ ///
+ MemoryPageSize = 0x00000012,
+ ///
+ /// 0=none, 1=supported
+ ///
+ PowerBackup = 0x00000015,
+ ///
+ /// 0=none, 1=keypad, 2=full, 3=both
+ ///
+ Keyboard = 0x00000018,
+ ///
+ /// Number of device specific keys
+ ///
+ KeyboardDeviceKeys = 0x00000019,
+ ///
+ /// Number of application keys
+ ///
+ KeyboardAppKeys = 0x0000001a,
+ ///
+ /// 0=none, 1=supported
+ ///
+ KeyboardClick = 0x0000001b,
+ KeyboardClickVolumeMax = 0x0000001e,
+ ///
+ /// Screen width in pixels
+ ///
+ DisplayXPixels = 0x0000001f,
+ ///
+ /// Screen height in pixels
+ ///
+ DisplayYPixels = 0x00000020,
+ ///
+ /// Screen width in twips (1/1440 inch)
+ ///
+ DisplayXTwips = 0x00000021,
+ ///
+ /// Screen height in twips (1/1440 inch)
+ ///
+ DisplayYTwips = 0x00000022,
+ ///
+ /// 2, 4, 16, 256, 65536, etc
+ ///
+ DisplayColors = 0x00000023,
+ DisplayContrastMax = 0x00000026,
+ ///
+ /// 0=none, 1=supported
+ ///
+ Backlight = 0x00000027,
+ ///
+ /// 0=none, 1=supported
+ ///
+ Pen = 0x00000029,
+ ///
+ /// Pen horizontal resolution
+ ///
+ PenX = 0x0000002a,
+ ///
+ /// Pen vertical resolution
+ ///
+ PenY = 0x0000002b,
+ ///
+ /// 0=no 1=yes
+ ///
+ PenDisplayOn = 0x0000002c,
+ ///
+ /// 0=none, 1=supported
+ ///
+ PenClick = 0x0000002d,
+ PenClickVolumeMax = 0x00000030,
+ ///
+ /// 0=none, 1=supported
+ ///
+ Mouse = 0x00000031,
+ ///
+ /// Mouse horizontal resolution
+ ///
+ MouseX = 0x00000032,
+ ///
+ /// Mouse vertical resolution
+ ///
+ MouseY = 0x00000033,
+ ///
+ /// Number of mouse buttons
+ ///
+ MouseButtons = 0x00000037,
+ ///
+ /// 0=none, 1=supported
+ ///
+ CaseSwitch = 0x0000003a,
+ ///
+ /// Number of LEDs
+ ///
+ LEDs = 0x0000003d,
+ ///
+ /// 0=none, 1=supported
+ ///
+ IntegratedPhone = 0x0000003f,
+ DisplayBrightnessMax = 0x00000041,
+ KeyboardBacklightState = 0x00000042,
+ AccessoryPower = 0x00000043,
+ ///
+ /// Number of supported HAL attributes
+ ///
+ NumHalAttributes = 0x00000059,
+ ///
+ /// Machine language
+ ///
+ Language = 0x00001000,
+ ///
+ /// 0=Symbian OS based install, 1=installation via a PC
+ ///
+ RemoteInstall = 0x00001001
+ }
+
+#endregion
+
+#region Nested type: ConditionalType
+
+ enum ConditionalType : uint
+ {
+ ///
+ /// a == b
+ ///
+ Equals,
+ ///
+ /// a != b
+ ///
+ Differs,
+ ///
+ /// a > b
+ ///
+ GreaterThan,
+ ///
+ /// a < b
+ ///
+ LessThan,
+ ///
+ /// a >= b
+ ///
+ GreaterOrEqualThan,
+ ///
+ /// a <= b
+ ///
+ LessOrEqualThan,
+ ///
+ /// a AND b
+ ///
+ And,
+ ///
+ /// a OR b
+ ///
+ Or,
+ ///
+ /// exists(filename)
+ ///
+ Exists,
+ ///
+ /// devcap(capability)
+ ///
+ DeviceCapability,
+ ///
+ /// appcap(uid, capability)
+ ///
+ ApplicationCapability,
+ ///
+ /// NOT a
+ ///
+ Not,
+ ///
+ /// String
+ ///
+ String,
+ ///
+ /// Attribute
+ ///
+ Attribute,
+ ///
+ /// Number
+ ///
+ Number
+ }
+
+#endregion
+
+#region Nested type: CpuAbiCode
+
+ enum CpuAbiCode
+ {
+ ARM4 = 0,
+ ARMI = 1,
+ Thumb = 2,
+ MCORE = 3,
+ MSVC = 4
+ }
+
+#endregion
+
+#region Nested type: CpuArchitecture
+
+ enum CpuArchitecture
+ {
+ ARM4 = 0x400,
+ ARM4T = 0x410,
+ ARM5 = 0x500,
+ M340 = 0x300
+ }
+
+#endregion
+
+#region Nested type: CpuCode
+
+ enum CpuCode
+ {
+ ARM = 0,
+ MCORE = 1,
+ x86 = 2
+ }
+
+#endregion
+
+#region Nested type: DeviceFamilyCode
+
+ enum DeviceFamilyCode
+ {
+ Crystal = 0,
+ Pearl = 1,
+ Quartz = 2
+ }
+
+#endregion
+
+#region Nested type: FileDetails
+
+ ///
+ /// Gives some specific details about how to handle some special files
+ ///
+ enum FileDetails : uint
+ {
+ ///
+ /// Show the continue button and continue installing
+ ///
+ TextContinue = 0,
+ ///
+ /// Show a yes and a no button and skip next file on no
+ ///
+ TextSkip = 1,
+ ///
+ /// Show a yes and a no button and abort installation on no
+ ///
+ TextAbort = 2,
+ ///
+ /// Show a yes and a no button and abort and undo installation on no
+ ///
+ TextExit = 3,
+ ///
+ /// Run during installation
+ ///
+ RunInstall = 0,
+ ///
+ /// Run during uninstallation
+ ///
+ RunRemove = 1,
+ ///
+ /// Run during both installation and uninstallation
+ ///
+ RunBoth = 2,
+ ///
+ /// Works as a flag. Close when installation is complete.
+ ///
+ RunsEnd = 0x100,
+ ///
+ /// Works as a flag. Wait for it to close before continuing.
+ ///
+ RunWait = 0x200,
+ ///
+ /// Works as a flag. Close when installation is complete.
+ ///
+ OpenClose = 0x100,
+ ///
+ /// Works as a flag. Wait for it to close before continuing.
+ ///
+ OpenWait = 0x200
+ }
+
+#endregion
+
+#region Nested type: FileRecordType
+
+ ///
+ /// Define the file record type and therefore its structure
+ ///
+ enum FileRecordType : uint
+ {
+ ///
+ /// Points to a single file
+ ///
+ SimpleFile = 0,
+ ///
+ /// Points to an array of files sorted by the language codes
+ ///
+ MultipleLanguageFiles = 1,
+ ///
+ /// Points to an array of option strings
+ ///
+ Options = 2,
+ If = 3,
+ ElseIf = 4,
+ Else = 5,
+ EndIf = 6
+ }
+
+#endregion
+
+#region Nested type: FileType
+
+ ///
+ /// Defines the file type
+ ///
+ enum FileType : uint
+ {
+ ///
+ /// Standard file
+ ///
+ File = 0,
+ ///
+ /// Text file to show during installation
+ ///
+ FileText = 1,
+ ///
+ /// SIS component
+ ///
+ Component = 2,
+ ///
+ /// File to run during installation
+ ///
+ FileRun = 3,
+ ///
+ /// File does not exist in SIS, will be created when application runs
+ ///
+ FileNull = 4,
+ ///
+ /// Open file using whatever app is associated with its MIME type
+ ///
+ FileMime = 5
+ }
+
+#endregion
+
#region Nested type: LanguageCodes
[SuppressMessage("ReSharper", "InconsistentNaming")]
enum LanguageCodes
{
- Test,
+ Test = 0,
EN,
FR,
GE,
@@ -146,6 +566,22 @@ public partial class Symbian
#endregion
+#region Nested type: ManufacturerCode
+
+ enum ManufacturerCode
+ {
+ Ericsson = 0,
+ Motorola = 1,
+ Nokia = 2,
+ Panasonic = 3,
+ Psion = 4,
+ Intel = 5,
+ Cogent = 6,
+ Cirrus = 7
+ }
+
+#endregion
+
#region Nested type: SymbianOptions
///