summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/main.c b/main.c
new file mode 100644
index 0000000..348b4f6
--- /dev/null
+++ b/main.c
@@ -0,0 +1,64 @@
+#include <libgen.h>
+#include <string.h>
+#include <stdio.h>
+
+int cpu(int argc, char **argv);
+int entropy(int argc, char **argv);
+int forks(int argc, char **argv);
+int fw_packets(int argc, char **argv);
+int interrupts(int argc, char **argv);
+int load(int argc, char **argv);
+int open_files(int argc, char **argv);
+int open_inodes(int argc, char **argv);
+int processes(int argc, char **argv);
+int swap(int argc, char **argv);
+int uptime(int argc, char **argv);
+
+int main(int argc, char **argv) {
+ char *progname;
+ progname = basename(argv[0]);
+ switch(*progname) {
+ case 'c':
+ if(!strcmp(progname+1, "pu"))
+ return cpu(argc, argv);
+ break;
+ case 'e':
+ if(!strcmp(progname+1, "ntropy"))
+ return entropy(argc, argv);
+ break;
+ case 'f':
+ if(!strcmp(progname+1, "orks"))
+ return forks(argc, argv);
+ if(!strcmp(progname+1, "w_packets"))
+ return fw_packets(argc, argv);
+ break;
+ case 'i':
+ if(!strcmp(progname+1, "nterrupts"))
+ return interrupts(argc, argv);
+ break;
+ case 'l':
+ if(!strcmp(progname+1, "oad"))
+ return load(argc, argv);
+ break;
+ case 'o':
+ if(!strcmp(progname+1, "pen_files"))
+ return open_files(argc, argv);
+ if(!strcmp(progname+1, "pen_inodes"))
+ return open_inodes(argc, argv);
+ break;
+ case 'p':
+ if(!strcmp(progname+1, "rocesses"))
+ return processes(argc, argv);
+ break;
+ case 's':
+ if(!strcmp(progname+1, "wap"))
+ return swap(argc, argv);
+ break;
+ case 'u':
+ if(!strcmp(progname+1, "ptime"))
+ return uptime(argc, argv);
+ break;
+ }
+ fprintf(stderr, "function not specified\n");
+ return 1;
+}