/* umount.ccc -- Misosys C program to unmount an emulated floppy on xtrs */ /* Copyright (c) 1998, Timothy Mann */ /* This software may be copied, modified, and used for any purpose * without fee, provided that (1) the above copyright notice is * retained, and (2) modified versions are clearly marked as having * been modified, with the modifier's name and the date included. */ /* Last modified on Tue Dec 15 15:21:16 PST 1998 by mann */ #option redirect 0 #include "xtrsemt.h" #include "xtrsemt.ccc" /* could use separate compilation instead */ usage() { fprintf(stderr, "usage: umount unit#\n"); exit(1); } #define DDIRSIZE 256 #define DNAMESIZE 512 #define CMDSIZE 512 #define ERRBUFSIZE 512 int main(argc, argv) int argc; char **argv; { char ddir[DDIRSIZE]; char dname[DNAMESIZE], cmd[CMDSIZE]; char errbuf[ERRBUFSIZE]; char model[4]; int hl, bc, de, ret; char *retp; if (argc != 2 || !isdigit(argv[1][0])) { usage(); } retp = emt_gtddir(ddir, DDIRSIZE); if (retp == NULL) { emt_strerror(errno, errbuf, ERRBUFSIZE); fprintf(stderr, "emt_getddir: %s\n", errbuf); exit(1); } emt_4misc(EMT_MISC_QUERY_MODEL, &hl, &bc, &de); if (hl == 5) { strcpy(model, "4p"); } else { sprintf(model, "%d", hl); } sprintf(dname, "%s/disk%s-%s", ddir, model, argv[1]); sprintf(cmd, "rm -f %s", dname); /*printf("$ %s\n", cmd);*/ ret = emt_system(cmd); if (ret != 0) { emt_strerror(errno, errbuf, ERRBUFSIZE); fprintf(stderr, "emt_system: %s\n", errbuf); exit(1); } emt_misc(EMT_MISC_DISK_CHANGE); exit(0); }