19 package org.sleuthkit.datamodel;
21 import java.util.List;
22 import java.util.logging.Level;
23 import java.util.logging.Logger;
92 super(db, objId, dataSourceObjectId,
TSK_FS_ATTR_TYPE_ENUM.
TSK_FS_ATTR_TYPE_DEFAULT, 0, name, fileType, 0L, 0, dirType, metaType, dirFlag, metaFlags, size, 0L, 0L, 0L, 0L, (
short) 0, 0, 0, md5Hash, knownState, parentPath, mimeType);
105 Logger.getLogger(
LayoutFile.class.
getName()).log(Level.SEVERE, String.format(
"Error getting layout ranges for layout file (objId = %d)",
getId()), ex);
169 long offsetInThisLayoutContent = 0;
172 if (imageHandle == -1) {
174 if ((dataSource != null) && (dataSource instanceof
Image)) {
175 Image image = (Image) dataSource;
183 if (bytesRead < len) {
184 if (offset < offsetInThisLayoutContent + range.getByteLen()) {
185 long offsetInRange = 0;
186 if (bytesRead == 0) {
187 offsetInRange = offset - offsetInThisLayoutContent;
189 long offsetInImage = range.getByteStart() + offsetInRange;
190 long lenToRead = Math.min(range.getByteLen() - offsetInRange, len - bytesRead);
191 int lenRead =
readImgToOffset(imageHandle, buf, bytesRead, offsetInImage, (
int) lenToRead);
192 bytesRead += lenRead;
193 if (lenToRead != lenRead) {
197 offsetInThisLayoutContent += range.getByteLen();
216 byte[] currentBuffer =
new byte[lenToRead];
218 System.arraycopy(currentBuffer, 0, buf, offsetInBuf, lenToRead);
232 return v.
visit(
this);
244 public <T> T accept(SleuthkitItemVisitor<T> v) {
245 return v.visit(
this);
259 return super.toString(preserveState) +
"LayoutFile [\t" +
"]\t";
291 @SuppressWarnings(
"deprecation")
297 this(
db,
objId, db.getDataSourceObjectId(objId),
name,
fileType,
dirType,
metaType,
dirFlag,
metaFlags,
size,
md5Hash,
knownState,
parentPath, null);
final TSK_FS_NAME_TYPE_ENUM dirType
static int readImg(long imgHandle, byte[] readBuffer, long offset, long len)
final TSK_FS_NAME_FLAG_ENUM dirFlag
final TskData.TSK_DB_FILES_TYPE_ENUM fileType
String toString(boolean preserveState)
List< Content > getChildren()
List< Long > getChildrenIds()
final Set< TSK_FS_META_FLAG_ENUM > metaFlags
int readInt(byte[] buf, long offset, long len)
TskData.FileKnown knownState
SleuthkitCase getSleuthkitCase()
DERIVED
File derived from a parent file (i.e. from ZIP)
List< TskFileRange > getRanges()
int readImgToOffset(long imgHandle, byte[] buf, int offsetInBuf, long offsetInImage, int lenToRead)
final TSK_FS_META_TYPE_ENUM metaType
synchronized long getImageHandle()