INode Class

Definition

Line 147 of cmsxk/INode.cm

Constructors & Destructor

public nothrow INode(INodeManager* manager_)

Member Functions

public inline nothrow const DateTime& ATime() const
public nothrow void AddWaitingPipeReader(Process* reader)
public nothrow void AddWaitingPipeWriter(Process* writer)
public nothrow void AddWaitingProcess(Process* process)
public inline nothrow const DateTime& CTime() const
public void CheckPermissions(int uid, int gid, Access access)
public nothrow void Clear()
public nothrow String<char> FlagStr(Flags flags)
public inline nothrow int GID() const
public inline nothrow int GetDirectBlockNumber(int index) const
public inline nothrow int GetDoubleIndirectBlockNumber() const
public inline nothrow long GetFileSize() const
public inline nothrow bool GetFlag(Flags flag) const
public nothrow LinkedListNodeIterator<INode*, INode*&, INode**> GetIterator() const
public inline nothrow int GetNumBlocks() const
public inline nothrow int GetNumLinks() const
public inline nothrow int GetSingleIndirectBlockNumber() const
public inline nothrow int GetTripleIndirectBlockNumber() const
public inline nothrow int GetUseCount() const
public nothrow List<Process*> GetWaitingPipeReaders()
public nothrow List<Process*> GetWaitingPipeWriters()
public nothrow List<Process*> GetWaitingProcesses()
public inline nothrow Access GroupAccess() const
public inline nothrow const INodeKey& Key() const
public inline nothrow const DateTime& MTime() const
public inline nothrow INodeManager* Manager()
public inline nothrow int Mode() const
public inline nothrow Access OtherAccess() const
public inline nothrow Process* Owner() const
public inline nothrow Access OwnerAccess() const
public void Read(MemoryReader& reader)
public inline nothrow long ReadPos() const
public inline nothrow void ResetFlag(Flags flag)
public inline nothrow void ResetFlags()
public inline nothrow void ResetOwner()
public nothrow void SetATime()
public nothrow void SetATime(const DateTime& atime_)
public void SetAccessMode(int accessMode)
public nothrow void SetCTime()
public nothrow void SetCTime(const DateTime& ctime_)
public inline nothrow void SetDirectBlockNumber(int index, int blockNumber)
public inline nothrow void SetDoubleIndirectBlockNumber(int doubleIndirectBlockNumber_)
public inline nothrow void SetFileSize(long fileSize_)
public inline nothrow void SetFlag(Flags flag)
public inline nothrow void SetGID(int gid_)
public inline nothrow void SetGroupAccess(Access groupAccess_)
public nothrow void SetIterator(LinkedListNodeIterator<INode*, INode*&, INode**> iterator_)
public nothrow void SetKey(const INodeKey& key_)
public nothrow void SetMTime()
public nothrow void SetMTime(const DateTime& mtime_)
public nothrow void SetMode()
public inline nothrow void SetNumLinks(int nlinks_)
public inline nothrow void SetOtherAccess(Access otherAccess_)
public inline nothrow void SetOwner(Process* owner_)
public inline nothrow void SetOwnerAccess(Access ownerAccess_)
public inline nothrow void SetReadPos(long readPos_)
public inline nothrow void SetSingleIndirectBlockNumber(int singleIndirectBlockNumber_)
public inline nothrow void SetTripleIndirectBlockNumber(int tripleIndirectBlockNumber_)
public inline nothrow void SetType(FileType fileType_)
public inline nothrow void SetUID(int uid_)
public inline nothrow void SetUseCount(int useCount_)
public inline nothrow void SetWritePos(long writePos_)
public nothrow String<char> ToString() const
public inline nothrow FileType Type() const
public inline nothrow int UID() const
public void Write(MemoryWriter& writer)
public inline nothrow long WritePos() const

Enumerated Types

public enum Flags

Member Variables

private DateTime atime
private DateTime ctime
private int[17] directBlockNumbers
private int doubleIndirectBlockNumber
private long fileSize
private FileType fileType
private Flags flags
private int gid
private Access groupAccess
private LinkedListNodeIterator<INode*, INode*&, INode**> iterator
private INodeKey key
private INodeManager* manager
private int mode
private DateTime mtime
private int nlinks
private Access otherAccess
private Process* owner
private Access ownerAccess
private long readPos
private int singleIndirectBlockNumber
private int tripleIndirectBlockNumber
private int uid
private int useCount
private List<Process*> waitingPipeReaders
private List<Process*> waitingPipeWriters
private List<Process*> waitingProcesses
private long writePos

Constructor& Destructor Details

INode Constructor

public nothrow INode(INodeManager* manager_)

