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" |
System parameters define specific options of an individual operating system.
System parameters are entered in the startup parameter file or the corresponding default values are used. System parameters can be modified individually during a system run. These modifications must also be saved in the startup parameter file if they are required for future system starts.
Macro description
The NSIOPT macro provides information on nonprivileged system parameters. When the caller has the TSOS privilege, the privileged systems parameters are also output.
All the system parameters are described with the SHOW-SYSTEM-PARAMETERS command in the “Commands” [19 (Related publications)] manual.
Only one system parameter can be queried for each macro call. The INFO operand is used to select the system parameter. The desired information is transferred to an output field defined in the FIELD and LENG operands. The data type of the field depends on the system parameter being queried.
Macro format and description of operands
NSIOPT |
[INFO='info',FIELD=addr,LENG=length] ,MF=D / C / E / L [,PARAM=addr / (r)] ,PREFIX=N / p ,MACID=SIO / macid |
INFO=
Identifies the information to be output.
'info'
Identifier for the system parameter. The string “info” must be exactly 8 bytes long. If the name of the desired system parameter is less than 8 bytes long, it must be padded to this length with blanks.
FIELD=
Specifies the address of the field to which the information is to be output. The field length is determined by the value of the LENG operand. The information is entered left-justified.
addr
Symbolic address of the field.
LENG=
Specifies the length of the entry in the field specified in the FIELD operand. The length is given in the “Introduction to System Administration” manual [10 (Related publications)]. If an incorrect value is specified here, no entry is made in the field specified with FIELD.
length
Length in bytes (see list), specified as a decimal digit.
For system parameters of type C, information can be output to a field which is too small, provided that only blanks are deleted from the contents of the system parameter.
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.
Return information and error flags
Standard header:
+---------------+ | | | | | |c|c|b|b|a|a|a|a| +---------------+
A return code relating to the execution of the NSIOPT 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 for the FIELD operand or for the FIELD |
X'03' | X'01' | X'0001' | No action: invalid specification for the LENG operand, e.g. no value |
X'04' | X'01' | X'0001' | No action: the LENG operand does not match the length of the |
X'05' | X'01' | X'0001' | No action: information on the requested system parameter is not |
Other return codes which, in accordance with conventions, apply to all macros are given in the table “Standard return codes” (Standard header).
Example
NSIOPT START NSIOPT AMODE ANY GPARMOD 31 BALR 3,0 USING *,3 * NSIOPLST NSIOPT MF=D ———————————————————————————————————————————————— (1) 1 * NSIOPT, VERSION=101, DATE=900911 101 1 NSIOPLST MFCHK MF=D, 101C 1 PREFIX=N, 101C 1 MACID=SIO, 101C 1 DMACID=SIO, 102C 1 DNAME=SIOPL, 101C 1 SUPPORT=(D,C,L,E), 101C 1 PARAM=, 101C 1 SVC=135 101 2 NSIOPLST DSECT , 2 *,##### PREFIX=N, MACID=SIO ##### 1 * 101 1 #INTF INTNAME=NSIOPT,REFTYPE=REQUEST, 101C 1 INTCOMP=1 101 1 * 101 1 NSIORCNE EQU 0 NO ERROR 101 1 NSIORCII EQU 1 INFO INVALID 101 1 NSIORCFI EQU 2 FIELD INVALID 101 1 NSIORCLI EQU 3 LENG INVALID 101 1 NSIORCLS EQU 4 LENG TOO SHORT 101 1 * 101 1 NSIS0002 EQU * 101 1 NSIOFHDR FHDR MF=(C,NSIO),EQUATES=NO 101 2 NSIOFHDR DS 0A 2 NSIOFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER 2 * 2 NSIOIFID DS 0A 0 INTERFACE IDENTIFIER 2 NSIOFCTU DS AL2 0 FUNCTION UNIT NUMBER 2 * BIT 15 HEADER FLAG BIT, 2 * MUST BE RESET UNTIL FURTHER NOTICE 2 * BIT 14-12 UNUSED, MUST BE RESET 2 * BIT 11-0 REAL FUNCTION UNIT NUMBER 2 NSIOFCT DS AL1 2 FUNCTION NUMBER 2 NSIOFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER 2 * 2 NSIORET DS 0A 4 GENERAL RETURN CODE 2 NSIOSRET DS 0AL2 4 SUB RETURN CODE 2 NSIOSR2 DS AL1 4 SUB RETURN CODE 2 2 NSIOSR1 DS AL1 5 SUB RETURN CODE 1
2 NSIOMRET DS 0AL2 6 MAIN RETURN CODE 2 NSIOMR2 DS AL1 6 MAIN RETURN CODE 2 2 NSIOMR1 DS AL1 7 MAIN RETURN CODE 1 2 NSIOFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH 2 * 1 NSIOINFO DS CL8 INFO 101 1 NSIOFILD DS A POINTER 101 1 NSIOLENG DS H LENGTH 101 1 NSIE0002 EQU * 101 1 NSIO# EQU (NSIE0002-NSIS0002) 101 PRINT NOGEN NSIOPT CSECT LA 4,NSILST USING NSIOPLST,4 BAL 7,OUTPUT Call output routine ----------> (2) MVC NSIOINFO,=C'SSMLGOF1' ———————————————————————————————— (3) MVC NSIOLENG,=H'9' BAL 7,OUTPUT Call output routine ----------> MVC NSIOINFO,=C'ENCRYPT ' ———————————————————————————————— (4) MVC NSIOLENG,=H'1' BAL 7,OUTPUT Call output routine ----------> END TERM * * Output routine * OUTPUT NSIOPT MF=E,PARAM=NSILST ——————————————————————————————————— (5) MVC PARNAME,NSIOINFO WROUT MESSAGE,END,PARMOD=31 2 *,@DCEO 999 921011 53531004 MVI OPTTXT,C' ' Clear OPTSTXT for next output MVC OPTTXT+1(L'OPTTXT-1),OPTTXT BR 7 Return -> * **** Definitions **** DS 0H NSILST NSIOPT MF=L,INFO='BLKCTRL ',FIELD=OPTTXT,LENG=6 ———————————— (6) MESSAGE DC Y(ENDMESS-MESSAGE) Record length DS CL2 Reserved DC X'01' Print feed control character PARNAME DC CL8' ' Field indicator DC C' = ' OPTTXT DC CL10' ' Contents ENDMESS EQU * END =C'SSMLGOF1' =C'ENCRYPT '
Runtime log:
/start-assembh % BLS0500 PROGRAM 'ASSEMBH', VERSION '<ver>' OF '<date>' LOADED % ASS6010 <ver> OF BS2000 ASSEMBH READY //compile source=*library-element(macexmp.lib,nsiopt), - // compiler-action=module-generation(module-format=llm), - // module-library=macexmp.lib, - // listing=parameters(output=*library-element(macexmp.lib,nsiopt)) % ASS6011 ASSEMBLY TIME: 366 MSEC % ASS6018 0 FLAGS, 0 PRIVILEGED FLAGS, 0 MNOTES % ASS6019 HIGHEST ERROR-WEIGHT: NO ERRORS % ASS6006 LISTING GENERATOR TIME: 92 MSEC //end % ASS6012 END OF ASSEMBH /start-executable-program library=macexmp.lib,element-or-symbol=nsiopt % BLS0523 ELEMENT 'NSIOPT', VERSION '@' FROM LIBRARY ':2OSG:$QM212.MACEXMP.LIB' IN PROCESS % BLS0524 LLM 'NSIOPT', VERSION ' ' OF '<date> <time>' LOADED BLKCTRL = PAMKEY ————————————————————————————————————————————————————— (7) SSMLGOF1 = REQ-SPOOL ENCRYPT = Y
(1) | Generation of DSECT for addressing the output information. |
(2) | First call of the output routine (5). |
(3) | Modification of the NSIOPT data area for the second call: The system parameter SSMLGOF1 should be output at a length of 9. The output routine (5) is then called for the second time. |
(4) | Modification of the NSIOPT data area for the third call: The system parameters ENCRYPT should be output at a length of 1. The output routine (5) is then called for the third time. |
(5) | Output routine. The value of a system parameter is first determined using the macro NSIOPT. The determined value is then output to SYSOUT using WROUT. The output routine is called three times in this example. |
(6) | Call to macro NSIOPT with MF=L for initialization of the data area. The file attribute BLKCTRL is to be output. The length of the information to be output is 6 bytes. |
(7) | Output of the determined system parameters:
|