00001 #include <iostream>
00002 #include <vector>
00003 #include <stdlib.h>
00004 #include "vfs.h"
00005 #include "btree.h"
00006 #include "ubixfs.h"
00007 #include "device.h"
00008 #include "ramdrive.h"
00009 using namespace std;
00010 
00011 int
00012 main(void) {
00013 
00014   device_t * ramDrive = dev_ramDrive();
00015   UbixFS * fs = new UbixFS(ramDrive);
00016   fs->vfs_format(ramDrive);
00017   fs->vfs_init(); 
00018   fs->vfs_mkdir("/testdir", 0);
00019   fs->vfs_stop();
00020   dev_ramDestroy();
00021 
00022 #if 0
00023   int i = 0;
00024   ubixfsInode * inode = (ubixfsInode *)malloc(sizeof(ubixfsInode));
00025   memset(inode, 0, sizeof(ubixfsInode));
00026   strcpy(inode -> name, "50");
00027   bTree * tree = new bTree(".", inode);
00028 
00029   for (i = 0; i < 100; i++) {
00030 
00031 
00032     inode = (ubixfsInode *)malloc(sizeof(ubixfsInode));
00033     if (inode == NULL) break;
00034     memset(inode, 0, sizeof(ubixfsInode));
00035     for (int k = 0; k < (random() % 100)+5; k++) {
00036 
00037       inode->name[k] = (char)((random() % 26)+'a');
00038     } 
00039 
00040     if (!tree->Insert(inode->name, inode)) cout << "Insert(" << inode->name << ") failed" << endl;
00041 
00042   } 
00043 
00044 
00045   i = 0;
00046   ubixfsInode * tmpInode = tmpInode = tree->GetFirstNode();
00047   if (tmpInode == NULL) cout << "GetFirstNode() returns null" << endl;
00048   while (tmpInode != NULL) {
00049     
00050     cout << tmpInode->name << endl;
00051     tmpInode = tmpInode->next.iPtr;
00052   } 
00053 
00054 
00055 
00056   tree->Save("tree.dat");
00057   free(inode);
00058   delete tree;
00059 #endif
00060   cout << "sizeof(bNode): " << sizeof(struct bNode) << endl;
00061   cout << "sizeof(ubixfsInode): " << sizeof(struct ubixfsInode) << endl;
00062   cout << "sizeof(diskSuperBlock): " << sizeof(struct diskSuperBlock) << endl;
00063   cout << "sizeof(bTreeHeader): " << sizeof(struct bTreeHeader) << endl;
00064   return 0;
00065 }