|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1980 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: */ ! 6: ! 7: #ifndef lint ! 8: char copyright[] = ! 9: "@(#) Copyright (c) 1980 Regents of the University of California.\n\ ! 10: All rights reserved.\n"; ! 11: #endif not lint ! 12: ! 13: #ifndef lint ! 14: static char sccsid[] = "@(#)swapon.c 5.2 (Berkeley) 3/4/86"; ! 15: #endif not lint ! 16: ! 17: #include <stdio.h> ! 18: #include <fstab.h> ! 19: #include <errno.h> ! 20: ! 21: extern int errno; ! 22: ! 23: main(argc, argv) ! 24: int argc; ! 25: char *argv[]; ! 26: { ! 27: int stat = 0; ! 28: ! 29: --argc, argv++; ! 30: if (argc == 0) { ! 31: fprintf(stderr, "usage: swapon name...\n"); ! 32: exit(1); ! 33: } ! 34: if (argc == 1 && !strcmp(*argv, "-a")) { ! 35: struct fstab *fsp; ! 36: if (setfsent() == 0) ! 37: perror(FSTAB), exit(1); ! 38: while ( (fsp = getfsent()) != 0){ ! 39: if (strcmp(fsp->fs_type, FSTAB_SW) != 0) ! 40: continue; ! 41: if (swapon(fsp->fs_spec) == -1) { ! 42: switch(errno) { ! 43: case EINVAL: ! 44: fprintf(stderr, ! 45: "%s: Device not configured\n", ! 46: fsp->fs_spec); ! 47: stat = 1; ! 48: break; ! 49: ! 50: case EBUSY: /* ignore already in use */ ! 51: break; ! 52: ! 53: default: ! 54: perror(fsp->fs_spec); ! 55: stat = 1; ! 56: break; ! 57: } ! 58: } else ! 59: printf("Adding %s as swap device\n", ! 60: fsp->fs_spec); ! 61: } ! 62: endfsent(); ! 63: exit(stat); ! 64: } ! 65: do { ! 66: if (swapon(*argv++) == -1) { ! 67: stat = 1; ! 68: switch (errno) { ! 69: case EINVAL: ! 70: fprintf(stderr, "%s: Device not configured\n", ! 71: argv[-1]); ! 72: break; ! 73: ! 74: case EBUSY: ! 75: fprintf(stderr, "%s: Device already in use\n", ! 76: argv[-1]); ! 77: break; ! 78: ! 79: default: ! 80: perror(argv[-1]); ! 81: break; ! 82: } ! 83: } ! 84: argc--; ! 85: } while (argc > 0); ! 86: exit(stat); ! 87: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.