CMake reorganization.
[bluesky.git] / bluesky / main.c
1 /* Blue Sky: File Systems in the Cloud
2  *
3  * Copyright (C) 2009  The Regents of the University of California
4  * Written by Michael Vrable <mvrable@cs.ucsd.edu>
5  *
6  * TODO: Licensing
7  */
8
9 #include <stdio.h>
10 #include <stdlib.h>
11 #include <stdint.h>
12 #include <glib.h>
13
14 #include "bluesky.h"
15
16 /* Small test program for BlueSkyFS.  Doesn't do much useful. */
17
18 int main(int argc, char *argv[])
19 {
20     g_thread_init(NULL);
21
22     printf("BlueSkyFS starting...\n");
23
24     printf("  time = %lld\n", bluesky_get_current_time());
25
26     BlueSkyFS *fs = bluesky_new_fs("export");
27
28     BlueSkyInode *root;
29     root = bluesky_new_inode(BLUESKY_ROOT_INUM, fs, BLUESKY_DIRECTORY);
30     root->nlink = 1;
31     root->mode = 0755;
32     bluesky_insert_inode(fs, root);
33
34     BlueSkyInode *file;
35     file = bluesky_new_inode(bluesky_fs_alloc_inode(fs), fs, BLUESKY_REGULAR);
36     file->nlink = 1;
37     file->mode = 0755;
38     bluesky_insert_inode(fs, file);
39     bluesky_directory_insert(root, "foo", file->inum);
40
41     file = bluesky_new_inode(bluesky_fs_alloc_inode(fs), fs, BLUESKY_REGULAR);
42     file->nlink = 1;
43     file->mode = 0755;
44     bluesky_insert_inode(fs, file);
45     bluesky_directory_insert(root, "bar", file->inum);
46
47     file = bluesky_new_inode(bluesky_fs_alloc_inode(fs), fs, BLUESKY_REGULAR);
48     file->nlink = 1;
49     file->mode = 0755;
50     bluesky_insert_inode(fs, file);
51     bluesky_directory_insert(root, "baz", file->inum);
52
53     bluesky_directory_dump(root);
54     bluesky_directory_lookup(root, "foo");
55     bluesky_directory_lookup(root, "bar");
56     bluesky_directory_lookup(root, "baz");
57
58     return 0;
59 }