Definition
Line 175 of cmsxk/INode.cm


Member Function Details

ATime Member Function

public inline nothrow const DateTime& ATime()

Definition
Line 379 of cmsxk/INode.cm


AddWaitingPipeReader Member Function

public nothrow void AddWaitingPipeReader(Process* reader)

Definition
Line 413 of cmsxk/INode.cm


AddWaitingPipeWriter Member Function

public nothrow void AddWaitingPipeWriter(Process* writer)

Definition
Line 423 of cmsxk/INode.cm


AddWaitingProcess Member Function

public nothrow void AddWaitingProcess(Process* process)

Definition
Line 403 of cmsxk/INode.cm


CTime Member Function

public inline nothrow const DateTime& CTime()

Definition
Line 351 of cmsxk/INode.cm


CheckPermissions Member Function

public void CheckPermissions(int uid, int gid, Access access)

Definition
Line 499 of cmsxk/INode.cm


Clear Member Function

public nothrow void Clear()

Definition
Line 532 of cmsxk/INode.cm


FlagStr Member Function

public nothrow String<char> FlagStr(Flags flags)

Definition
Line 158 of cmsxk/INode.cm


GID Member Function

public inline nothrow int GID()

Definition
Line 311 of cmsxk/INode.cm


GetDirectBlockNumber Member Function

public inline nothrow int GetDirectBlockNumber(int index)

Definition
Line 441 of cmsxk/INode.cm


GetDoubleIndirectBlockNumber Member Function

public inline nothrow int GetDoubleIndirectBlockNumber()

Definition
Line 460 of cmsxk/INode.cm


GetFileSize Member Function

public inline nothrow long GetFileSize()

Definition
Line 478 of cmsxk/INode.cm


GetFlag Member Function

public inline nothrow bool GetFlag(Flags flag)

Definition
Line 211 of cmsxk/INode.cm


GetIterator Member Function

public nothrow LinkedListNodeIterator<INode*, INode*&, INode**> GetIterator()

Definition
Line 433 of cmsxk/INode.cm


GetNumBlocks Member Function

public inline nothrow int GetNumBlocks()

Definition
Line 488 of cmsxk/INode.cm


public inline nothrow int GetNumLinks()

Definition
Line 393 of cmsxk/INode.cm


GetSingleIndirectBlockNumber Member Function

public inline nothrow int GetSingleIndirectBlockNumber()

Definition
Line 451 of cmsxk/INode.cm


GetTripleIndirectBlockNumber Member Function

public inline nothrow int GetTripleIndirectBlockNumber()

Definition
Line 469 of cmsxk/INode.cm


GetUseCount Member Function

public inline nothrow int GetUseCount()

Definition
Line 227 of cmsxk/INode.cm


GetWaitingPipeReaders Member Function

public nothrow List<Process*> GetWaitingPipeReaders()

Definition
Line 417 of cmsxk/INode.cm


GetWaitingPipeWriters Member Function

public nothrow List<Process*> GetWaitingPipeWriters()

Definition
Line 427 of cmsxk/INode.cm


GetWaitingProcesses Member Function

public nothrow List<Process*> GetWaitingProcesses()

Definition
Line 407 of cmsxk/INode.cm


GroupAccess Member Function

public inline nothrow Access GroupAccess()

Definition
Line 331 of cmsxk/INode.cm


Key Member Function

public inline nothrow const INodeKey& Key()

Definition
Line 203 of cmsxk/INode.cm


MTime Member Function

public inline nothrow const DateTime& MTime()

Definition
Line 365 of cmsxk/INode.cm


Manager Member Function

public inline nothrow INodeManager* Manager()

Definition
Line 557 of cmsxk/INode.cm


Mode Member Function

public inline nothrow int Mode()

Definition
Line 285 of cmsxk/INode.cm


OtherAccess Member Function

public inline nothrow Access OtherAccess()

Definition
Line 341 of cmsxk/INode.cm


Owner Member Function

public inline nothrow Process* Owner()

Definition
Line 185 of cmsxk/INode.cm


OwnerAccess Member Function

public inline nothrow Access OwnerAccess()

Definition
Line 321 of cmsxk/INode.cm


Read Member Function

public void Read(MemoryReader& reader)

Definition
Line 235 of cmsxk/INode.cm


ReadPos Member Function

public inline nothrow long ReadPos()

Definition
Line 561 of cmsxk/INode.cm


ResetFlag Member Function

public inline nothrow void ResetFlag(Flags flag)

Definition
Line 219 of cmsxk/INode.cm


ResetFlags Member Function

public inline nothrow void ResetFlags()

