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: }
Defined functions
main
defined in line
23;
never used
Defined variables