/* REXX */ /* report on extents in the link list */ cvt = C2D(Storage(10,4)) cvtlink = C2D(Storage(D2X(cvt+8),4)) /* CVTLINK points to a DCB - find the associated DEB */ deblink = C2D(Storage(D2X(cvtlink+44),4)) Say 'Linklist DCB at 'D2X(cvtlink)' DEB at 'D2X(deblink) Extents = C2D(Storage(D2X(deblink+16),1)) Say ' in 'Extents' extents' /* initialization for stem */ volume. = '' /* for each extent, report the volser and extent info */ /* assume all datasets are on DASD */ Do i = 1 to Extents base = deblink+16+i*16 UCB = C2X(Storage(D2X(base+1),3)) /* look up the volser for this UCB if not already known */ If volume.UCB = '' then Do volume.UCB = Storage(D2X(X2D(UCB)+28),6) End /* start CCCCHHHH and end CCCCHHHH */ start = C2X(Storage(D2X(base+6),4)) end = C2X(Storage(D2X(base+10),4)) size = C2D(Storage(D2X(base+14),2)) /* assume 15 tracks per cylinder */ If Right(start,4) == '0000' & , Right(end,4) == '000E' then sizetxt = ' 'size/15' cylinders' else sizetxt = ' 'size' tracks' flag = C2D(Storage(D2X(base),1)) /* size information for PDS/Es is incomplete */ If flag = 0 & size = 1 then , sizetxt = ' PDS/E' Say 'Volume 'volume.UCB' Start:'start' End:'end sizetxt End i Exit 0