Opened 10 years ago

Closed 9 years ago

#66 closed enhancement (fixed)


Reported by: diver Owned by:
Priority: minor Milestone: Qt 4.6.3
Component: QtCore Version: 4.5.1 Beta 1
Severity: low Keywords:


if we are bored we may add the above function to detect the right OS2 version.
has an example how to detect the right ecs version

Change History (6)

comment:1 Changed 9 years ago by diver

  • Severity set to low

comment:2 Changed 9 years ago by diver

  • Milestone changed from Qt Enhanced to Qt 4.6.3
  • Priority changed from major to minor

we should do that, at least in a small manner. if we really want to detect the ecs version is another question.

comment:3 Changed 9 years ago by dmik

Fully agree.

comment:4 Changed 9 years ago by dmik

Hmm, I cannot get the contents of the above link. It asks me to log in but I'm not registered in the Wiki and I couldn't find a way to register. Could you please post the article contents here?

comment:5 Changed 9 years ago by ydario

How to detect the version of an installed eComStation system

eSysInfo.dll helps you to detect version and name of the operating system
(eCo Software runtime) --

eComStation 1.2, 1.2R or 2.0

Search for the file ?:\os2\install\SYSLEVEL.ECS (?: represents the bootdrive)

This file is present since eComStation 1.2 (1.2, 1.2R and 2.0 alpha/beta/RC versions)

If it is not present, the system is either OS/2 Warp, eComStation 1.0 or eComStation 1.1 (or the user accidentally deleted the syslevel file)

If SYSLEVEL.ECS is present

Pos 41 (relative to 1) for 3
Pos 0x28 (relative to 0) for 3

0x200000 = eCS 2.0
0x120000 = eCS 1.2
0x110000 = eCS 1.1 (never used though)
0x100000 = eCS 1.0 (never used though)

Determine the original install media

Since eComStation 2.0 RC5 the following file indicates the buildtime of the installed ISO:


Official Release Candidate releases are:

  • eComStation 2.0 EN_US Thu Jul 03 05:05:42 pm 2008 (RC5)
  • eComStation 2.0 EN_US Fri Dec 05 06:00:55 pm 2008 (RC6a)
  • eComStation 2.0 EN_US Fri Jul 31 05:01:51 pm 2009 (RC7 TestTeam? release)
  • eComStation 2.0 EN_US Fri Aug 28 06:04:33 pm 2009 (RC7 Silver release)

eComStation 1.0 or 1.1

If SYSLEVEL.ECS is not present

The installed OS is either OS/2 Warp, eComStation 1.0 or eComStation 1.1

If ?:\os2\ecsreg.ini is present but not ?:\os2\ecsreg11.ini it is eComStation 1.0
If both ?:\os2\ecsreg.ini and ?:\os2\ecsreg11.ini are present it is at least eComStation 1.1
(both ini files are present in all versions of eComStation 1.1 and up)

Determine the language version (any OS version)


3rd character of current syslevel

Pos 47 (relative to 1)
Pos 0x2E (relative to 0)

0 - English
G - German
H - Dutch
I - Italian
F - French

(these are the eComStation NLVs released, there are more of course)

comment:6 Changed 9 years ago by dmik

  • Resolution set to fixed
  • Status changed from new to closed

Implemented QSysInfo::os2Version() in r797, 798. This is what this function may return:

    Original IBM OS/2 systems:

    \value OV_Unknown  An unknown and currently unsupported OS/2 version
    \value OV_2_0      OS/2 2.0 (unsupported)
    \value OV_2_1      OS/2 2.1 (unsupported)
    \value OV_2_11     OS/2 2.11 (unsupported)
    \value OV_3_0      OS/2 3.0, corresponds to Warp 3 (unsupported)
    \value OV_4_0      OS/2 4.0, corresponds to Warp 4 also known as Merlin
    \value OV_4_5      OS/2 4.5, corresponds to Warp 4.5 also known as Aurora
    \value OV_4_52     OS/2 4.52, corresponds to Warp 4.52 also known as WSeB

    \value OV_MERLIN   Codename for OV_4_0
    \value OV_AURORA   Codename for OV_4_5
    \value OV_WSEB     Codename for OV_4_52

    Serenity eComStation systems:

    \value OV_ECS_Unknown       An unknown and currently unsupported
                                eComStation version
    \value OV_ECS_1_0           eComStation 1.0
    \value OV_ECS_1_1           eComStation 1.1
    \value OV_ECS_1_2           eComStation 1.2
    \value OV_ECS_2_0           eComStation 2.0 (either any of RCs or GA)

    The following masks can be used for detecting properties common to a group
    of versions:

    \value OV_WARP3     Set if the version represents an OS/2 Warp 3 system
    \value OV_WARP4     Set if the version represents an OS/2 Warp 4 system
    \value OV_WARP      Set if the version is either of the OS/2 Warp systems
    \value OV_ECS       Set if the version represents an eComStation system
Note: See TracTickets for help on using tickets.