1 static char *sccsid = "@(#)mknod.c 4.1 (Berkeley) 10/01/80"; 2 main(argc, argv) 3 int argc; 4 char **argv; 5 { 6 int m, a, b; 7 8 if(argc != 5) { 9 printf("arg count\n"); 10 goto usage; 11 } 12 if(*argv[2] == 'b') 13 m = 060666; else 14 if(*argv[2] == 'c') 15 m = 020666; else 16 goto usage; 17 a = number(argv[3]); 18 if(a < 0) 19 goto usage; 20 b = number(argv[4]); 21 if(b < 0) 22 goto usage; 23 if(mknod(argv[1], m, (a<<8)|b) < 0) 24 perror("mknod"); 25 exit(0); 26 27 usage: 28 printf("usage: mknod name b/c major minor\n"); 29 } 30 31 number(s) 32 char *s; 33 { 34 int n, c; 35 36 n = 0; 37 while(c = *s++) { 38 if(c<'0' || c>'9') 39 return(-1); 40 n = n*10 + c-'0'; 41 } 42 return(n); 43 } 44