5748451 [rkeene@sledge /home/rkeene/devel/mooselinux-0.0.19/src]$ cat -n mknod.c
 1 #include <stdio.h>
 2 #include <unistd.h>
 3 #include <stdlib.h>
 4 #include <sys/stat.h>
 5 #include <sys/types.h>
 6 #include <fcntl.h>
 7 #include "version.h"
 8 #include "mknod.h"
 9 
10 int mknod_main (int argc, char **argv) {
11     int major=0, minor=0, dev=S_IFREG;
12 
13     if (argc==3) {
14         if (strcmp(argv[2],"p")) return(mknod_argerror());
15     } else {
16         if (argc==5) {
17             major=atoi(argv[3]);
18             minor=atoi(argv[4]);
19         } else {
20             return(mknod_argerror());
21         }
22     }
23 
24     switch (argv[2][0]) {
25         case 'p':
26             dev=S_IFIFO;
27             break;
28         case 'b':
29             dev=S_IFBLK;
30             break;
31         case 'u':
32         case 'c':
33             dev=S_IFCHR;
34             break;
35         default:
36             return(mknod_argerror());
37             break;
38     }
39 
40     if (mknod(argv[1], 0666 | dev, (major<<8)+minor)<0) {
41         write(STDERR_FILENO, "mknod: ", 7);
42         perror(argv[1]);
43     }
44     return(0);
45 }
46 
47 int mknod_argerror(void) {
48     write(STDERR_FILENO, "mknod: insuffcient arguments\n", 29);
49     return(-1);
50 }
5748452 [rkeene@sledge /home/rkeene/devel/mooselinux-0.0.19/src]$

Click here to go back to the directory listing.
Click here to download this file.
last modified: 2000-04-29 13:26:54