DCL DD SRLTMPLT CHAR(16) BDRY(16); DCL DD TOTBYT BIN(4) DEF(SRLTMPLT) POS(1) INIT(16); DCL DD AVLBYT BIN(4) DEF(SRLTMPLT) POS(5) INIT(8); DCL DD SRLNBR CHAR(8) DEF(SRLTMPLT) POS(9) INIT(X"00"); DCL SPCPTR .SRLTMPLT INIT(SRLTMPLT); DCL DD MATR_SRL CHAR(2) INIT(X"0004"); DCL DD VPDTMPLT CHAR(4096) BDRY(16); DCL DD BYTPRV BIN(4) DEF(VPDTMPLT) POS(1) INIT(4096); DCL DD BYTAVL BIN(4) DEF(VPDTMPLT) POS(5); DCL DD PRCOFFSET BIN(4) DEF(VPDTMPLT) POS(21); DCL DD CECOFFSET BIN(4) DEF(VPDTMPLT) POS(29); DCL SPCPTR .VPDTMPLT INIT(VPDTMPLT); DCL DD MATR_VPD CHAR(2) INIT(X"012C"); DCL SPCPTR .CECSPACE; DCL DD CECVPD CHAR(48) BAS(.CECSPACE); DCL DD MATMODEL CHAR(4) DEF(CECVPD) POS(17); DCL DD MATGROUP CHAR(4) DEF(CECVPD) POS(25); DCL DD MATFEAT CHAR(4) DEF(CECVPD) POS(34); DCL DD PIF CHAR(27) INIT("*OPSYS *CUR 0000*CODE"); DCL SPCPTR .PIF INIT(PIF); DCL DD PRD CHAR(100); DCL SPCPTR .PRD INIT(PRD); DCL DD LEN BIN(4) INIT(100); DCL SPCPTR .LEN INIT(LEN); DCL DD FMT CHAR(8) INIT("PRDR0100"); DCL SPCPTR .FMT INIT(FMT); DCL DD ERR CHAR(100) INIT(X"00000040"); DCL SPCPTR .ERR INIT(ERR); DCL OL QSZRTVPR-ARGS (.PRD, .LEN, .FMT, .PIF, .ERR) ARG; DCL SYSPTR .QSZRTVPR INIT("QSZRTVPR",TYPE(PGM,1)); DCL SPCPTR .ODP; DCL SPC ODP BAS(.ODP); DCL DD ODP.DCB BIN(4) DEF(ODP) POS(17); DCL SPCPTR .DCB; DCL SPC DCB BAS(.DCB); DCL DD DCB-PUT BIN(2) DEF (DCB) POS(33); DCL SPCPTR .NULL; DCL SPCPTR @SEPT BASPCO; DCL SYSPTR .SEPT(6440) BAS(@SEPT); DCL CON CLOSE-ENTRY BIN(2) INIT(11); DCL CON OPEN-ENTRY BIN(2) INIT(12); DCL SPCPTR .OFCB INIT(OFCB); DCL DD OFCB CHAR(220) BDRY(16); DCL SPCPTR .OFCB-ODP DEF(OFCB) POS( 1); DCL SPCPTR .OFCB-OUTBUF DEF(OFCB) POS( 33); DCL DD OFCB-FILE CHAR(10) DEF(OFCB) POS(129); DCL DD OFCB-LIB-ID BIN(2) DEF(OFCB) POS(139) INIT(72); DCL DD OFCB-LIBRARY CHAR(10) DEF(OFCB) POS(141); DCL DD OFCB-MBR-ID BIN(2) DEF(OFCB) POS(151) INIT(73); DCL DD OFCB-MEMBER CHAR(10) DEF(OFCB) POS(153); DCL DD OFCB-FLAGS-1 CHAR(1) DEF(OFCB) POS(175) INIT(X'80'); DCL DD OFCB-FLAGS-2 CHAR(1) DEF(OFCB) POS(176) INIT(X'10'); DCL DD OFCB-RECORD-ID BIN (2) DEF(OFCB) POS(209) INIT(1); DCL DD OFCB-RECORD-LENGTH BIN (2) DEF(OFCB) POS(211) INIT(132); DCL DD OFCB-LEVEL-ID BIN (2) DEF(OFCB) POS(213) INIT(6); DCL DD OFCB-LEVEL-NO CHAR(1) DEF(OFCB) POS(215) INIT(X'00'); DCL DD OFCB-CLEAR-ID BIN (2) DEF(OFCB) POS(216) INIT(8); DCL DD OFCB-CLEAR-YES CHAR(1) DEF(OFCB) POS(218) INIT(X'80'); DCL DD OFCB-NO-MORE-PARMS BIN (2) DEF(OFCB) POS(219) INIT(32767); DCL OL OPEN-O (.OFCB) ARG; DCL OL CLOSE-O(.OFCB) ARG; DCL DD PUT-ENTRY BIN(2); DCL DD OUTBUF CHAR(132) BAS(.OFCB-OUTBUF); DCL DD PUT-OPTION BIN(4) INIT(H'10000005'); DCL SPCPTR .PUT-OPTION INIT(PUT-OPTION); DCL OL PUT-OPERATION(.OFCB, .PUT-OPTION, .NULL); DCL DD MSGDATA CHAR(132); ENTRY * EXT; CPYBWP .NULL, *; /* MAKE NULL PTR */ OPEN-OUTPUT-FILE: CPYBLAP OFCB-FILE, "CPUINFO", " "; CPYBLAP OFCB-LIBRARY, "LSVALGAARD", " "; CPYBLAP OFCB-MEMBER, "CPUINFO", " "; CALLX .SEPT(OPEN-ENTRY), OPEN-O, *; CPYBWP .ODP, .OFCB-ODP; ADDSPP .DCB, .ODP, ODP.DCB; CPYNV PUT-ENTRY, DCB-PUT; RETRIEVE-CPU-INFORMATION: MATMATR .SRLTMPLT, MATR_SRL; /* materialize serial # */ MATMATR .VPDTMPLT, MATR_VPD; /* materialize VPD */ ADDSPP .CECSPACE, .VPDTMPLT, CECOFFSET; /* point to CEC VPD */ CALLX .QSZRTVPR, QSZRTVPR-ARGS, *; CPYBREP MSGDATA, " "; CPYBLA MSGDATA(1:14), "CPU Serial #: "; CPYBLA MSGDATA(15:7), SRLNBR(2:7); CPYBLA MSGDATA(22:8), " Model: "; CPYBLA MSGDATA(30:3), MATMODEL(2:3); CPYBLA MSGDATA(33:15), " Feature Code: "; CPYBLA MSGDATA(52:17), " Processor Group: "; CPYBLA MSGDATA(48:4), MATFEAT; CMPBLA(B) MATGROUP(2:3), "EE3"/NEQ(=+2); CPYBLA MATGROUP(2:3), "P05";: CMPBLA(B) MATGROUP(2:3), "PPS"/NEQ(=+2); CPYBLA MATGROUP(2:3), "P05";: CPYBLAP MSGDATA(70:4), MATGROUP(2:3), " "; WRITE-INFORMATION: CPYBLA OUTBUF, MSGDATA; CALLX .SEPT(PUT-ENTRY), PUT-OPERATION, *; CALLX .SEPT(CLOSE-ENTRY), CLOSE-O, *; RTX *;