Definition
Line 223 of cmsxk/INode.cm


ResetOwner Member Function

public inline nothrow void ResetOwner()

Definition
Line 193 of cmsxk/INode.cm


SetATime Member Function

public nothrow void SetATime()

Definition
Line 383 of cmsxk/INode.cm


SetATime Member Function

public nothrow void SetATime(const DateTime& atime_)

Definition
Line 388 of cmsxk/INode.cm


SetAccessMode Member Function

public void SetAccessMode(int accessMode)

Definition
Line 293 of cmsxk/INode.cm


SetCTime Member Function

public nothrow void SetCTime()

Definition
Line 355 of cmsxk/INode.cm


SetCTime Member Function

public nothrow void SetCTime(const DateTime& ctime_)

Definition
Line 360 of cmsxk/INode.cm


SetDirectBlockNumber Member Function

public inline nothrow void SetDirectBlockNumber(int index, int blockNumber)

Definition
Line 446 of cmsxk/INode.cm


SetDoubleIndirectBlockNumber Member Function

public inline nothrow void SetDoubleIndirectBlockNumber(int doubleIndirectBlockNumber_)

Definition
Line 464 of cmsxk/INode.cm


SetFileSize Member Function

public inline nothrow void SetFileSize(long fileSize_)

Definition
Line 482 of cmsxk/INode.cm


SetFlag Member Function

public inline nothrow void SetFlag(Flags flag)

Definition
Line 215 of cmsxk/INode.cm


SetGID Member Function

public inline nothrow void SetGID(int gid_)

Definition
Line 315 of cmsxk/INode.cm


SetGroupAccess Member Function

public inline nothrow void SetGroupAccess(Access groupAccess_)

Definition
Line 335 of cmsxk/INode.cm


SetIterator Member Function

public nothrow void SetIterator(LinkedListNodeIterator<INode*, INode*&, INode**> iterator_)

Definition
Line 437 of cmsxk/INode.cm


SetKey Member Function

public nothrow void SetKey(const INodeKey& key_)

Definition
Line 207 of cmsxk/INode.cm


SetMTime Member Function

public nothrow void SetMTime()

Definition
Line 369 of cmsxk/INode.cm


SetMTime Member Function

public nothrow void SetMTime(const DateTime& mtime_)

Definition
Line 374 of cmsxk/INode.cm


SetMode Member Function

public nothrow void SetMode()

Definition
Line 289 of cmsxk/INode.cm


public inline nothrow void SetNumLinks(int nlinks_)

Definition
Line 397 of cmsxk/INode.cm


SetOtherAccess Member Function

public inline nothrow void SetOtherAccess(Access otherAccess_)

Definition
Line 345 of cmsxk/INode.cm


SetOwner Member Function

public inline nothrow void SetOwner(Process* owner_)

Definition
Line 189 of cmsxk/INode.cm


SetOwnerAccess Member Function

public inline nothrow void SetOwnerAccess(Access ownerAccess_)

Definition
Line 325 of cmsxk/INode.cm


SetReadPos Member Function

public inline nothrow void SetReadPos(long readPos_)

Definition
Line 569 of cmsxk/INode.cm


SetSingleIndirectBlockNumber Member Function

public inline nothrow void SetSingleIndirectBlockNumber(int singleIndirectBlockNumber_)

Definition
Line 455 of cmsxk/INode.cm


SetTripleIndirectBlockNumber Member Function

public inline nothrow void SetTripleIndirectBlockNumber(int tripleIndirectBlockNumber_)

Definition
Line 473 of cmsxk/INode.cm


SetType Member Function

public inline nothrow void SetType(FileType fileType_)

Definition
Line 279 of cmsxk/INode.cm


SetUID Member Function

public inline nothrow void SetUID(int uid_)

Definition
Line 305 of cmsxk/INode.cm


SetUseCount Member Function

public inline nothrow void SetUseCount(int useCount_)

Definition
Line 231 of cmsxk/INode.cm


SetWritePos Member Function

public inline nothrow void SetWritePos(long writePos_)

Definition
Line 573 of cmsxk/INode.cm


ToString Member Function

public nothrow String<char> ToString()

Definition
Line 197 of cmsxk/INode.cm


Type Member Function

public inline nothrow FileType Type()

Definition
Line 275 of cmsxk/INode.cm


UID Member Function

public inline nothrow int UID()

Definition
Line 301 of cmsxk/INode.cm


Write Member Function

public void Write(MemoryWriter& writer)

Definition
Line 255 of cmsxk/INode.cm


WritePos Member Function

public inline nothrow long WritePos()

Definition
Line 565 of cmsxk/INode.cm