Macro description
DPSHSHP provides information about the current sharers of a shared pubset. The information provided corresponds to the output of the SHOW-SHARED-PUBSET command.
The requested information is placed in an output area. The user must provide an output area of adequate size with the necessary access rights by means of the OUTAREA operand.
If INFO=*ALL, INFO=*XCS or INFO=*CCS is specified, the storage space required for the output depends on the number of existing shared pubsets and the number of sharers per shared pubset. 24 bytes are required for one sharer of a shared pubset (a shared pubset may have a maximum of 16 sharers).
The output area provided by the interface caller must be at least long enough to accommodate a single sharer of a single shared pubset. The following is required for this: 8 bytes for the output area header, 8 bytes for the header of the shared pubset configuration and 24 bytes for at least one sharer (i.e. 40 byes in all). If the area is too small, this is acknowledged with the main return code DPSHOISF (“not minimal output length”).
If the output area specified by the user is too small to accommodate the returned information, the currently needed value for the length of the output area DPSHRQLG (“requested length of output area“) is returned as an output parameter. In addition, a return code is set that draws attention to this situation (main return code DPSHOTSH (“not enough space for info“)).
If the DPSHSHP interface call does not return any output information due to an unexpected watchdog mechanism return code, this return code is placed in the parameter list as output information (in the DPSHWDRC (“watchdog return code”) field). In this case, the return code field of the DPSHSHP interface contains the main return code DPSHINTE (“internal error”).
Dependencies between the operands
If INFO=*ONEPVS
is specified, the identification of a pubset must also be specified using the input parameter PUBSET.
Format and operands
Operation | Operands |
|
|
MF
The MF operand defines the type of macro generation.
Depending on the operand values for MF, a distinction is made between five forms of the macro call:
Operands |
|
For information on the MF operand values, see the manual "Executive Macros" [12 (Related publications)].
XPAND = PARAM / OUTPUT
Defines whether or not a DSECT is to be generated. Specification only in conjunction with MF=D/C.
PARAM
The structure description of the parameter list is created.
OUTPUT
The structure description of the output area is created.
VERSION = 1 / <integer 1..3>
Defines the desired interface version. Interface version 1 (currently the only version) is supported as of MSCF V15.0.
1
Default value. Interface version 1 is generated.
<integer 1..3>
Direct specification of the desired interface version.
INFO = *ALL / *ONEPVS / *XCS / *CCS
Specifies which shared pubsets information was requested for.
*ALL
Information about all existing shared pubsets is to be provided.
*ONEPVS
Requests information about a selected shared pubset. The pubset is identified in the PUBSET
operand.
*XCS
Outputs information about all XCS pubsets.
*CCS
Outputs information about all CCS pubsets.
PUBSET =
Only evaluated with INFO=*ONEPVS
.
Identifies a pubset.
OUTAREA = (address, length)
Defines the output area in which the processor information is output.
address: <var: pointer> / (<reg: pointer>)
<var: pointer>
The output area must be aligned on word boundaries. The following two alternatives are possible:
address of the output area as direct address specification in the form A(area)
name of a field with the address of the output area. Specification only in conjunction with MF=M
(<reg: pointer>)
Register with the address of the output area. Specification only in conjunction with MF=M.
length: <integer 1..32767> / <var: int:4> / (<reg: int:4>)
Defines the length of the output area. If the output area specified is too small, the required size is stored in the Input_Param.Area_Length field of the parameter list.
<integer 1..32767>
Length of the output area in bytes as direct specification.
In Assembler a symbolic specification must be enclosed in square brackets.
<var: int:4>
Name of a field with the length specification as an integer; field length = 4 bytes. Specification only in conjunction with MF=M.
<reg: int:4>
Register containing the length specification for the output area. Specification only in conjunction with MF=M.
Return codes
The following return code regarding the success of the execution of the DPHSHP macro is transferred in the standard header (cc = SUBCODE2, bb = SUBCODE1, aaaa = MAINCODE):
standard header:
c | c | b | b | a | a | a | a |
X'cc' | X'bb' | X'aaaa' | Explanation |
---|---|---|---|
X'00' | X'0000' | No errors | |
X'40' | X'0001' | Parameter list not accessible | |
X'40' | X'0002' | Output address not accessible | |
X40' | X'0003' | Output address not on word boundary | |
X'40' | X'0004' | INFO parameter is invalid | |
X'40' | X'0005' | PUBSET parameter is invalid | |
X'40' | X'0006' | Not enough storage space for requested information | |
X'40' | X'0007' | Not enough storage space for minimum output information | |
X'40' | X'0008' | No shared pubsets exist | |
X'40' | X'0009' | MSCF subsystem not available | |
X'20' | X'000A' | Internal error | |
X'01' | X'FFFF' | Interface error, wrong unit or function number | |
X'03' | X'FFFF' | Version not supported |
Table 8: DPSHSHP macro: return codes
Layout of the parameter area
DPSHSHP MF=D,XPAND=PARAM,VERSION=1 1 MFTST MF=D,PREFIX=D,MACID=PSH,ALIGN=F, C 1 DMACID=PSH,SUPPORT=(E,D,C,M,L),DNAME=DPSHPAR 2 DPSHPAR DSECT , 2 *,##### PREFIX=D, MACID=PSH ##### 1 * DPSHSHP parameter area 1 DPSHFHDR FHDR MF=(C,MCSI),EQUATES=NO Standardheader 2 DPSHFHDR DS 0A 2 DPSHFHE DS 0XL8 0 GENERAL PARAMETER AREA HEADER 2 * 2 DPSHIFID DS 0A 0 INTERFACE IDENTIFIER 2 DPSHFCTU 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 DPSHFCT DS AL1 2 FUNCTION NUMBER 2 DPSHFCTV DS AL1 3 FUNCTION INTERFACE VERSION NUMBER 2 * 2 DPSHRET DS 0A 4 GENERAL RETURN CODE 2 DPSHSRET DS 0AL2 4 SUB RETURN CODE 2 DPSHSR2 DS AL1 4 SUB RETURN CODE 2 2 DPSHSR1 DS AL1 5 SUB RETURN CODE 1 2 DPSHMRET DS 0AL2 6 MAIN RETURN CODE 2 DPSHMR2 DS AL1 6 MAIN RETURN CODE 2 2 DPSHMR1 DS AL1 7 MAIN RETURN CODE 1 2 DPSHFHL EQU 8 8 GENERAL OPERAND LIST HEADER LENGTH 2 * 1 * main return codes 1 DPSHNOER EQU 0 no error 1 DPSHPLNA EQU 1 parameterlist not accessible 1 DPSHONAC EQU 2 output area not accessible 1 DPSHONAL EQU 3 output area not aligned 1 DPSHINFI EQU 4 invalid INFO parameter 1 DPSHINVP EQU 5 invalid PUBSET parameter 1 DPSHOTSH EQU 6 not enough space for info 1 DPSHOISF EQU 7 not minimal output length 1 DPSHNSHP EQU 8 no shared pubsets 1 DPSHMNAV EQU 9 subsystem MSCF not available 1 DPSHINTE EQU 10 internal error 1 * 1 DPSHINFO DS FL1 par.INFO 1 * values for operand INFO 1 DPSHALLP EQU 1 info for all shared pubsets 1 DPSHONEP EQU 2 info for one shared pubset 1 DPSHXCSP EQU 3 info for all XCS pubsets 1 DPSHCCSP EQU 4 info for all CCS pubsets 1 * 1 DPSHRSV1 DS XL3 reserved - first 1 DPSHPBID DS CL4 par. PUBSET 1 DPSHARAD DS A address of output area 1 DPSHARLG DS F length of output area 1 DPSHRSV2 DS XL4 reserved - second 1 DPSHRQLG DS F req. length of output area 1 DPSHWDRC DS F watchdog return code 1 DPSH# EQU *-DPSHFHDR
Layout of the output area
DPSHSHP MF=D,XPAND=OUTPUT 1 MFTST MF=D,PREFIX=D,MACID=PSH,ALIGN=F, C 1 DMACID=PSH,SUPPORT=(E,D,C,M,L),DNAME=PSHOUT 2 DPSHOUT DSECT , 2 *,##### PREFIX=D, MACID=PSH ##### 1 * output area layout 1 DPSHNSPV DS F number of spvs 1 DPSHTLTH DS F total length 1 * 1 DPSHCONF DS 0XL392 configuration entry 1 DPSHNOSH DS H number of sharer 1 DPSHRESV DS XL2 reserved bytes 1 DPSHSPVS DS CL4 spvs catid 1 DPSHSHAR DS 0XL24 sharer data of pubset 1 DPSHHNAM DS CL8 sharer host name 1 DPSHHCTI DS CL4 sharer home catid 1 DPSHBSVR DS CL3 sharer bs version 1 DPSHBSSV DS CL1 sharer bs subversion 1 DPSHESYS DS CL3 sharer ext sysid 1 DPSHSYSI DS X sharer sysid 1 DPSHSTYP DS FL1 sharer type 1 * values for output SHARER TYPE 1 DPSHTUDF EQU 0 undefined sharer type 1 DPSHTMAS EQU 1 sharer is pubset master 1 DPSHTSLV EQU 2 sharer is pubset slave 1 DPSHTBAM EQU 3 sharer is pubset backup master 1 DPSHSTAT DS FL1 sharer state 1 * values for output SHARER STATE 1 DPSHSUDF EQU 0 undefined sharer state 1 DPSHSACT EQU 1 sharer state active 1 DPSHSCRS EQU 2 sharer state crashed 1 DPSHSEXC EQU 3 sharer state excat 1 DPSHSDPR EQU 4 sharer state disc prot error 1 DPSHSHUT EQU 5 sharer state shutdown 1 DPSHSMCH EQU 6 sharer state master change 1 DPSHSRDE EQU 7 sharer state disc read error 1 DPSHSWRE EQU 8 sharer state disc write error 1 DPSHRES3 DS XL2 reserved - third DS 15XL24 1 DPSHSHAR# EQU 16 1 * 1 DPSHOUTPUT# EQU *-DPSHNSPV