aboutsummaryrefslogtreecommitdiff
path: root/src/myriadfs.h
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2011-02-17 09:50:30 +0000
committerMike Buland <eichlan@xagasoft.com>2011-02-17 09:50:30 +0000
commit5c1dfe87cb4021c905529451e5ff7718c6c94b2f (patch)
tree4be3b3537175fd9fea791aa0329ac5fe06da4a39 /src/myriadfs.h
parent2aeffdea0647df45c808d8203972ad1c0de9a04f (diff)
downloadlibbu++-5c1dfe87cb4021c905529451e5ff7718c6c94b2f.tar.gz
libbu++-5c1dfe87cb4021c905529451e5ff7718c6c94b2f.tar.bz2
libbu++-5c1dfe87cb4021c905529451e5ff7718c6c94b2f.tar.xz
libbu++-5c1dfe87cb4021c905529451e5ff7718c6c94b2f.zip
Made some great progress on the MyriadFs spec...it's interesting, a few more
decisions to make and we're set.
Diffstat (limited to 'src/myriadfs.h')
-rw-r--r--src/myriadfs.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/src/myriadfs.h b/src/myriadfs.h
index edbdaf5..856137c 100644
--- a/src/myriadfs.h
+++ b/src/myriadfs.h
@@ -19,6 +19,8 @@ namespace Bu
19 /** 19 /**
20 * A POSIX compliant, node based filesystem built on top of Myriad. 20 * A POSIX compliant, node based filesystem built on top of Myriad.
21 * 21 *
22 * Think about putting this all in one stream, on block boundaries.
23 *
22 * A header is placed into stream 1. 24 * A header is placed into stream 1.
23 * Header format: 25 * Header format:
24 * int32_t iMagicHeader (A7188B39) 26 * int32_t iMagicHeader (A7188B39)
@@ -39,10 +41,13 @@ namespace Bu
39 * Basic node header format: 41 * Basic node header format:
40 * int32_t iUser 42 * int32_t iUser
41 * int32_t iGroup 43 * int32_t iGroup
42 * int16_t iMeta
43 * int16_t iPerms 44 * int16_t iPerms
45 * int16_t iLinks
44 * int32_t iStreamIndex 46 * int32_t iStreamIndex
45 * int32_t iParentNode 47 * int32_t iParentNode
48 * int64_t iATime
49 * int64_t iMTime
50 * int64_t iCTime
46 * int16_t iNameSize 51 * int16_t iNameSize
47 * char[iNameSize] sName 52 * char[iNameSize] sName
48 */ 53 */
@@ -52,6 +57,30 @@ namespace Bu
52 MyriadFs( Bu::Stream &rStore, int iBlockSize=512 ); 57 MyriadFs( Bu::Stream &rStore, int iBlockSize=512 );
53 virtual ~MyriadFs(); 58 virtual ~MyriadFs();
54 59
60 enum
61 {
62 permOthX = 0000001,
63 permOthW = 0000002,
64 permOthR = 0000004,
65 permGrpX = 0000010,
66 permGrpW = 0000020,
67 permGrpR = 0000040,
68 permUsrX = 0000100,
69 permUsrW = 0000200,
70 permUsrR = 0000400,
71 permSticky = 0001000,
72 permSetGid = 0002000,
73 permSetUid = 0004000,
74 typeFifo = 0010000,
75 typeChrDev = 0020000,
76 typeDir = 0040000,
77 typeBlkDev = 0060000,
78 typeRegFile = 0100000,
79 typeSymLink = 0120000,
80 typeSocket = 0140000,
81 typeMask = 0170000
82 }
83
55 private: 84 private:
56 Bu::Stream &rStore; 85 Bu::Stream &rStore;
57 Bu::Myriad mStore; 86 Bu::Myriad mStore;