AUSAM/source/S/unload.c
#define HTTC 0172472
#define HTCS1 0172440
char rderr[] "read";
char skerr[] "seek";
char wrerr[] "write";
char t[] "/dev/rmt0";
int slave 0;
int rewoff 3; /* rewind offline */
main(argc, argv)
int argc;
char *argv[];
{
register int kmem, tape;
nice(-64); /* get some service */
if(argc > 1)
if((argv[1][0] >= '0') && (argv[1][0] <= '7'))
{
t[8] = argv[1][0];
slave = t[8]-'0';
}
else
{
printf("illegal slave number '%c'\n", argv[1][0]);
exit(1);
}
if((tape = open(t, 0)) < 0)
{
perror(t);
exit(1);
}
if((kmem = open("/dev/kmem", 2)) < 0)
{
perror("/dev/kmem");
exit(1);
}
close(tape);
if(seek(kmem, HTTC, 0) == -1)
perror(skerr);
if(write(kmem, &slave, 2) != 2)
perror(wrerr);
if(seek(kmem, HTCS1, 0) == -1)
perror(skerr);
if(write(kmem, &rewoff, 2) != 2)
perror(wrerr);
}