19 package org.sleuthkit.datamodel;
21 import java.util.List;
32 private long imgOffset, blockSize, blockCount, rootInum,
36 private volatile long filesystemHandle = 0;
54 long first_inum,
long last_inum) {
55 super(db, obj_id, name);
56 this.imgOffset = img_offset;
57 this.fsType = fs_type;
58 this.blockSize = block_size;
59 this.blockCount = block_count;
60 this.rootInum = root_inum;
61 this.firstInum = first_inum;
62 this.lastInum = last_inum;
77 return blockSize * blockCount;
90 if (filesystemHandle == 0) {
92 if (filesystemHandle == 0) {
94 if ((dataSource != null) && (dataSource instanceof
Image)) {
95 Image image = (Image) dataSource;
98 throw new TskCoreException(
"Data Source of File System is not an image");
103 return this.filesystemHandle;
109 if (children.size() != 1) {
110 throw new TskCoreException(
"FileSystem must have only one child.");
113 if (!(children.get(0) instanceof
Directory)) {
114 throw new TskCoreException(
"Child of FileSystem must be a Directory.");
186 if (filesystemHandle != 0) {
188 filesystemHandle = 0;
197 return v.
visit(
this);
201 public <T> T accept(ContentVisitor<T> v) {
202 return v.visit(
this);
207 return super.toString(preserveState) +
"FileSystem [\t" +
" blockCount " + blockCount +
"\t" +
"blockSize " + blockSize +
"\t" +
"firstInum " + firstInum +
"\t" +
"fsType " + fsType +
"\t" +
"imgOffset " + imgOffset +
"\t" +
"lastInum " + lastInum +
"\t" +
"rootInum " + rootInum +
"\t" +
"]";
String toString(boolean preserveState)
List< Content > getChildren()
static void closeFs(long fsHandle)
Directory getRootDirectory()
int read(byte[] buf, long offset, long len)
static long openFs(long imgHandle, long fsOffset)
FileSystem(SleuthkitCase db, long obj_id, String name, long img_offset, TskData.TSK_FS_TYPE_ENUM fs_type, long block_size, long block_count, long root_inum, long first_inum, long last_inum)
TskData.TSK_FS_TYPE_ENUM getFsType()
static int readFs(long fsHandle, byte[] readBuffer, long offset, long len)
synchronized long getImageHandle()