General
| Application area: | Requesting and accessing lists and tables; see "Requesting and accessing lists and tables" | 
| Macro type: | Type S, MF format 3: D/C/E/L form; see "S-type macros" | 
Macro description
The NSIINF macro provides information about the following:
| CPU: | serial numbers and identifications of available CPUs | 
| BS2000: | label and version of the operating system, as well as addressing mode of  | 
| Memory: | size of the (physical) main memory | 
| HSI: | HSI base type | 
| Server: | type of server (model series) | 
Live migration: number of Live Migrations that occurred
No more than one item of information can be requested per macro call. The desired information is output to the <PREFIX><MACID>OUTP field. The data type and length of the output field depend on the information requested, as shown in the table at the end of the operand description.
Macro format and description of operands
| NSIINF | 
| INFO=BIGPGSIZ / BS2ID / CONFNAMX / CPUIDIPL / (CPUID,8) / (CPUID,16) / EPOCH / HSIASF / HSIBASE / HSILINE / HSIVM / IPLDTTM / IPLMODE / NEWMSIZE / MEMSIZE / OSDVERS / OSIOID / PAGESIZE / SPSUFFIX / SYSNAME / MIGCOUNT ,SRVUNIT=STD / INITIAL / CURRENT ,MF=D / C / E / L [,PARAM=addr / (r)] ,PREFIX=N / p ,MACID=SII / macid | 
INFO=
Identifies the information to be output.
For contents and length of information, see table on "NSIINF - Output system information".
SRVUNIT =
Specifies the Server Unit whose data is to be displayed. 
The explicit specification of this operand only makes sense if live migration has taken place and if the desired information depends on the Server Unit.
SRVUNIT = STD
The currently valid setting for the BS2000 session is to be used.
System-global default: INITIAL.
SRVUNIT = INITIAL
Server Unit on which IPL was performed (IPL server).
SRVUNIT = CURRENT
Server Unit on which the BS2000 session (possibly after live migration) is currently running.
MF=
For a general description of the MF operand, its operand values and any subsequent operands (e.g. PREFIX, MACID and PARAM), see section “S-type macros”. The valid MF values are given at the start of the macro description under “Macro type” and are included in the macro format.
A PREFIX can be specified in the C form or D form of the macro and additionally a MACID in the C form (see section “S-type macros”).
List of information identifiers and their meanings
| Identifier | Length  | Meanings of values output | 
| BIGPGSIZ | 4 | Size of a “big page” in the memory (in bytes). This information is only  | 
| BS2ID | Information on the operating system being used. | |
| 8 | ||
| 10 | <PREFIX> <MACID> BSVR: | |
| 10 | <PREFIX> <MACID> BSDT: | |
| 8 | <PREFIX> <MACID> BSTM: | |
| CONFNAMX | 21 | Server type (model series) in the new expanded format, e.g. 
 
 Bytes 5, 11 and 16 separate these sections and always contain the  Note | 
