Qt Reference Documentation

# QSysInfo Class Reference

The QSysInfo class provides information about the system. More...

     #include <QSysInfo>

- List of all members, including inherited members

## Public Types

enum | Endian { BigEndian, LittleEndian, ByteOrder }
enum | MacVersion { MV_9, MV_10_0, MV_10_1, MV_10_2, ..., MV_LION }
enum | S60Version { SV_S60_3_1, SV_S60_3_2, SV_S60_5_0, SV_S60_5_1, ..., SV_S60_Unknown }
enum | Sizes { WordSize }
enum | SymbianVersion { SV_9_2, SV_9_3, SV_9_4, SV_SF_1, ..., SV_Unknown }
enum | WinVersion { WV_32s, WV_95, WV_98, WV_Me, ..., WV_CE_based }

## Static Public Members

const MacVersion | MacintoshVersion
const WinVersion | WindowsVersion
S60Version | s60Version ()
SymbianVersion | symbianVersion ()
WinVersion | windowsVersion ()

## Detailed Description

The QSysInfo class provides information about the system.

- WordSize specifies the size of a pointer for the platform on which the application is compiled.
- ByteOrder specifies whether the platform is big-endian or little-endian.
- WindowsVersion specifies the version of the Windows operating system on which the application is run (Windows only)
- MacintoshVersion specifies the version of the Macintosh operating system on which the application is run (Mac only).

Some constants are defined only on certain platforms. You can use the preprocessor symbols Q_WS_WIN and Q_WS_MAC to test that the application is compiled under Windows or Mac.

See also QLibraryInfo.

## Member Type Documentation

### enum QSysInfo::Endian

Constant | Value | Description
--- | --- | ---
`QSysInfo::BigEndian` | `0` | Big-endian byte order (also called Network byte order)
`QSysInfo::LittleEndian` | `1` | Little-endian byte order
`QSysInfo::ByteOrder` | `<platform-dependent>` | Equals BigEndian or LittleEndian, depending on the platform's byte order.

### enum QSysInfo::MacVersion

This enum provides symbolic names for the various versions of the Macintosh operating system. On Mac, the QSysInfo::MacintoshVersion variable gives the version of the system on which the application is run.

Constant | Value | Description
--- | --- | ---
`QSysInfo::MV_9` | `0x0001` | Mac OS 9 (unsupported)
`QSysInfo::MV_10_0` | `0x0002` | Mac OS X 10.0 (unsupported)
`QSysInfo::MV_10_1` | `0x0003` | Mac OS X 10.1 (unsupported)
`QSysInfo::MV_10_2` | `0x0004` | Mac OS X 10.2 (unsupported)
`QSysInfo::MV_10_3` | `0x0005` | Mac OS X 10.3
`QSysInfo::MV_10_4` | `0x0006` | Mac OS X 10.4
`QSysInfo::MV_10_5` | `0x0007` | Mac OS X 10.5
`QSysInfo::MV_10_6` | `0x0008` | Mac OS X 10.6
`QSysInfo::MV_10_7` | `0x0009` | Mac OS X 10.7
`QSysInfo::MV_Unknown` | `0x0000` | An unknown and currently unsupported platform
`QSysInfo::MV_CHEETAH` | `MV_10_0` | Apple codename for MV_10_0
`QSysInfo::MV_PUMA` | `MV_10_1` | Apple codename for MV_10_1
`QSysInfo::MV_JAGUAR` | `MV_10_2` | Apple codename for MV_10_2
`QSysInfo::MV_PANTHER` | `MV_10_3` | Apple codename for MV_10_3
`QSysInfo::MV_TIGER` | `MV_10_4` | Apple codename for MV_10_4
`QSysInfo::MV_LEOPARD` | `MV_10_5` | Apple codename for MV_10_5
`QSysInfo::MV_SNOWLEOPARD` | `MV_10_6` | Apple codename for MV_10_6
`QSysInfo::MV_LION` | `MV_10_7` | Apple codename for MV_10_7

See also WinVersion and SymbianVersion.

### enum QSysInfo::S60Version

This enum provides symbolic names for the various versions of the S60 SDK. On S60, the QSysInfo::s60Version() function gives the version of the SDK on which the application is run.

Constant | Value | Description
--- | --- | ---
`QSysInfo::SV_S60_3_1` | `SV_9_2` | S60 3rd Edition Feature Pack 1
`QSysInfo::SV_S60_3_2` | `SV_9_3` | S60 3rd Edition Feature Pack 2
`QSysInfo::SV_S60_5_0` | `SV_9_4` | S60 5th Edition
`QSysInfo::SV_S60_5_1` | `SV_SF_2` | This enum value is deprecated.
`QSysInfo::SV_S60_5_2` | `SV_SF_3` | Symbian^3 and Symbian Anna
`QSysInfo::SV_S60_5_3` | `SV_API_5_3` | Symbian/S60 API version 5.3 release
`QSysInfo::SV_S60_5_4` | `SV_API_5_4` | Symbian/S60 API version 5.4 release
`QSysInfo::SV_S60_5_5` | `SV_API_5_5` | Symbian/S60 API version 5.5 release
`QSysInfo::SV_S60_Unknown` | `SV_Unknown` | An unknown and currently unsupported platform

See also SymbianVersion, WinVersion, and MacVersion.

### enum QSysInfo::Sizes

This enum provides platform-specific information about the sizes of data structures used by the underlying architecture.

