On: Tue, Feb 20, 2007 at 10:29:41AM -0500,Nick Laflamme Wrote: } Has anyone mapped out the values to tape drives types returned by "Q cuu } ID"? Perhaps even listed which types are compatible with what sorts of } tapes? (Yes, Herndon, I'm looking in your direction.)
Nick, Not sure if this will help because its old and doesn't include the newer tapes, but this exec "TAPETYPE" may get you started. /* TAPETYPE Rich Greenberg, Locus, 8/89. This exec, when called as a Rexx function or subroutine, will return a value which is the IBM model number of the real tape drive associated with the virtual address passed to it. To use: mod = 'TAPETYPE'(vaddr) (Function call) call 'TAPETYPE' vaddr (Subroutine mod = result call) Where: mod Receives one of the o/p values. vaddr Is the virtual address of the tape drive. Output; The value returned will be one of the following: 2401 ) 2415 ) Real 2420 ) tape 3420 ) drive 3410 ) is 8809 ) this 3430 ) model. 3480 ) 9347 ) 0 Real device is a tape drive, but type is not recognized. -1 Real device is not a tape drive -2 Virtual device exists but is not associated with a real device. -3 Invalid device address OR the virtual device does not exist. -4 Call error - Too many or too few arguements. -100 Exit from HELP request. Note: A 3411 tape drive will return 3410. */ address 'COMMAND' trace 'O' /* Get my arg. If null, or more than 1, exit with -4. Check for HELP request. */ parse upper arg vaddr rest if vaddr = '?' | vaddr = 'HELP' then do do n = 2 while substr(sourceline(n),1,2) ^= '*/' say sourceline(n) end exit -100 end if vaddr = '' | rest ^= '' then return -4 /* Now do a diag 24 against the vaddr and see what we get. */ parse value diag(24,vaddr) with . 5 rdevclas 6 rdevtyp 7 . 13 cc select when cc = 0 then do if rdevclas = '08'x then return Seltyp(rdevtyp) else return -1 end when cc = 2 then return -2 when cc = 3 then return -3 end /* Devicetype matcher routine. */ Seltyp: select when arg(1) = '80'x then return 2401 when arg(1) = '40'x then return 2415 when arg(1) = '20'x then return 2420 when arg(1) = '10'x then return 3420 when arg(1) = '08'x then return 3410 when arg(1) = '02'x then return 3430 when arg(1) = '01'x then return 3480 when arg(1) = '04'x then return 8809 when arg(1) = '84'x then return 9347 otherwise return 0 end -- Rich Greenberg N Ft Myers, FL, USA richgr atsign panix.com + 1 239 543 1353 Eastern time. N6LRT I speak for myself & my dogs only. VM'er since CP-67 Canines:Val, Red, Shasta & Casey (RIP), Red & Zero, Siberians Owner:Chinook-L Retired at the beach Asst Owner:Sibernet-L