aboutsummaryrefslogtreecommitdiff
path: root/c_implementation/src/akfs_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'c_implementation/src/akfs_main.c')
-rw-r--r--c_implementation/src/akfs_main.c43
1 files changed, 43 insertions, 0 deletions
diff --git a/c_implementation/src/akfs_main.c b/c_implementation/src/akfs_main.c
new file mode 100644
index 0000000..f1660cf
--- /dev/null
+++ b/c_implementation/src/akfs_main.c
@@ -0,0 +1,43 @@
+#include <getopt.h>
+#include <stdio.h>
+#include <libaklog.h>
+#include <libakfs.h>
+
+static int ak_fs_usage()
+{
+ ak_log_debug(__func__, "Available commands:");
+ ak_log_debug(__func__, "ak fs --list");
+ return 1;
+}
+
+int ak_fs_main(int argc, char** argv)
+{
+ int option;
+ int logind = 0;
+ static struct option long_options[] = {
+ {"help", no_argument, 0, 'h'},
+ {"list", no_argument, 0, 'l'},
+ {0,0,0,0}
+ };
+ while(1)
+ {
+ option = getopt_long(argc, argv, "hl", long_options, &logind);
+ if ( option == -1 ) return ak_fs_usage();
+ switch(option)
+ {
+ case 'h':
+ return ak_fs_usage();
+ case 'l':
+ return ak_fs_ls();
+ default:
+ printf("double lol\n");
+ return 4;
+ }
+ }
+ return 0;
+}
+
+int main(int argc, char **argv)
+{
+ return ak_fs_main(argc, argv);
+}