bfs_inode
dump_inode(const bfs_inode* inode)
inode->CreateTime(), bfs_inode::ToSecs(inode->CreateTime()),
(unsigned)bfs_inode::ToNsecs(inode->CreateTime()));
inode->LastModifiedTime(), bfs_inode::ToSecs(inode->LastModifiedTime()),
(unsigned)bfs_inode::ToNsecs(inode->LastModifiedTime()));
inode->StatusChangeTime(), bfs_inode::ToSecs(inode->StatusChangeTime()),
(unsigned)bfs_inode::ToNsecs(inode->StatusChangeTime()));
bfs_inode* node;
node = (bfs_inode*)address;
struct bfs_inode;
extern void dump_inode(const bfs_inode *inode);
modified = bfs_inode::ToInode(real_time_clock_usecs());
bfs_inode::ToInode(real_time_clock_usecs()));
bfs_inode::ToInode(real_time_clock_usecs()));
bfs_inode::ToInode(real_time_clock_usecs()));
= HOST_ENDIAN_TO_BFS_INT64(bfs_inode::ToInode(real_time_clock_usecs()));
= HOST_ENDIAN_TO_BFS_INT64(bfs_inode::ToInode(real_time_clock_usecs()));
bfs_inode* node = &inode->Node();
bfs_inode* targetNode = (bfs_inode*)target.Block();
const bfs_inode* node = nodeGetter.Node();
const small_data* item = ((bfs_inode*)node)->SmallDataStart();
bfs_inode::InitCheck(Volume* volume) const
memset(&fNode, 0, sizeof(bfs_inode));
= HOST_ENDIAN_TO_BFS_INT64(bfs_inode::ToInode(real_time_clock_usecs()));
memcpy(node.WritableNode(), &Node(), sizeof(bfs_inode));
memcpy(&fNode, node.Node(), sizeof(bfs_inode));
Inode::_MakeSpaceForSmallData(Transaction& transaction, bfs_inode* node,
Inode::_RemoveSmallData(bfs_inode* node, small_data* item, int32 index)
bfs_inode* node = nodeGetter.WritableNode();
bfs_inode::ToInode(real_time_clock_usecs()));
bfs_inode* node = nodeGetter.WritableNode();
if (spaceNeeded > fVolume->InodeSize() - sizeof(bfs_inode))
Inode::_GetNextSmallData(bfs_inode* node, small_data** _smallData) const
Inode::FindSmallData(const bfs_inode* node, const char* name) const
while (_GetNextSmallData(const_cast<bfs_inode*>(node), &smallData)
Inode::Name(const bfs_inode* node) const
while (_GetNextSmallData((bfs_inode*)node, &smallData) == B_OK) {
small_data* FindSmallData(const bfs_inode* node,
const char* Name(const bfs_inode* node) const;
bfs_inode& Node() { return fNode; }
const bfs_inode& Node() const { return fNode; }
bfs_inode* node, const char* name,
status_t _GetNextSmallData(bfs_inode* node,
status_t _RemoveSmallData(bfs_inode* node,
bfs_inode fNode;
const bfs_inode* Node() const { return (const bfs_inode*)Block(); }
bfs_inode* WritableNode() const { return (bfs_inode*)Block(); }
return bfs_inode::ToSecs(inode->Node().LastModifiedTime());
struct bfs_inode;
inline bool IsLast(const bfs_inode* inode) const;
small_data::IsLast(const bfs_inode* inode) const
bfs_inode& node = index.Node()->Node();
bfs_inode* node = (bfs_inode*)cached.Block();
fill_stat_time(const bfs_inode& node, struct stat& stat)
stat.st_mtim.tv_sec = bfs_inode::ToSecs(node.LastModifiedTime());
stat.st_mtim.tv_nsec = bfs_inode::ToNsecs(node.LastModifiedTime());
stat.st_crtim.tv_sec = bfs_inode::ToSecs(node.CreateTime());
stat.st_crtim.tv_nsec = bfs_inode::ToNsecs(node.CreateTime());
stat.st_ctim.tv_sec = bfs_inode::ToSecs(changeTime);
stat.st_ctim.tv_nsec = bfs_inode::ToNsecs(changeTime);
const bfs_inode& node = inode->Node();
bfs_inode& node = inode->Node();
= HOST_ENDIAN_TO_BFS_INT64(bfs_inode::ToInode(stat->st_crtim));
= HOST_ENDIAN_TO_BFS_INT64(bfs_inode::ToInode(stat->st_mtim));
bfs_inode::ToInode(stat->st_mtim));
newTime = bfs_inode::ToInode(real_time_clock_usecs());
newTime = bfs_inode::ToInode(stat->st_ctim);
dump_double_indirect_stream(Disk& disk, bfs_inode* node, bool showOffsets)
bfs_inode inode;
sizeof(bfs_inode)) < B_OK) {
bfs_inode* bfsInode = (bfs_inode*)buffer;
dump_indirect_stream(Disk &disk, bfs_inode *node, bool showOffsets)
const bfs_inode *node = inode->InodeBuffer();
bfs_inode indexDir;
bfs_inode rootDir;
bfs_inode *inode = (bfs_inode *)buffer;
bfs_inode *inode = (bfs_inode *)buffer;
Disk::SaveInode(bfs_inode *inode, bool *indices, bfs_inode *indexDir,
bool *root, bfs_inode *rootDir)
memcpy(rootDir, inode, sizeof(bfs_inode));
memcpy(indexDir, inode, sizeof(bfs_inode));
Disk::ScanForIndexAndRoot(bfs_inode *indexDir,bfs_inode *rootDir)
memset(rootDir,0,sizeof(bfs_inode));
memset(indexDir,0,sizeof(bfs_inode));
bfs_inode *inode = (bfs_inode *)buffer;
void SaveInode(bfs_inode *,bool *,bfs_inode *,bool *,bfs_inode *);
status_t ScanForIndexAndRoot(bfs_inode *,bfs_inode *);
Attribute::Attribute(Disk *disk, bfs_inode *inode, bool ownBuffer)
Inode::SetTo(bfs_inode *inode)
Directory::Directory(Disk *disk, bfs_inode *inode, bool ownBuffer)
Symlink::Symlink(Disk *disk, bfs_inode *inode,bool ownBuffer)
bfs_inode *buffer = (bfs_inode *)malloc(fInode->inode_size);
fInode = (bfs_inode*)malloc(fDisk->BlockSize());
Inode::Inode(Disk* disk, bfs_inode* inode, bool ownBuffer)
Inode::Factory(Disk *disk, bfs_inode *inode, bool ownBuffer)
bfs_inode *inode = (bfs_inode *)malloc(disk->BlockSize());
bfs_inode *inodeBuffer = inode->fInode;
bfs_inode *inodeCopy = (bfs_inode *)malloc(inodeBuffer->inode_size);
bfs_inode *inode = (bfs_inode *)malloc(disk->BlockSize());
memset(inode, 0, sizeof(bfs_inode));
DataStream::DataStream(Disk *disk, bfs_inode *inode, bool ownBuffer)
File::File(Disk *disk, bfs_inode *inode,bool ownBuffer)
DataStream(Disk *disk, bfs_inode *inode, bool ownBuffer = true);
File(Disk *disk, bfs_inode *inode, bool ownBuffer = true);
Attribute(Disk *disk, bfs_inode *inode, bool ownBuffer = true);
Directory(Disk *disk, bfs_inode *inode, bool ownBuffer = true);
Symlink(Disk *disk, bfs_inode *inode, bool ownBuffer = true);
Inode(Disk* disk, bfs_inode* inode, bool ownBuffer = true);
status_t SetTo(bfs_inode *inode);
const bfs_inode* InodeBuffer() const { return fInode; }
static Inode* Factory(Disk* disk, bfs_inode* inode,
bfs_inode *fInode;
struct bfs_inode;
inline bool IsLast(bfs_inode *inode);
inline bool small_data::IsLast(bfs_inode *inode)
dump_inode(const Inode *nameNode, const bfs_inode *inode, bool showOffsets)
inode->InodeBuffer()->inode_size - sizeof(struct bfs_inode));
dump_data_stream(const bfs_inode *inode, const data_stream *stream, bool showOffsets)
extern void dump_data_stream(const bfs_inode* inode, const data_stream* stream,
extern void dump_inode(const Inode* node, const bfs_inode* inode,
Inode inode(&disk, (bfs_inode *)buffer, false);
inode.SetTo((bfs_inode *)(buffer + i));
if (read_pos(volume.Device(), volume.ToOffset(run), this, sizeof(bfs_inode))
!= sizeof(bfs_inode))
if (read_pos(volume.Device(), volume.ToOffset(id), this, sizeof(bfs_inode))
!= sizeof(bfs_inode))
return bfs_inode::InitCheck(&fVolume);
bfs_inode::InitCheck(Volume* volume) const
class Stream : public bfs_inode {
bfs_inode* Node() { return (bfs_inode*)1; }
printf(SIZEOF(bfs_inode));
printf(OFFSETOF(bfs_inode, inode_size));
printf(OFFSETOF(bfs_inode, etc));
printf(OFFSETOF(bfs_inode, data));