Annotation of researchv10no/cmd/worm/wreset.c, revision 1.1

1.1     ! root        1: #include       <libc.h>
        !             2: #include       "worm.h"
        !             3: #include       <sys/types.h>
        !             4: #include       <sys/udaioc.h>
        !             5: 
        !             6: main(argc, argv)
        !             7:        char **argv;
        !             8: {
        !             9:        Superblock s;
        !            10:        char *e, *vol_id = 0;
        !            11:        char buf[1024];
        !            12:        char *dev = "/dev/worm0";
        !            13:        int c;
        !            14:        extern char *optarg;
        !            15:        extern int optind;
        !            16: 
        !            17:        while((c = getopt(argc, argv, "f:")) != -1)
        !            18:                switch(c)
        !            19:                {
        !            20:                case 'f':       dev = optarg; break;
        !            21:                case '?':       usage();
        !            22:                }
        !            23:        if(optind != argc)
        !            24:                usage();
        !            25:        dev = mapdev(dev);
        !            26:        if((s.fd = open(dev, 2)) < 0){
        !            27:                if(!vol_id)
        !            28:                        perror(dev);
        !            29:                exit(2);
        !            30:        }
        !            31:        /*
        !            32:                normally, you have to read to bring the drive online.
        !            33:                however, when you are likely to call reset, the drive
        !            34:                is online and blocked so skip the read
        !            35:        */
        !            36:        /*lseek(s.fd, 1024L, 0);
        !            37:        read(s.fd, buf, sizeof buf);/**/
        !            38:        if(ioctl(s.fd, UIORST) < 0)
        !            39:                perror("reset ioctl");
        !            40:        exit(0);
        !            41: }
        !            42: 
        !            43: usage()
        !            44: {
        !            45:        print("Usage: worm reset [-fdevice]\n");
        !            46:        exit(2);
        !            47: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.