Changeset 783

Show
Ignore:
Timestamp:
07/13/08 20:42:02 (5 months ago)
Author:
mwhitworth
Message:

Add to various structures in header.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Whitix/branches/fs/fs/ext3/ext3.h

    r752 r783  
    2828 
    2929#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 
    3035 
    3136struct Ext3SuperBlock 
     
    95100        DWORD firstDataBlock, blocksPerGrp; 
    96101        struct Buffer** descs; 
     102         
     103        DWORD sbSector; 
     104        struct Buffer* sbBuffer; 
     105        struct Ext3SuperBlock* super; 
     106         
    97107        struct Journal* journal; 
    98108}; 
     
    101111{ 
    102112        DWORD blocks[15]; 
     113        DWORD blockGroup; 
    103114}; 
    104115 
     
    145156}PACKED; 
    146157 
     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 
     164static 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 
    147174/* 
    148175 * DirEntry describes Directory, which are special kind of file 
     
    166193int Ext3BlockMap(struct VNode* vNode, DWORD block, int flags); 
    167194struct Buffer* Ext3BlockRead(struct VNode* vNode,int block); 
     195int Ext3Create(struct VNode** retVal,struct VNode* dir,char* name,int nameLength); 
     196int Ext3Truncate(struct VNode* vNode, int size); 
    168197 
    169198int Ext3FileWrite(struct File* file,BYTE* buffer,DWORD len); 
     
    181210#define EXT3_JOURNAL(vNode) (EXT3_SUPERINFO((vNode)->superBlock)->journal) 
    182211 
     212#define EXT3_INFO(vNode) ((struct Ext3INodeInfo*)(vNode->extraInfo)) 
     213 
    183214#define EXT3_SB_MAGIC   0xEF53 
    184215#define EXT3_ROOT_VNO   2