Appendix B. z/VM source code 219
/*| parm 1: source |*/
/*| parm 2: target |*/
/*| parm 3: label |*/
/*+------------------------------------------------------------------+*/
arg dasd
/* create a list of reserved dasd - this is somewhat hokey to be sure
but it's better to be hokey than to format system minidisks! */
resvd1 = "0122 0123 0124 0125 0190 0191 0193 0194 019D 019E 0201 02A2"
resvd2 = "02A4 02A6 02C2 02C4 02CC 02D2 0319 03A2 03A4 03A6 03B2 03C2"
resvd3 = "03C4 03D2 0400 0401 0402 0405 0490 0493 049B 049E 04A2 04A4"
resvd4 = "04A6 04B2 04C2 04C4 04D2 0500 051D 05A2 05A4 05A6 05B2 05C2"
resvd5 = "05C4 05D2 05E5 05E6 06A2 06A4 06A6 06B2 06C2 06C4 06D2 07A2"
resvd6 = "07A4 07A6 07B2 07C2 07C4 07D2 0CF1 0CF2 0CF3"
reserved = resvd1 resvd2 resvd3 resvd4 resvd5 resvd6
if (index(reserved, dasd) <> 0) then /* MAINT minidisk - ABORT! */
do
say 'Minidisk' dasd 'is a reserved MAINT minidisk'
say 'This must be formatted manually using a different vaddr'
exit 4
end /* if dasd is reserved */
return /* from checkReserved */
/*+------------------------------------------------------------------+*/
doReport: procedure expose dasds formatted
/*| Report on the newly labelled DASD |*/
/*| parm 1: formatSuccess - 0=all is well, non-0= a format failed |*/
/*| retVal: 0 = success |*/
/*+------------------------------------------------------------------+*/
arg formatSuccess
if (formatSuccess ^= 0) then
say 'Error was encountered! retVal from CPFMTXA =' formatSuccess
if (formatted = '') then
say "No DASD were successfully formatted"
else
say "DASD successfully formatted:" formatted
'DETACH' dasds
'ATTACH' dasds '*'
say ''
say 'DASD status after:'
'CP Q MDISK' dasds 'LOCATION'
return 0 /* from doReport */
/*+------------------------------------------------------------------+*/
formatOne: procedure
/*| Format a DASD via DDR |*/
/*| parm 1: disk - the vaddr to be formatted |*/
/*| parm 2: type - PAGE, SPOL or PERM |*/
/*| parm 3: label - the six character label |*/
/*+------------------------------------------------------------------+*/
arg disk type label
queue 'FORMAT'
queue disk
queue '0 END'
queue label
queue 'YES'
queue type '0 END'
queue 'END'
'CPFMTXA'
retVal = rc
Comentarios a estos manuales