1203181Smarcel// File.h 2203181Smarcel 3203181Smarcel#ifndef FILE_H 4203181Smarcel#define FILE_H 5203181Smarcel 6203181Smarcel#include "DataContainer.h" 7203181Smarcel#include "Node.h" 8203181Smarcel 9203181Smarcelclass File : public Node, public DataContainer { 10203181Smarcelpublic: 11203181Smarcel File(Volume *volume); 12203181Smarcel virtual ~File(); 13203181Smarcel 14203181Smarcel Volume *GetVolume() const { return Node::GetVolume(); } 15203181Smarcel 16203181Smarcel virtual status_t ReadAt(off_t offset, void *buffer, size_t size, 17203181Smarcel size_t *bytesRead); 18203181Smarcel virtual status_t WriteAt(off_t offset, const void *buffer, size_t size, 19203181Smarcel size_t *bytesWritten); 20203181Smarcel 21203181Smarcel virtual status_t SetSize(off_t newSize); 22203181Smarcel virtual off_t GetSize() const; 23203181Smarcel 24203181Smarcel // debugging 25203181Smarcel virtual void GetAllocationInfo(AllocationInfo &info); 26203181Smarcel}; 27203181Smarcel 28203181Smarcel#endif // FILE_H 29203181Smarcel