Constant | Value | Description
--- | --- | ---
`QSysInfo::WordSize` | `( sizeof( void * ) <<3 )` | The size in bits of a pointer for the platform on which the application is compiled (32 or 64).

### enum QSysInfo::SymbianVersion

This enum provides symbolic names for the various versions of the Symbian operating system. On Symbian, the QSysInfo::symbianVersion() function gives the version of the system on which the application is run.

Constant | Value | Description
--- | --- | ---
`QSysInfo::SV_9_2` | `10` | Symbian OS v9.2
`QSysInfo::SV_9_3` | `20` | Symbian OS v9.3
`QSysInfo::SV_9_4` | `30` | Symbian OS v9.4
`QSysInfo::SV_SF_1` | `SV_9_4` | S60 5th Edition (Symbian^1)
`QSysInfo::SV_SF_2` | `40` | Symbian^2
`QSysInfo::SV_SF_3` | `50` | Symbian^3 or Symbian Anna
`QSysInfo::SV_SF_4` | `60` | This enum value is deprecated.
`QSysInfo::SV_API_5_3` | `70` | Symbian/S60 API version 5.3 release
`QSysInfo::SV_API_5_4` | `80` | Symbian/S60 API version 5.4 release
`QSysInfo::SV_API_5_5` | `90` | Symbian/S60 API version 5.5 release
`QSysInfo::SV_Unknown` | `1000000` | An unknown and currently unsupported platform

See also S60Version, WinVersion, and MacVersion.

### enum QSysInfo::WinVersion

This enum provides symbolic names for the various versions of the Windows operating system. On Windows, the QSysInfo::WindowsVersion variable gives the version of the system on which the application is run.

MS-DOS-based versions:

Constant | Value | Description
--- | --- | ---
`QSysInfo::WV_32s` | `0x0001` | Windows 3.1 with Win 32s
`QSysInfo::WV_95` | `0x0002` | Windows 95
`QSysInfo::WV_98` | `0x0003` | Windows 98
`QSysInfo::WV_Me` | `0x0004` | Windows Me

NT-based versions (note that each operating system version is only represented once rather than each Windows edition):

Constant | Value | Description
--- | --- | ---
`QSysInfo::WV_NT` | `0x0010` | Windows NT (operating system version 4.0)
`QSysInfo::WV_2000` | `0x0020` | Windows 2000 (operating system version 5.0)
`QSysInfo::WV_XP` | `0x0030` | Windows XP (operating system version 5.1)
`QSysInfo::WV_2003` | `0x0040` | Windows Server 2003, Windows Server 2003 R2, Windows Home Server, Windows XP Professional x64 Edition (operating system version 5.2)
`QSysInfo::WV_VISTA` | `0x0080` | Windows Vista, Windows Server 2008 (operating system version 6.0)
`QSysInfo::WV_WINDOWS7` | `0x0090` | Windows 7, Windows Server 2008 R2 (operating system version 6.1)

Alternatively, you may use the following macros which correspond directly to the Windows operating system version number:

Constant | Value | Description
--- | --- | ---
`QSysInfo::WV_4_0` | `WV_NT` | Operating system version 4.0, corresponds to Windows NT
`QSysInfo::WV_5_0` | `WV_2000` | Operating system version 5.0, corresponds to Windows 2000
`QSysInfo::WV_5_1` | `WV_XP` | Operating system version 5.1, corresponds to Windows XP
`QSysInfo::WV_5_2` | `WV_2003` | Operating system version 5.2, corresponds to Windows Server 2003, Windows Server 2003 R2, Windows Home Server, and Windows XP Professional x64 Edition
`QSysInfo::WV_6_0` | `WV_VISTA` | Operating system version 6.0, corresponds to Windows Vista and Windows Server 2008
`QSysInfo::WV_6_1` | `WV_WINDOWS7` | Operating system version 6.1, corresponds to Windows 7 and Windows Server 2008 R2

CE-based versions:

Constant | Value | Description
--- | --- | ---
`QSysInfo::WV_CE` | `0x0100` | Windows CE
`QSysInfo::WV_CENET` | `0x0200` | Windows CE .NET
`QSysInfo::WV_CE_5` | `0x0300` | Windows CE 5.x
`QSysInfo::WV_CE_6` | `0x0400` | Windows CE 6.x

The following masks can be used for testing whether a Windows version is MS-DOS-based, NT-based, or CE-based:

Constant | Value | Description
--- | --- | ---
`QSysInfo::WV_DOS_based` | `0x000f` | MS-DOS-based version of Windows
`QSysInfo::WV_NT_based` | `0x00f0` | NT-based version of Windows
`QSysInfo::WV_CE_based` | `0x0f00` | CE-based version of Windows

See also MacVersion and SymbianVersion.

## Member Function Documentation

### S60Version QSysInfo::s60Version ()`[static]`

Returns the version of the S60 SDK system on which the application is run (S60 only).

This function was introduced in Qt 4.6.

### SymbianVersion QSysInfo::symbianVersion ()`[static]`

Returns the version of the Symbian operating system on which the application is run (Symbian only).

This function was introduced in Qt 4.6.

### WinVersion QSysInfo::windowsVersion ()`[static]`

Returns the version of the Windows operating system on which the application is run (Windows only).

This function was introduced in Qt 4.4.

## Member Variable Documentation

### const MacVersion QSysInfo::MacintoshVersion

This variable holds the version of the Macintosh operating system on which the application is run (Mac only).

### const WinVersion QSysInfo::WindowsVersion

This variable holds the version of the Windows operating system on which the application is run (Windows only).