Skip to content

TOSVersion

Declaration

Source position: sysutilh.inc line 455

type
  TOSVersion = record
    TArchitecture = (arIntelX86,arIntelX64,arARM32,arARM64,arIntelX16,
                 arXTensa,arAVR,arM68k,arPowerPC,arPower64,arMips,
                 arMipsel,arMips64,arMips64el,arJVM,arWasm32,arSparc,
                 arSparc64,arRiscV32,arRiscV64,arZ80,arLoongArch64,
                 arOther);
    TPlatform = (pfWindows,pfMacOS,pfiOS,pfAndroid,pfWinRT,pfLinux,pfGo32v2,
             pfOS2,pfFreeBSD,pfBeos,pfNetBSD,pfAmiga,pfAtari,pfSolaris,
             pfQNX,pfNetware,pfOpenBSD,pfWDosX,pfPalmos,pfMacOSClassic,
             pfDarwin,pfEMX,pfWatcom,pfMorphos,pfNetwLibC,pfWinCE,pfGBA,
             pfNDS,pfEmbedded,pfSymbian,pfHaiku,pfIPhoneSim,pfAIX,
             pfJava,pfNativeNT,pfMSDos,pfWII,pfAROS,pfDragonFly,pfWin16,
             pfFreeRTOS,pfZXSpectrum,pfMSXDOS,pfAmstradCPC,pfSinclairQL,
             pfWasi,pfOther);
    TDelphiPlatform = pfWindows..TPlatform.pfLinux;
  public
    const
      AllArchitectures = [Low(TArchitecture)..High(TArchitecture)];
      AllPlatforms = [Low(TPlatform)..High(TPlatform)];
    class function Check(AMajor: Integer) : Boolean; overload;
    class function Check(AMajor: Integer; AMinor: Integer) : Boolean; overload;
    class function Check(AMajor: Integer; AMinor: Integer; 
                    AServicePackMajor: Integer) : Boolean; overload;
    class function ToString : string;
    class property Architecture: TArchitecture; {r}
    class property Build: Integer; {r}
    class property Major: Integer; {r}
    class property Minor: Integer; {r}
    class property Name: string; {r}
    class property Platform: TPlatform; {r}
    class property ServicePackMajor: Integer; {r}
    class property ServicePackMinor: Integer; {r}
    class property PrettyName: string; {r}
    class property LibCVersionMajor: Integer; {r}
    class property LibCVersionMinor: Integer; {r}
  end;