BSD 4_1c_2 release
[unix-history] / usr / src / etc / swapon.c
static char *sccsid = "@(#)swapon.c 4.4 (Berkeley) 10/16/80";
#include <stdio.h>
#include <fstab.h>
#define VSWAPON 85
main(argc, argv)
int argc;
char *argv[];
{
int stat = 0;
--argc, argv++;
if (argc == 0) {
fprintf(stderr, "usage: swapon name...\n");
exit(1);
}
if (argc == 1 && !strcmp(*argv, "-a")) {
struct fstab *fsp;
if (setfsent() == 0)
perror(FSTAB), exit(1);
while ( (fsp = getfsent()) != 0){
if (strcmp(fsp->fs_type, FSTAB_SW) != 0)
continue;
printf("Adding %s as swap device\n",
fsp->fs_spec);
if (syscall(VSWAPON, fsp->fs_spec) == -1) {
extern errno;
extern char *sys_errlist[];
printf("%s: %s\n",
sys_errlist[errno]);
stat = 1;
}
}
endfsent();
exit(stat);
}
do {
if (syscall(VSWAPON, *argv++) == -1) {
stat = 1;
perror(argv[-1]);
}
argc--;
} while (argc > 0);
exit(stat);
}