diff --git a/sbin/atacontrol/atacontrol.c b/sbin/atacontrol/atacontrol.c index e304627ddbee..c6369cc3ced0 100644 --- a/sbin/atacontrol/atacontrol.c +++ b/sbin/atacontrol/atacontrol.c @@ -29,66 +29,70 @@ */ #include +#include +#include #include +#include #include char * mode2str(int mode) { - switch (mode) { - case ATA_PIO: return "BIOSPIO"; - case ATA_PIO0: return "PIO0"; - case ATA_PIO1: return "PIO1"; - case ATA_PIO2: return "PIO2"; - case ATA_PIO3: return "PIO3"; - case ATA_PIO4: return "PIO4"; - case ATA_WDMA2: return "WDMA2"; - case ATA_UDMA2: return "UDMA33"; - case ATA_UDMA4: return "UDMA66"; - case ATA_UDMA5: return "UDMA100"; - case ATA_DMA: return "BIOSDMA"; - default: return "???"; - } + switch (mode) { + case ATA_PIO: return "BIOSPIO"; + case ATA_PIO0: return "PIO0"; + case ATA_PIO1: return "PIO1"; + case ATA_PIO2: return "PIO2"; + case ATA_PIO3: return "PIO3"; + case ATA_PIO4: return "PIO4"; + case ATA_WDMA2: return "WDMA2"; + case ATA_UDMA2: return "UDMA33"; + case ATA_UDMA4: return "UDMA66"; + case ATA_UDMA5: return "UDMA100"; + case ATA_DMA: return "BIOSDMA"; + default: return "???"; + } } int str2mode(char *str) { - if (!strcasecmp(str, "BIOSPIO")) return ATA_PIO; - if (!strcasecmp(str, "PIO0")) return ATA_PIO0; - if (!strcasecmp(str, "PIO1")) return ATA_PIO1; - if (!strcasecmp(str, "PIO2")) return ATA_PIO2; - if (!strcasecmp(str, "PIO3")) return ATA_PIO3; - if (!strcasecmp(str, "PIO4")) return ATA_PIO4; - if (!strcasecmp(str, "WDMA2")) return ATA_WDMA2; - if (!strcasecmp(str, "UDMA2")) return ATA_UDMA2; - if (!strcasecmp(str, "UDMA33")) return ATA_UDMA2; - if (!strcasecmp(str, "UDMA4")) return ATA_UDMA4; - if (!strcasecmp(str, "UDMA66")) return ATA_UDMA4; - if (!strcasecmp(str, "UDMA5")) return ATA_UDMA5; - if (!strcasecmp(str, "UDMA100")) return ATA_UDMA5; - if (!strcasecmp(str, "BIOSDMA")) return ATA_DMA; - return -1; + if (!strcasecmp(str, "BIOSPIO")) return ATA_PIO; + if (!strcasecmp(str, "PIO0")) return ATA_PIO0; + if (!strcasecmp(str, "PIO1")) return ATA_PIO1; + if (!strcasecmp(str, "PIO2")) return ATA_PIO2; + if (!strcasecmp(str, "PIO3")) return ATA_PIO3; + if (!strcasecmp(str, "PIO4")) return ATA_PIO4; + if (!strcasecmp(str, "WDMA2")) return ATA_WDMA2; + if (!strcasecmp(str, "UDMA2")) return ATA_UDMA2; + if (!strcasecmp(str, "UDMA33")) return ATA_UDMA2; + if (!strcasecmp(str, "UDMA4")) return ATA_UDMA4; + if (!strcasecmp(str, "UDMA66")) return ATA_UDMA4; + if (!strcasecmp(str, "UDMA5")) return ATA_UDMA5; + if (!strcasecmp(str, "UDMA100")) return ATA_UDMA5; + if (!strcasecmp(str, "BIOSDMA")) return ATA_DMA; + return -1; } void usage() { - printf("usage: atacontrol channel [args]\n"); + fprintf(stderr, "usage: atacontrol channel [args]\n"); + exit(1); } int version(int version) { - int bit; + int bit; - if (version == 0xffff) - return 0; - for (bit = 15; bit >= 0; bit--) - if (version & (1<= 0; bit--) + if (version & (1<