Changeset 783 for Whitix/branches
- Timestamp:
- 07/13/08 20:42:02 (5 months ago)
- Files:
-
- 1 modified
-
Whitix/branches/fs/fs/ext3/ext3.h (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
Whitix/branches/fs/fs/ext3/ext3.h
r752 r783 28 28 29 29 #define EXT3_FEATURE_COMPAT(sb, feature) ((sb)->featureCompat & (feature)) 30 31 /* Journal block defines. */ 32 #define EXT3_SINGLE_DATA_TRANS 8 33 #define EXT3_DATA_TRANS (3*EXT3_SINGLE_DATA_TRANS-2) 34 #define EXT3_RESERVE_TRANS_BLOCKS 12 30 35 31 36 struct Ext3SuperBlock … … 95 100 DWORD firstDataBlock, blocksPerGrp; 96 101 struct Buffer** descs; 102 103 DWORD sbSector; 104 struct Buffer* sbBuffer; 105 struct Ext3SuperBlock* super; 106 97 107 struct Journal* journal; 98 108 }; … … 101 111 { 102 112 DWORD blocks[15]; 113 DWORD blockGroup; 103 114 }; 104 115 … … 145 156 }PACKED; 146 157 158 #define EXT3_DIR_REC_LEN(nameLen) (((nameLen) + 8 + 3) & ~3) 159 160 #define EXT3_FT_UNKNOWN 0 161 #define EXT3_FT_FILE 1 162 #define EXT3_FT_DIR 2 163 164 static inline DWORD Ext3SetFileType(DWORD mode) 165 { 166 if (mode & VFS_ATTR_FILE) 167 return EXT3_FT_FILE; 168 else if (mode & VFS_ATTR_DIR) 169 return EXT3_FT_DIR; 170 else 171 return EXT3_FT_UNKNOWN; 172 } 173 147 174 /* 148 175 * DirEntry describes Directory, which are special kind of file … … 166 193 int Ext3BlockMap(struct VNode* vNode, DWORD block, int flags); 167 194 struct Buffer* Ext3BlockRead(struct VNode* vNode,int block); 195 int Ext3Create(struct VNode** retVal,struct VNode* dir,char* name,int nameLength); 196 int Ext3Truncate(struct VNode* vNode, int size); 168 197 169 198 int Ext3FileWrite(struct File* file,BYTE* buffer,DWORD len); … … 181 210 #define EXT3_JOURNAL(vNode) (EXT3_SUPERINFO((vNode)->superBlock)->journal) 182 211 212 #define EXT3_INFO(vNode) ((struct Ext3INodeInfo*)(vNode->extraInfo)) 213 183 214 #define EXT3_SB_MAGIC 0xEF53 184 215 #define EXT3_ROOT_VNO 2