| (CPUID,n) | 8*n | Identifications of the CPUs. | 
| CPUIDIPL | 8 | Identification of the IPL CPU in hexadecimal form, as it is received from  | 
| EPOCH | 1 | Epoch for the TOD register (see the “Introduction to System  | 
| HSIASF | 2 | Provides additional information on the HSI. The following values may be  | 
| HSIBASE | 6 | CFCS3: HSI base type = CFCS3 (/390 servers). | 
| HSILINE | 2 | Provides additional information on the HSI. | 
| HSIVM | 2 | Provides information as to whether a real or a virtual machine is present | 
| IPLDTTM | Provides the following information: | |
| 10 | <PREFIX> <MACID> IPDA: | |
| 8 | <PREFIX> <MACID> IPTM: | |
| IPLMODE | 1 | Provides information on the system startup mode. | 
| NEWMSIZE | 4 | Size of the (physical) main memory which can be used by the software  | 
| MEMSIZE | 4 | Size of (physical) main memory available to software (in bytes). | 
| MIGCOUNT | 4 | Provides information on the number of live migrations which have taken  | 
| OSDVERS | 10 | Version of BS2000 in DOD format, e.g. 'V10.0A00pp'  | 
| OSIOID | Provides information on the I/O configuration of the operating system in  | |
| 8 | <PREFIX> <MACID> IONP: | |
| 10 | <PREFIX> <MACID> IOVR: | |
| 10 | <PREFIX> <MACID> IODT: | |
| 8 | <PREFIX> <MACID> IOTM: | |
| PAGESIZE | 4 | hardware page size (specified in kilobytes) | 
| SPSUFFIX | 15 | Provides information on the origin of the system parameters at system  *NONE *VM-NAME *DIALOG *UNKNOWN <std-name> corresponds to SYSPAR.BS2.vvv, where vvv = BS2000  | 
| SYSNAME | 8 | System name in the format <name 1..8> | 
Return information and error flags
The desired information is output to the <PREFIX><MACID>OUTP field.
Standard header:
+---------------+ | | | | | |c|c|b|b|a|a|a|a| +---------------+
A return code relating to the execution of the NSIINF macro is transferred in the standard header 
(aaaa=Maincode, bb=Subcode1, cc=Subcode2).
| X'cc' | X'bb' | X'aaaa' | Meaning | 
| X'00' | X'00' | X'0000' | Function executed successfully | 
| X'01' | X'01' | X'0001' | No action: invalid specification for the INFO operand | 
| X'02' | X'01' | X'0001' | No action: invalid specification in INFO=(CPUID,n) | 
| X'06' | X'01' | X'0001' | No action: parameter cannot be used for current HSI (see BIGPGSIZ) | 
Other return codes which, in accordance with conventions, apply to all macros are given in the table “Standard return codes” (Standard header).
Example
NSIINF   START
         PRINT NOGEN
NSIINF   AMODE ANY
         GPARMOD 31
         BALR   3,0
         USING  *,3
*
NSIOPLST NSIINF MF=D,INFO=BS2ID —————————————————————————————————————  (1) 
NSIINF   CSECT
         LA    4,NSILIST
         USING NSIOPLST,4
         NSIINF MF=E,PARAM=NSILIST
         MVC   MESSNAME,=C'NP'
         MVC   MESSTXT(L'NSIIBSNP),NSIIBSNP
         BAL   7,OUTPUT                Call output routine ---------->
         MVC   MESSNAME,=C'VR'
         MVC   MESSTXT,NSIIBSVR
         BAL   7,OUTPUT                Call output routine ---------->
         MVC   MESSNAME,=C'DT'
         MVC   MESSTXT,NSIIBSDT
         BAL   7,OUTPUT                Call output routine ---------->
         MVC   MESSNAME,=C'TM'
         MVC   MESSTXT(L'NSIIBSTM),NSIIBSTM
         BAL   7,OUTPUT                Call output routine ---------->
END      TERM
*
*        Output routine
*
OUTPUT   WROUT MESSAGE,END,PARMOD=31
         MVI   MESSTXT,C' '            Clear MESSTXT for next output
         MVC   MESSTXT+1(L'MESSTXT-1),MESSTXT
         BR    7                       Return ->
*
****  Definitions ****
         DS    0H
NSILIST  NSIINF MF=L,INFO=BS2ID —————————————————————————————————————  (2) 
MESSAGE  DC    Y(ENDMESS-MESSAGE)      Record length
         DS    CL2                     Reserved
         DC    X'01'                   Print feed control character
         DC    C'NSIIBS'
MESSNAME DC    CL2' '                  Field indicator
         DC    C' = '
MESSTXT  DC    CL10' '                 Contents
ENDMESS  EQU   *
         END
Runtime log:
/start-assembh % BLS0500 PROGRAM 'ASSEMBH', VERSION '<ver>' OF '<date>' LOADED % ASS6010 <ver> OF BS2000 ASSEMBH READY //compile source=*library-element(macexmp.lib,nsiinf), - // compiler-action=module-generation(module-format=llm), - // module-library=macexmp.lib, - // listing=parameters(output=*library-element(macexmp.lib,nsiinf)) % ASS6011 ASSEMBLY TIME: 368 MSEC % ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES % ASS6019 HIGHEST ERROR-WEIGHT: NO ERRORS % ASS6006 LISTING GENERATOR TIME: 85 MSEC //end % ASS6012 END OF ASSEMBH /start-executable-program library=macexmp.lib,element-or-symbol=nsiinf % BLS0523 ELEMENT 'NSIINF', VERSION '@' FROM LIBRARY ':2OSG:$QM212.MACEXMP.LIB' IN PROCESS % BLS0524 LLM 'NSIINF', VERSION ' ' OF '<date> <time>' LOADED NSIIBSNP = I10BXS ————————————————————————————————————————————————————— (3) NSIIBSVR = V19.0A00I1 NSIIBSDT = <date> NSIIBSTM = <time>
| (1) | The DSECT for BS2ID (information on the operating system currently in use) is generated. | ||||||||
| (2) | The parameter list is supplied with the information. | ||||||||
| (3) | The following information regarding the current operating system is transferred: 
 |