<?xml version='1.0' encoding='UTF-8' standalone='no'?> <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.16"> <compounddef id="main_8cpp" kind="file" language="C++"> <compoundname>main.cpp</compoundname> <briefdescription> </briefdescription> <detaileddescription> </detaileddescription> <programlisting> <codeline lineno="1"><highlight class="comment">/*</highlight></codeline> <codeline lineno="2"><highlight class="comment"><sp/>#include<sp/><iostream></highlight></codeline> <codeline lineno="3"><highlight class="comment">#include<sp/><vector></highlight></codeline> <codeline lineno="4"><highlight class="comment">#include<sp/><stdlib.h></highlight></codeline> <codeline lineno="5"><highlight class="comment">#include<sp/>"vfs.h"</highlight></codeline> <codeline lineno="6"><highlight class="comment">#include<sp/>"btree.h"</highlight></codeline> <codeline lineno="7"><highlight class="comment">#include<sp/>"ubixfs.h"</highlight></codeline> <codeline lineno="8"><highlight class="comment">#include<sp/>"device.h"</highlight></codeline> <codeline lineno="9"><highlight class="comment">#include<sp/>"ramdrive.h"</highlight></codeline> <codeline lineno="10"><highlight class="comment">using<sp/>namespace<sp/>std;</highlight></codeline> <codeline lineno="11"><highlight class="comment"></highlight></codeline> <codeline lineno="12"><highlight class="comment">int</highlight></codeline> <codeline lineno="13"><highlight class="comment">main(void)<sp/>{</highlight></codeline> <codeline lineno="14"><highlight class="comment"></highlight></codeline> <codeline lineno="15"><highlight class="comment"><sp/><sp/>device_t<sp/>*<sp/>ramDrive<sp/>=<sp/>dev_ramDrive();</highlight></codeline> <codeline lineno="16"><highlight class="comment"><sp/><sp/>UbixFS<sp/>*<sp/>fs<sp/>=<sp/>new<sp/>UbixFS(ramDrive);</highlight></codeline> <codeline lineno="17"><highlight class="comment"><sp/><sp/>fs->vfs_format(ramDrive);</highlight></codeline> <codeline lineno="18"><highlight class="comment"><sp/><sp/>fs->vfs_init();<sp/></highlight></codeline> <codeline lineno="19"><highlight class="comment"><sp/><sp/>fs->vfs_mkdir("/testdir",<sp/>0);</highlight></codeline> <codeline lineno="20"><highlight class="comment"><sp/><sp/>fs->vfs_stop();</highlight></codeline> <codeline lineno="21"><highlight class="comment"><sp/><sp/>dev_ramDestroy();</highlight></codeline> <codeline lineno="22"><highlight class="comment"></highlight></codeline> <codeline lineno="23"><highlight class="comment">#if<sp/>0</highlight></codeline> <codeline lineno="24"><highlight class="comment"><sp/><sp/>int<sp/>i<sp/>=<sp/>0;</highlight></codeline> <codeline lineno="25"><highlight class="comment"><sp/><sp/>ubixfsInode<sp/>*<sp/>inode<sp/>=<sp/>(ubixfsInode<sp/>*)malloc(sizeof(ubixfsInode));</highlight></codeline> <codeline lineno="26"><highlight class="comment"><sp/><sp/>memset(inode,<sp/>0,<sp/>sizeof(ubixfsInode));</highlight></codeline> <codeline lineno="27"><highlight class="comment"><sp/><sp/>strcpy(inode<sp/>-><sp/>name,<sp/>"50");</highlight></codeline> <codeline lineno="28"><highlight class="comment"><sp/><sp/>bTree<sp/>*<sp/>tree<sp/>=<sp/>new<sp/>bTree(".",<sp/>inode);</highlight></codeline> <codeline lineno="29"><highlight class="comment"></highlight></codeline> <codeline lineno="30"><highlight class="comment"><sp/><sp/>for<sp/>(i<sp/>=<sp/>0;<sp/>i<sp/><<sp/>100;<sp/>i++)<sp/>{</highlight></codeline> <codeline lineno="31"><highlight class="comment">//<sp/><sp/>while<sp/>(tree->Verify())<sp/>{</highlight></codeline> <codeline lineno="32"><highlight class="comment">//<sp/><sp/><sp/><sp/>if<sp/>(i%1000<sp/>==<sp/>0)<sp/>cout<sp/><<<sp/>"-_-<sp/>i<sp/>=<sp/>"<<i<<"<sp/>-_-"<sp/><<<sp/>endl;</highlight></codeline> <codeline lineno="33"><highlight class="comment"><sp/><sp/><sp/><sp/>inode<sp/>=<sp/>(ubixfsInode<sp/>*)malloc(sizeof(ubixfsInode));</highlight></codeline> <codeline lineno="34"><highlight class="comment"><sp/><sp/><sp/><sp/>if<sp/>(inode<sp/>==<sp/>NULL)<sp/>break;</highlight></codeline> <codeline lineno="35"><highlight class="comment"><sp/><sp/><sp/><sp/>memset(inode,<sp/>0,<sp/>sizeof(ubixfsInode));</highlight></codeline> <codeline lineno="36"><highlight class="comment"><sp/><sp/><sp/><sp/>for<sp/>(int<sp/>k<sp/>=<sp/>0;<sp/>k<sp/><<sp/>(random()<sp/>%<sp/>100)+5;<sp/>k++)<sp/>{</highlight></codeline> <codeline lineno="37"><highlight class="comment">//<sp/><sp/><sp/><sp/>for<sp/>(int<sp/>k<sp/>=<sp/>0;<sp/>k<sp/><<sp/>100;<sp/>k++)<sp/>{</highlight></codeline> <codeline lineno="38"><highlight class="comment"><sp/><sp/><sp/><sp/><sp/><sp/>inode->name[k]<sp/>=<sp/>(char)((random()<sp/>%<sp/>26)+'a');</highlight></codeline> <codeline lineno="39"><highlight class="comment"><sp/><sp/><sp/><sp/>}<sp/>//<sp/>for<sp/>k</highlight></codeline> <codeline lineno="40"><highlight class="comment">//<sp/><sp/><sp/><sp/><sp/>tree->Insert(inode);</highlight></codeline> <codeline lineno="41"><highlight class="comment"><sp/><sp/><sp/><sp/>if<sp/>(!tree->Insert(inode->name,<sp/>inode))<sp/>cout<sp/><<<sp/>"Insert("<sp/><<<sp/>inode->name<sp/><<<sp/>")<sp/>failed"<sp/><<<sp/>endl;</highlight></codeline> <codeline lineno="42"><highlight class="comment">//<sp/><sp/><sp/><sp/>++i;</highlight></codeline> <codeline lineno="43"><highlight class="comment"><sp/><sp/>}<sp/>//<sp/>for<sp/>i</highlight></codeline> <codeline lineno="44"><highlight class="comment">//<sp/><sp/>cout<sp/><<<sp/>"i<sp/>made<sp/>it<sp/>to:<sp/>"<sp/><<<sp/>i<sp/><<<sp/>endl;</highlight></codeline> <codeline lineno="45"><highlight class="comment"></highlight></codeline> <codeline lineno="46"><highlight class="comment"><sp/><sp/>i<sp/>=<sp/>0;</highlight></codeline> <codeline lineno="47"><highlight class="comment"><sp/><sp/>ubixfsInode<sp/>*<sp/>tmpInode<sp/>=<sp/>tmpInode<sp/>=<sp/>tree->GetFirstNode();</highlight></codeline> <codeline lineno="48"><highlight class="comment"><sp/><sp/>if<sp/>(tmpInode<sp/>==<sp/>NULL)<sp/>cout<sp/><<<sp/>"GetFirstNode()<sp/>returns<sp/>null"<sp/><<<sp/>endl;</highlight></codeline> <codeline lineno="49"><highlight class="comment"><sp/><sp/>while<sp/>(tmpInode<sp/>!=<sp/>NULL)<sp/>{</highlight></codeline> <codeline lineno="50"><highlight class="comment"><sp/><sp/><sp/><sp/>//cout<sp/><<<sp/>"node["<sp/><<<sp/>i++<sp/><<<sp/>"]:<sp/>"<sp/><<<sp/>tmpInode->name<sp/><<<sp/>endl;</highlight></codeline> <codeline lineno="51"><highlight class="comment"><sp/><sp/><sp/><sp/>cout<sp/><<<sp/>tmpInode->name<sp/><<<sp/>endl;</highlight></codeline> <codeline lineno="52"><highlight class="comment"><sp/><sp/><sp/><sp/>tmpInode<sp/>=<sp/>tmpInode->next.iPtr;</highlight></codeline> <codeline lineno="53"><highlight class="comment"><sp/><sp/>}<sp/>//<sp/>while</highlight></codeline> <codeline lineno="54"><highlight class="comment"></highlight></codeline> <codeline lineno="55"><highlight class="comment"></highlight></codeline> <codeline lineno="56"><highlight class="comment">//<sp/><sp/>tree->Info();</highlight></codeline> <codeline lineno="57"><highlight class="comment"><sp/><sp/>tree->Save("tree.dat");</highlight></codeline> <codeline lineno="58"><highlight class="comment"><sp/><sp/>free(inode);</highlight></codeline> <codeline lineno="59"><highlight class="comment"><sp/><sp/>delete<sp/>tree;</highlight></codeline> <codeline lineno="60"><highlight class="comment">#endif</highlight></codeline> <codeline lineno="61"><highlight class="comment"><sp/><sp/>cout<sp/><<<sp/>"sizeof(bNode):<sp/>"<sp/><<<sp/>sizeof(struct<sp/>bNode)<sp/><<<sp/>endl;</highlight></codeline> <codeline lineno="62"><highlight class="comment"><sp/><sp/>cout<sp/><<<sp/>"sizeof(ubixfsInode):<sp/>"<sp/><<<sp/>sizeof(struct<sp/>ubixfsInode)<sp/><<<sp/>endl;</highlight></codeline> <codeline lineno="63"><highlight class="comment"><sp/><sp/>cout<sp/><<<sp/>"sizeof(diskSuperBlock):<sp/>"<sp/><<<sp/>sizeof(struct<sp/>diskSuperBlock)<sp/><<<sp/>endl;</highlight></codeline> <codeline lineno="64"><highlight class="comment"><sp/><sp/>cout<sp/><<<sp/>"sizeof(bTreeHeader):<sp/>"<sp/><<<sp/>sizeof(struct<sp/>bTreeHeader)<sp/><<<sp/>endl;</highlight></codeline> <codeline lineno="65"><highlight class="comment"><sp/><sp/>return<sp/>0;</highlight></codeline> <codeline lineno="66"><highlight class="comment">}</highlight></codeline> <codeline lineno="67"><highlight class="comment">*/</highlight><highlight class="normal"></highlight></codeline> </programlisting> <location file="C:/Dev/git/UbixOS/sys/fs/ubixfsv2/main.cpp"/> </compounddef> </doxygen>