X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=mt.c;h=250856f05c29e1ea21b4a470af95ee389cfa6182;hb=a2a978ae23e267c24eb7b11662afdcc9ea47e789;hp=a61ad5a40cbe7c6c0ffc55000c8f2e39e07c9d5a;hpb=b0e9a709ba1ae1724d413a77f5b67b1a3e6c6cb7;p=oweals%2Fbusybox.git diff --git a/mt.c b/mt.c index a61ad5a40..250856f05 100644 --- a/mt.c +++ b/mt.c @@ -1,97 +1,97 @@ -#include "internal.h" +/* vi: set sw=4 ts=4: */ #include +#include +#include #include #include - -const char mt_usage[] = "mt [-f device] opcode value\n"; +#include "busybox.h" struct mt_opcodes { - char * name; - short value; + char *name; + short value; }; /* missing: eod/seod, stoptions, stwrthreshold, densities */ -static const struct mt_opcodes opcodes[] = { - { "bsf", MTBSF }, - { "bsfm", MTBSFM }, - { "bsr", MTBSR }, - { "bss", MTBSS }, - { "datacompression", MTCOMPRESSION }, - { "eom", MTEOM }, - { "erase", MTERASE }, - { "fsf", MTFSF }, - { "fsfm", MTFSFM }, - { "fsr", MTFSR }, - { "fss", MTFSS }, - { "load", MTLOAD }, - { "lock", MTLOCK }, - { "mkpart", MTMKPART }, - { "nop", MTNOP }, - { "offline",MTOFFL }, - { "rewoffline",MTOFFL }, - { "ras1", MTRAS1 }, - { "ras2", MTRAS2 }, - { "ras3", MTRAS3 }, - { "reset", MTRESET }, - { "retension", MTRETEN }, - { "rew", MTREW }, - { "seek", MTSEEK }, - { "setblk", MTSETBLK }, - { "setdensity", MTSETDENSITY }, - { "drvbuffer", MTSETDRVBUFFER }, - { "setpart", MTSETPART }, - { "tell", MTTELL }, - { "wset", MTWSM }, - { "unload", MTUNLOAD }, - { "unlock", MTUNLOCK }, - { "eof", MTWEOF }, - { "weof", MTWEOF }, - { 0, 0 } +static const struct mt_opcodes opcodes[] = { + {"bsf", MTBSF}, + {"bsfm", MTBSFM}, + {"bsr", MTBSR}, + {"bss", MTBSS}, + {"datacompression", MTCOMPRESSION}, + {"eom", MTEOM}, + {"erase", MTERASE}, + {"fsf", MTFSF}, + {"fsfm", MTFSFM}, + {"fsr", MTFSR}, + {"fss", MTFSS}, + {"load", MTLOAD}, + {"lock", MTLOCK}, + {"mkpart", MTMKPART}, + {"nop", MTNOP}, + {"offline", MTOFFL}, + {"rewoffline", MTOFFL}, + {"ras1", MTRAS1}, + {"ras2", MTRAS2}, + {"ras3", MTRAS3}, + {"reset", MTRESET}, + {"retension", MTRETEN}, + {"rew", MTREW}, + {"seek", MTSEEK}, + {"setblk", MTSETBLK}, + {"setdensity", MTSETDENSITY}, + {"drvbuffer", MTSETDRVBUFFER}, + {"setpart", MTSETPART}, + {"tell", MTTELL}, + {"wset", MTWSM}, + {"unload", MTUNLOAD}, + {"unlock", MTUNLOCK}, + {"eof", MTWEOF}, + {"weof", MTWEOF}, + {0, 0} }; -extern int -mt_main(int argc, char** argv) +extern int mt_main(int argc, char **argv) { - const char * file = "/dev/tape"; - const struct mt_opcodes * code = opcodes; - struct mtop op; - int fd; + const char *file = "/dev/tape"; + const struct mt_opcodes *code = opcodes; + struct mtop op; + int fd; - if ( strcmp(argv[1], "-f") == 0 ) { - if ( argc < 4 ) { - usage (mt_usage); + if (argc < 2) { + show_usage(); + } + + if (strcmp(argv[1], "-f") == 0) { + if (argc < 4) { + show_usage(); } file = argv[2]; argv += 2; argc -= 2; } - while ( code->name != 0 ) { - if ( strcmp(code->name, argv[1]) == 0 ) + while (code->name != 0) { + if (strcmp(code->name, argv[1]) == 0) break; code++; } - if ( code->name == 0 ) { - fprintf(stderr, "mt: unrecognized opcode %s.\n", argv[1]); - return( FALSE); + if (code->name == 0) { + error_msg("unrecognized opcode %s.", argv[1]); + return EXIT_FAILURE; } op.mt_op = code->value; - if ( argc >= 3 ) - op.mt_count = atoi(argv[2]); + if (argc >= 3) + op.mt_count = atoi(argv[2]); else - op.mt_count = 1; /* One, not zero, right? */ + op.mt_count = 1; /* One, not zero, right? */ - if ( (fd = open(file, O_RDONLY, 0)) < 0 ) { - perror(file); - return( FALSE); - } + if ((fd = open(file, O_RDONLY, 0)) < 0) + perror_msg_and_die("%s", file); - if ( ioctl(fd, MTIOCTOP, &op) != 0 ) { - perror(file); - return( FALSE); - } + if (ioctl(fd, MTIOCTOP, &op) != 0) + perror_msg_and_die("%s", file); - return( TRUE); + return EXIT_SUCCESS; }