Guardian Application Conversion Guide DCT Limit Extension Addendum Abstract This publication tells application programmers how to ensure that TAL and pTAL programs that call C-series procedures will continue to run correctly after the destination control table (DCT) limit is extended. Product Version Guardian G06.23 Supported Release Version Updates (RVUs) This publication supports G06.23 and all subsequent G-series RVUs unless otherwise indicated by its replacement publication.
Document History Part Number Product Version 527418-001 Guardian G06.
Guardian Application Conversion Guide DCT Limit Extension Addendum Glossary Index Examples What’s New in This Addendum iii Addendum Information iii New and Changed Information iii About This Addendum v Audience v Related Reading v Abbreviations vi 1.
Examples Contents Examples Example 1-1. Example 1-2. Example 1-3. Example 1-4.
What’s New in This Addendum Addendum Information Guardian Application Conversion Guide DCT Limit Extension Addendum Abstract This publication tells application programmers how to ensure that TAL and pTAL programs that call C-series procedures will continue to run correctly after the destination control table (DCT) limit is extended. Product Version Guardian G06.23 Supported Release Version Updates (RVUs) This publication supports G06.
What’s New in This Addendum New and Changed Information Guardian Application Conversion Guide DCT Limit Extension Addendum—527418-001 iv
About This Addendum • • • Audience on page v Related Reading on page v Abbreviations on page vi Audience This addendum is for application programmers who want to ensure that TAL and pTAL programs that call C-series procedures will continue to run correctly after the destination control table (DCT) limit is extended from 32,767 to 65,375 entries at RVU G06.23. (The DCT limit extension affects only C-series Guardian procedures.) Readers must be familiar with TAL and pTAL.
About This Addendum Abbreviations Abbreviations DCT. destination control table ldev. logical device number NRL. named resource list PPL. process-pair list SCF. Subsystem Control Facility TACL.
1 Affected Procedures As of RVU G06.23, you can use the Subsystem Control Facility (SCF) to extend the destination control table (DCT) limit from 32,767 to 65,375. The DCT limit is the maximum number of named processes and devices that the NonStop Kernel can accommodate. When the DCT limit is 32,767 (the default), each logical device number (ldev) needs 15 bits; when the DCT limit is 65,375, each ldev needs 16 bits.
Seeing the Current DCT Size Affected Procedures Topics: • • • • • • • • • Seeing the Current DCT Size on page 1-2 Deciding Whether to Extend the DCT Limit on page 1-3 Changing the DCT Limit on page 1-4 FILEINFO on page 1-4 GETDEVNAME on page 1-5 GETPPDENTRY on page 1-6 GETSYSTEMNAME on page 1-7 LOCATESYSTEM on page 1-8 LOOKUPPROCESSNAME on page 1-10 For more information about any of these procedures, see the Guardian Procedure Calls Reference Manual.
Deciding Whether to Extend the DCT Limit Affected Procedures Example 1-2.
Affected Procedures Changing the DCT Limit Changing the DCT Limit To change the size of the DCT limit on your system, use this SCF command: ALTER SUBSYS $ZZKRN, DCT { SMALL | MEDIUM } SMALL sets the limit to 32,767 entries. MEDIUM sets the limit to 65,375 entries. For more information about SCF, see the SCF Reference Manual for the Kernel Subsystem. FILEINFO Calls to the FILEINFO procedure that do not use the optional ldevnum parameter do not need to change.
GETDEVNAME Affected Procedures GETDEVNAME For each call to the GETDEVNAME procedure, make either the Recommended Change on page 1-5 or the Short-Term Change on page 1-6.
Affected Procedures Short-Term Change Short-Term Change For each call to the GETDEVNAME procedure: 1. Read the changed description of the parameter ldevnum in the Guardian Procedure Calls Reference Manual. If necessary, change your program to accommodate this change. 2. Ensure that the parameter ldevnum is treated as unsigned (16 bits), specifically: ° Change all uses of signed arithmetic operators and signed relational operators to the equivalent unsigned operators.
GETSYSTEMNAME Affected Procedures GETSYSTEMNAME Calls to the GETSYSTEMNAME procedure do not need to change if they do only the following: • • Convert a system number to a system name Use the return value only to test for success or failure If the returned ldev would exceed 15 bits, GETSYSTEMNAME returns the value 32,767 (which is never used as an actual ldev in the system). Because 32,767 is a positive value when treated as a signed 16-bit integer, it correctly indicates a successful return.
Affected Procedures LOCATESYSTEM In Example 1-3 on page 1-7, LDEV returns the value 32767D if SYS_NUM specifies the local system in any of these ways: • • • By name By the value -1D By default (that is, SYS_NUM is omitted) LOCATESYSTEM Calls to the LOCATESYSTEM procedure do not need to change if they do only the following: • • Convert a system name to a system number Use the return value only to test for success or failure If the returned ldev would exceed 15 bits, LOCATESYSTEM returns the value 32,
Affected Procedures LOCATESYSTEM Example 1-4. LOCATESYSTEM Procedure Change calls of the form: INT LDEV; INT SYS_NUM; INT SYS_NAME[0:3]; . . . LDEV := LOCATESYSTEM(SYS_NUM, SYS_NAME); To calls of the form: LITERAL MAXLEN = 8; INT(32) LDEV; INT(32) SYS_NUM; INT ERROR; INT NAMELEN; STRING SYS_NAME[0:MAXLEN - 1]; . . .
Affected Procedures LOOKUPPROCESSNAME LOOKUPPROCESSNAME Calls to the LOOKUPPROCESSNAME procedure that pass a name in the ppd parameter do not need to change. For each call to the LOOKUPPROCESSNAME procedure that passes a DCT index in the ppd parameter, make either the Recommended Change on page 1-10 or the ShortTerm Change on page 1-10. Recommended Change Replace the call to the LOOKUPPROCESSNAME procedure with a call to the D-series procedure PROCESS_GETPAIRINFO_.
Glossary destination control table (DCT). The NonStop Kernel data structure that holds information about every device and named process in the system. The DCT is composed of the named resource list (NRL) and the process-pair list (PPL). The DCT is replicated in each CPU. logical device number (ldev). A device’s or named process’s index into the DCT (more precisely, into the NRL). Each device or named process in the system has an ldev. named resource list (NRL).
Glossary release version update (RVU) Guardian Application Conversion Guide DCT Limit Extension Addendum—527418-001 Glossary- 2
Index A Abbreviations vi Audience v C CONFIG_GETINFO_BYLDEV2_ procedure (D-series) 1-5 CONFIG_GETINFO_BYLDEV_ procedure (D-series) 1-5 C-series procedures FILEINFO 1-4 GETDEVNAME 1-5/1-6 GETPPDENTRY in general 1-6 LOOKUPPROCESSNAME procedure (C-series) and 1-10 GETSYSTEMNAME 1-7/1-8 LOCATESYSTEM 1-8/1-9 LOOKUPPROCESSNAME 1-10 D Destination control table (DCT) limit of changing 1-4 deciding whether to change 1-3 default 1-1 effect on ldev size 1-1 seeing size of 1-2 DEVICE_GETINFOBYLDEV_ procedure (D-serie
N Index N Named resource list (NRL) 1-2 NODENAME_TO_NODENUMBER_ procedure (D-series) 1-8 NODENUMBER_TO_NODENAME_ procedure (D-series) 1-7 P PEEK utility 1-2 Process-pair list (PPL) 1-2 PROCESS_GETPAIRINFO_ procedure (D-series) GETPPDENTRY procedure (C-series) and 1-6 LOOKUPPROCESSNAME procedure (C-series) and 1-10 R Related reading v S Subsystem Control Facility (SCF) 1-1, 1-4 Guardian Application Conversion Guide DCT Limit Extension Addendum—527418-001 Index -2