home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
OS2
/
SYSTEEM
/
SYSLEVEL
/
SYSLEVEL.SCR
< prev
Wrap
Text File
|
1992-03-18
|
10KB
|
297 lines
.pm 5;.ll 70
.DH 4 us tc
:frontm.
:titlep.
:title.OS/2 Syslevel File Format
:date.
:author.Duane S. Wood
:address.
:aline.OS/2 Development
:aline.Boca Raton, Florida
:aline.DWOOD at BCRVMPC1
:eaddress.
:etitlep.
.*
:toc.
:body.
:h3.Syslevel Files
:p.The new CSF uses the same syslevel file format from previous
releases. After successfully servicing a product, the syslevel
file corresponding to that product is updated. A list of the
directories serviced for the product is also appended to the syslevel
file after the SYSTABLE.
:p.Each Syslevel file is specific to one product. This is consistent
with the existing service design.
:h4.Syslevel File Format
:p.The following diagram shows the general format of a syslevel file.
:fig place=inline frame=none
╔═════════════════════════════╗
║ header (SLFHEADER) ║
║ ... ║
┌────╫────── ulTableOffset ║
│ ║ ║
│ ╚═════════════════════════════╝
│
│
│
│
└──>>╔═════════════════════════════╗
║ SYSTABLE ║
║ ... ║
║ ... ║
║ ... ║
╚═════════════════════════════╝
**╔═════════════════════════════╗
║ Updated directory list ║
║ ... ║
║ ... ║
║ ... ║
╚═════════════════════════════╝
** Added after successful service
:figcap.Syslevel File General Format
:efig
.pa
:p.The following are the 'C' definitions for the header (SLFHEADER) and
the SYSTABLE structures:
.pm 0;.ll 80
.fo off
/*--------------------------------------------------------------*\
* SLFHEADER - This structure contains the information in a *
* SYSLEVEL file header. The first 2 fields are used *
* to verify that the file is actually a SYSLEVEL file. *
* Also identified is the version, date, and offset to *
* the SYSTABLE information -- see SYSTABLE *
\*--------------------------------------------------------------*/
typedef struct _SLFHEADER {
USHORT usSignature; /* special # for id of syslevel file */
CHAR achSignature[8]; /* id, must be 'SYSLEVEL' */
CHAR achJulian[5]; /* date of version */
USHORT usSlfVersion; /* version of syslevel file, must be 1 */
USHORT ausReserved[8]; /* reserved */
ULONG ulTableOffset; /* offset of SYSTABLE */
} SLFHEADER;
/*--------------------------------------------------------------*\
* SYSTABLE - This structure contains the information about *
* a specific component of a particular system. This *
* info includes date and level information about the *
* system /subsystem and the particular component. *
\*--------------------------------------------------------------*/
/* defines for bSysEdition field */
#define SYSED_SE 0x00 /* os/2 standard edition */
#define SYSED_EE 0x01 /* os/2 extended edition */
#define SYSED_ES 0x02 /* os/2 extended services */
#define SYSED_GENERAL 0x0F /* all others */
typedef struct _SYSTABLE {
USHORT usSysId; /* identifies system/subsytem */
BYTE bSysEdition; /* edition of system, eg SE=00, EE=01 */
BYTE bSysVersion; /* version, eg 1.00=10, 1.10=11 */
BYTE bSysModify; /* modify, eg 1.00=00, 1.01=01 */
USHORT usSysDate; /* date of system */
CHAR achCsdLevel[8]; /* subsytem CSD level, eg, XR?0000_ */
CHAR achCsdPrev[8]; /* as above, except for prev system */
CHAR achSysName[80]; /* Title of system / subsytem (ASCIIZ) */
CHAR achCompId[9]; /* component ID of subsytem */
BYTE bRefreshLevel; /* eg, for version 1.30.1, use 1 */
BYTE bReserved; /* reserved, must be 0 */
CHAR achType[9]; /* Null terminated type (8 chars +'\0') */
BYTE usReserved[6]; /* reserved, must be 0 */
} SYSTABLE;
.fo on
.pm 5;.ll 70
:h4.Detailed SYSTABLE Field Descriptions
:dl tsize=15.
:dt.usSysId
:dd.This is a number that is assigned to each product that is supported for
service.
:p.Currently assigned SYSIDs:
.pm 0;.ll 80
.fo off
SYSID EXTENSION
----- ---------
F000 - ???
F010 - SD2
F020 - TCP
F030 - PNA
F040 - TKT
F050 - POS
F060 - FXA
F070 - CS2
F080 - MLS
F090 - HL2
F0A0 - CPP
F0B0 - CSE
F0C0 - MOT
F0D0 - FXM
F0E0 - PCS
F0F0 - POM
E000 - PER
E010 - TD2
E020 - TR2
E030 - NTC
E040 - PW0
E050 - PW1
E060 - PW2
E070 - PW3
E080 - PW4
E090 - ART Artic OS/2 Support
E0A0 - NDM
E0B0 - OV2
E0C0 - LDU
E0D0 - NBT
E0E0 - VCK
E0F0 - VC2
D000 - ES2
D010 - EDS
D020 - BS2
D030 - BDM
D040 - DS2
D050 - IS2
D060 - ED2
D070 - DC2
D080 - ELR
D090 - ELB
D0A0 - FS1
D0B0 - FS2
D0C0 - ENF
D0D0 - TL2
D0E0 - CWW Common Workfolder Program Workplace/2
D0F0 - CWS Common Workfolder Program Server/2
C000 - CWA Common Workfolder Program API/2
C010 - LMU LAN Manager Utilities/2
C020 - X25 IBM X25 Net Manager
C030 - EQO Floor Control/2
C040 - OSI Communications Subsystem For OS/2 EE
C050 - EMQ Starview PWS
C060 - SNP IBM Snap Dump
C070 - ISB ISDN Coprocessor Support Program Version 1.2
C080 - CS2 C SET/2
C081 - WF2 Work Frame/2
C090 - XXX Canada Trust customer apps (customer #519190633)
C0A0 - PPV Paperless Plan Viewer
C0B0 - PPB Paperless Plan Builder
C0C0 - PPS Paperless Plan Server
C0D0 - PPP Paperless Plan Packet
C0E0 - EYN Extended Operations Console Facility/2 (EOCF/2)
C0F0 - XXX Bank of Montreal Applications
B000 - XXX ) Sears Applications
... )
B0F0 )
A000 - XXX ) Cigna Written Applications
... )
A0F0 )
1000 - OS/2 SE
1010 - OS/2 Toolkit
2000 - OS/2 Comm Mgr
2010 - OS/2 Feature group 1 (3270 emulator)
2020 - OS/2 Feature group 2 (Async)
4000 - OS/2 Database Mgr
4010 - OS/2 Query Mgr
5000 - OS/2 LAN Requester
5010 - OS/2 LAN Server
.fo on
.pm 5;.ll 70
:dt.bSysEdition
:dd.This is a number between 0 and 255 (x0-xFF) that represents the
type of product being serviced.
:sl.
:li.OS/2 Standard Edition is 0
:li.OS/2 Extended Edition is 1
:li.OS/2 Extended Services is 2
:li.All other products are classified with a general sysedition of 15 (x0F)
:esl.
:dt.bSysVersion
:dd.This is a number between 1 and 255 (x1-xFF) that represents the
major and minor version of the product being serviced.
:p.The hi-order byte is the major version. The lo-order byte is the
minor version. For example:
:sl.
:li.version 1.0, use x10
:li.version 1.1, use x11
:li.version 2.0, use x20
:esl.
:dt.bSysModify
:dd.This is a number between 0 and 255 (x0-xFF) that represents a
modification version (eg, 2.01 is major version 2, minor version 0,
and modify version 1)
:dt.usSysDate
:dd.This date is the date of the product.
:p.This is represented by a 16-bit bitfield as follows (FDATE):
:sl compact.
:li.unsigned day &gml. 5;
:li.unsigned month &gml. 4;
:li.unsigned year &gml. 7;
:esl.
:dt.achCsdLevel
:dd.This field is very important. It specifies the level of the product.
It must be exactly 8 characters with underscore ('_') as its last
character.
:p.The first two characters are specific to the product:
:sl.
:li.OS/2 Standard Edition - XR
:li.OS/2 Extended Edition - WR
:esl.
:p.The third character represents the country:
:dl compact tsize=5.
:dt.0
:dd.United States (Note: This is the digit zero, not letter O)
:dt.C
:dd.Canada (French speaking)
:dt.D
:dd.Denmark
:dt.F
:dd.France
:dt.G
:dd.German
:dt.H
:dd.Netherlands
:dt.I
:dd.Italy
:dt.J
:dd.Japan
:dt.L
:dd.Finland
:dt.N
:dd.Norway
:dt.P
:dd.Portugal
:dt.S
:dd.Spain
:dt.U
:dd.United Kingdom
:dt.W
:dd.Sweden
:edl.
:dt.achCsdPrev
:dd.This represents the previous level of the system and has the same
form as achCsdLevel. For an initial release, this should be the same
as achCsdLevel.
:dt.achSysName
:dd.This is the translated name of the system. This must be null-
terminated and has a maximum length of 80 characters.
:dt.achCompId
:dd.This is a 9-digit ascii number that represents sub-products.
:p.For IBM OS/2 Base Operating System, this is 560109001.
:dt.bRefreshLevel
:dd.This represents the refresh level. This field is not matched
by the service tool, but is displayed from syslevel.exe.
:p.For version 1.30.1, use 1 for bRefreshLevel.
:dt.achType
:dd.This field contains an optional, NULL terminated alphanumeric type that is
defined by the application. This field is only used by the OS/2 2.0 version
of SYSLEVEL.EXE. The OS/2 1.3 SYSLEVEL.EXE will ignore this field. If
no type is desired, this field must be all zero's (0). Because the field is
NULL terminated, it has a maximum length of 8 characters (+ NULL = 9).
:dt.usReserved
:dd.All reserved fields must be zero (0).
:edl.