Any osFree executibles contains build level information string. Usually build level placed into resources, but also can be in code or data sections.
Usual place of build level information is Description string of DEF-file:
Description '@#osFree:9.23#@Control utility for ANSI'
Commonly used following build level information syntax:
@#<Vendor>:<Revision>#@<Description>
where <Vendor>, <Revision> and <Description> are ascii strings with corresponding information. In EDM/2 http://www.edm2.com/index.php/Adding_BLDLEVEL_information_to_executables mentioned some restrictions for <Vendor>, <Revision> and <Description>, but actually length can be any and version format can be any. As example can be pointed some OS2KRNL revisions.
Example:
Description '@#osFree:9.23#@Control utility for ANSI'
MPTN and TCP/IP services of osFree uses extended build level information. In most cases such information not stored as Description, but as asciiz constant string in code. This is why standard OS/2 bldlevel tool does not work for such files. Syntax is following:
@#<Vendor>:<Revision>#@##built <BuildDate> – on <BuildHost>;0.1@@<Description>[:<SubDescription>[:<SubDescription>…]
where
Example:
Description '@#osFree:9.23#@##build 5 Oct 2003 15:00:00 – on RACERPC;0.1@@Command line tools:Control utility for ANSI'
Another most known, and most complex, type of build level information is following:
@#<Vendor>:<Revision>#@1## DD.MM.YY hh:mm:ss <BuildHost>:<ASDFeatureID>:<LanguageCode>:<CountryCode>:<Build>:<Unknown>:<FixPackVer>@@<Description>
where
Note: If you leave build date and/or build time empty you still have to provide the same amount of spaces to replace build date/build time.
Example:
Description '@#osFree:9.23#@##1##RACERPC:0:866:7:436::WRR8706@@Control utility for ANSI'
Nowadays many projects use this BLDLEVEL format string.