+ (void)printf("\tsuppress disconnect %s.\n", s);
+ break;
+#undef dr
+
+ case SCSI_MS_PC_FMT:
+#define fmt ((struct scsi_page_fmt *)(mp + 1))
+ (void)printf("Format parameters.\n");
+ (void)printf("\t%d tracks/zone, %d alt.sect./zone, ",
+ N2(fmt->fmt_tpzh, fmt->fmt_tpzl),
+ N2(fmt->fmt_aspzh, fmt->fmt_aspzl));
+ (void)printf("%d alt.tracks/zone,\n\t%d alt.tracks/vol., ",
+ N2(fmt->fmt_atpzh, fmt->fmt_atpzl),
+ N2(fmt->fmt_atpvh, fmt->fmt_atpvl));
+ (void)printf("%d sectors/track, %d bytes/phys.sector,\n",
+ N2(fmt->fmt_spth, fmt->fmt_sptl),
+ N2(fmt->fmt_dbppsh, fmt->fmt_dbppsl));
+ (void)printf("\tinterleave %d, track skew %d, cyl.skew %d,\n",
+ N2(fmt->fmt_ilh, fmt->fmt_ill),
+ N2(fmt->fmt_tsfh, fmt->fmt_tsfl),
+ N2(fmt->fmt_csfh, fmt->fmt_csfl));
+ (void)printf("\tdrive flags 0x%x", fmt->fmt_flags);
+ prflags(fmt->fmt_flags, "\10SSEC\7HSEC\6RMB\5SURF");
+ (void)printf(".\n");
+ break;
+#undef fmt
+
+ case SCSI_MS_PC_RDGEOM:
+#define rd ((struct scsi_page_rdgeom *)(mp + 1))
+ (void)printf("Disk Geometry parameters.\n");
+ (void)printf("\t%d cylinders, %d heads,\n",
+ N3(rd->rd_ncylh, rd->rd_ncylm, rd->rd_ncyll),
+ rd->rd_nheads);
+ (void)printf("\tstart write precompensation at cyl %d,\n",
+ N3(rd->rd_wpcylh, rd->rd_wpcylm, rd->rd_wpcyll));
+ (void)printf("\tstart reduced write current at cyl %d,\n",
+ N3(rd->rd_rwcylh, rd->rd_rwcylm, rd->rd_rwcyll));
+ (void)printf("\tseek step rate %f us, landing zone cyl %d,\n",
+ N2(rd->rd_steph, rd->rd_stepl) * 0.1,
+ N3(rd->rd_lcylh, rd->rd_lcylm, rd->rd_lcyll));
+ switch (rd->rd_rpl & SCSI_RD_RPL_MASK) {
+ case SCSI_RD_RPL_NONE:
+ s = "disabled or unsupported";
+ break;
+ case SCSI_RD_RPL_SLAVE:
+ s = "slave";
+ break;
+ case SCSI_RD_RPL_MASTER:
+ s = "master";
+ break;
+ case SCSI_RD_RPL_MCONTROL:
+ s = "master control";
+ break;