19 package org.sleuthkit.datamodel;
 
   21 import java.text.MessageFormat;
 
   22 import java.util.ResourceBundle;
 
   23 import java.util.EnumSet;
 
   32         private final static ResourceBundle bundle = ResourceBundle.getBundle(
"org.sleuthkit.datamodel.Bundle");
 
   53                 private short dirType;
 
   57                         this.dirType = (short) type;
 
   88                                 if (v.dirType == dir_type) {
 
   92                         throw new IllegalArgumentException(
 
   93                                         MessageFormat.format(bundle.getString(
"TskData.tskFsNameTypeEnum.exception.msg1.text"), dir_type));
 
  116                 private short metaType;
 
  117                 private String metaTypeStr;
 
  120                         this.metaType = (short) type;
 
  121                         this.metaTypeStr = metaTypeStr;
 
  140                                 if (type.getValue() == metaType) {
 
  144                         throw new IllegalArgumentException(
 
  145                                         MessageFormat.format(bundle.getString(
"TskData.tskFsMetaTypeEnum.exception.msg1.text"), metaType));
 
  156                 UNKNOWN(0, bundle.getString(
"TskData.tskFsNameFlagEnum.unknown")), 
 
  157                 ALLOC(1, bundle.getString(
"TskData.tskFsNameFlagEnum.allocated")), 
 
  158                 UNALLOC(2, bundle.getString(
"TskData.tskFsNameFlagEnum.unallocated"));    
 
  160                 private short dirFlag;
 
  161                 private String dirFlagStr;
 
  164                         this.dirFlag = (short) flag;
 
  165                         this.dirFlagStr = dirFlagStr;
 
  191                                 if (flag.dirFlag == dirFlag) {
 
  207                 UNKNOWN(0, bundle.getString(
"TskData.tskFsMetaFlagEnum.unknown")), 
 
  208                 ALLOC(1, bundle.getString(
"TskData.tskFsMetaFlagEnum.allocated")), 
 
  209                 UNALLOC(2, bundle.getString(
"TskData.tskFsMetaFlagEnum.unallocated")), 
 
  210                 USED(4, bundle.getString(
"TskData.tskFsMetaFlagEnum.used")), 
 
  211                 UNUSED(8, bundle.getString(
"TskData.tskFsMetaFlagEnum.unused")), 
 
  212                 COMP(16, bundle.getString(
"TskData.tskFsMetaFlagEnum.compressed")), 
 
  213                 ORPHAN(32, bundle.getString(
"TskData.tskFsMetaFlagEnum.orphan"));       
 
  215                 private short meta_flag;
 
  216                 private String label;
 
  219                         this.meta_flag = (short) flag;
 
  249                 public static Set<TSK_FS_META_FLAG_ENUM> 
valuesOf(
short metaFlags) {
 
  258                                 long flag = v.getValue();
 
  260                                 if ((metaFlags & flag) == flag) {
 
  268                 public static short toInt(Set<TSK_FS_META_FLAG_ENUM> metaFlags) {
 
  271                                 val |= flag.getValue();
 
  324                                 if (type.val == val) {
 
  328                         throw new IllegalArgumentException(
 
  329                                         MessageFormat.format(bundle.getString(
"TskData.tskFsAttrTypeEnum.exception.msg1.text"), val));
 
  344                 private long vs_flag;
 
  389                         this.mode = (short) mode;
 
  409                 public static Set<TSK_FS_META_MODE_ENUM> 
valuesOf(
short modes) {
 
  413                                 long flag = v.getMode();
 
  415                                 if ((modes & flag) == flag) {
 
  428                 public static short toInt(Set<TSK_FS_META_MODE_ENUM> modes) {
 
  431                                 modesInt |= mode.getMode();
 
  476                 private String displayName;
 
  480                         this.displayName = displayName;
 
  511                                 if (type.value == fsTypeValue) {
 
  515                         throw new IllegalArgumentException(
 
  516                                         MessageFormat.format(bundle.getString(
"TskData.tskFsTypeEnum.exception.msg1.text"), fsTypeValue));
 
  541                 private long imgType;
 
  551                                 if (type.getValue() == imgType) {
 
  555                         throw new IllegalArgumentException(
 
  556                                         MessageFormat.format(bundle.getString(
"TskData.tskImgTypeEnum.exception.msg1.text"), imgType));
 
  605                                 if (type.getVsType() == vsType) {
 
  609                         throw new IllegalArgumentException(
 
  610                                         MessageFormat.format(bundle.getString(
"TskData.tskVSTypeEnum.exception.msg1.text"), vsType));
 
  638                 IMG(0, bundle.getString(
"TskData.ObjectType.IMG.name")), 
 
  639                 VS(1, bundle.getString(
"TskData.ObjectType.VS.name")), 
 
  640                 VOL(2, bundle.getString(
"TskData.ObjectType.VOL.name")), 
 
  641                 FS(3, bundle.getString(
"TskData.ObjectType.FS.name")), 
 
  642                 ABSTRACTFILE(4, bundle.getString(
"TskData.ObjectType.AbstractFile.name")), 
 
  643                 ARTIFACT(5, bundle.getString(
"TskData.ObjectType.Artifact.name")),      
 
  644                 REPORT(6, bundle.getString(
"TskData.ObjectType.Report.name")),  
 
  645                 POOL(7, bundle.getString(
"TskData.ObjectType.Pool.name")),      
 
  646                 OS_ACCOUNT(8, bundle.getString(
"TskData.ObjectType.OsAccount.name")), 
 
  647                 HOST_ADDRESS(9, bundle.getString(
"TskData.ObjectType.HostAddress.name")), 
 
  648                 UNSUPPORTED(-1, bundle.getString(
"TskData.ObjectType.Unsupported.name")) 
 
  650                 private final short objectType;
 
  651                 private final String displayName;
 
  653                 private ObjectType(
int objectType, String displayName) {
 
  654                         this.objectType = (short) objectType;
 
  655                         this.displayName = displayName;
 
  681                                 if (v.objectType == objectType) {
 
  695                 FS(0, 
"File System"), 
 
  707                 private final short fileType;
 
  708                 private final String name;
 
  711                         this.fileType = (short) fileType;
 
  724                                 if (type.fileType == fileType) {
 
  728                         throw new IllegalArgumentException(
 
  729                                         MessageFormat.format(bundle.getString(
"TskData.tskDbFilesTypeEnum.exception.msg1.text"), fileType));
 
  754                 TSK_POOL_TYPE_UNSUPP(0xffff, 
"Unsupported") 
 
  757                 private final short poolType;
 
  758                 private final String name;
 
  761                         this.poolType = (short) poolType;
 
  774                                 if (type.poolType == poolType) {
 
  778                         throw new IllegalArgumentException(
 
  779                                         MessageFormat.format(bundle.getString(
"TskData.tskDbFilesTypeEnum.exception.msg1.text"), poolType)); 
 
  802                 UNKNOWN(0, bundle.getString(
"TskData.fileKnown.unknown")), 
 
  803                 KNOWN(1, bundle.getString(
"TskData.fileKnown.known")), 
 
  804                 BAD(2, bundle.getString(
"TskData.fileKnown.knownBad")); 
 
  809                 private FileKnown(
int known, String name) {
 
  810                         this.known = (byte) known;
 
  823                                 if (v.known == known) {
 
  827                         throw new IllegalArgumentException(
 
  828                                         MessageFormat.format(bundle.getString(
"TskData.fileKnown.exception.msg1.text"), known));
 
  851                 UNKNOWN(0, bundle.getString(
"TskData.tagType.unknown")), 
 
  852                 KNOWN(1, bundle.getString(
"TskData.tagType.known")), 
 
  853                 BAD(2, bundle.getString(
"TskData.tagType.knownBad")), 
 
  854                 SUSPICIOUS(3, bundle.getString(
"TskData.tagType.suspicious")); 
 
  859                 private TagType(
int type, String name) {
 
  860                         this.type = (byte) type;
 
  884                         throw new IllegalArgumentException(
 
  885                                         MessageFormat.format(bundle.getString(
"TskData.tagType.exception.msg1.text"), tagType));
 
  911                         throw new IllegalArgumentException(
 
  912                                         MessageFormat.format(bundle.getString(
"TskData.fileKnown.exception.msg1.text"), fileKnown));
 
  924                                 if (v.type == type) {
 
  928                         throw new IllegalArgumentException(
 
  929                                         MessageFormat.format(bundle.getString(
"TskData.tagType.exception.msg1.text"), type));
 
  982                 private final int type;
 
  994                                 if (v.type == type) {
 
  998                         throw new IllegalArgumentException(
 
  999                                         MessageFormat.format(bundle.getString(
"TskData.encodingType.exception.msg1.text"), type));
 
 1024                 private final int type;
 
 1036                                 if (v.type == type) {
 
 1040                         throw new IllegalArgumentException(
 
 1041                                         MessageFormat.format(bundle.getString(
"TskData.collectedStatus.exception.msg1.text"), type));
 
 1053                 private final int type;
 
 1065                                 if (v.type == type) {
 
 1069                         throw new IllegalArgumentException(
 
 1070                                         MessageFormat.format(bundle.getString(
"TskData.keywordSearchQueryType.exception.msg1.text"), type));
 
VIRT
Special (TSK added "Virtual" files) NON-NLS. 
 
TSK_FS_ATTR_TYPE_NTFS_OBJID
 
FS
File that can be found in file system tree. 
 
static FileKnown valueOf(byte known)
 
TSK_POOL_TYPE_ENUM(int poolType, String name)
 
TSK_VS_PART_FLAG_ALL
Show all sectors in the walk. 
 
TSK_FS_ATTR_TYPE_NTFS_EAINFO
 
TSK_VS_TYPE_BSD
BSD Partition table NON-NLS. 
 
TSK_FS_META_TYPE_WHT
Whiteout NON-NLS. 
 
TSK_FS_TYPE_EXT_DETECT
ExtX auto detection. 
 
TSK_VS_TYPE_MAC
Mac partition table NON-NLS. 
 
TSK_FS_ATTR_TYPE_NTFS_VNAME
 
static Set< TSK_FS_META_FLAG_ENUM > valuesOf(short metaFlags)
 
TSK_VS_TYPE_DBFILLER
fake partition table type for loaddb (for images that do not have a volume system) ...
 
UNUSED
Metadata structure has never been allocated. 
 
TSK_FS_TYPE_EXT3
Ext3 file system. 
 
ALLOC
Metadata structure is currently in an allocated state. 
 
TSK_FS_ATTR_TYPE_NTFS_VINFO
 
TSK_VS_PART_FLAG_ALLOC
Sectors are allocated to a volume in the volume system. 
 
TSK_FS_TYPE_NTFS_DETECT
NTFS auto detection. 
 
static TSK_FS_TYPE_ENUM valueOf(int fsTypeValue)
 
TSK_FS_TYPE_NTFS
NTFS file system. 
 
TSK_FS_META_TYPE_DIR
Directory file NON-NLS. 
 
TSK_FS_META_TYPE_SHAD
SOLARIS ONLY NON-NLS. 
 
TSK_FS_META_MODE_ISVTX
sticky bit 
 
TSK_VS_TYPE_SUN
Sun VTOC NON-NLS. 
 
UNALLOC
Metadata structure is currently in an unallocated state. 
 
TSK_FS_ATTR_TYPE_HFS_EXT_ATTR
 
TSK_FS_TYPE_FAT32
FAT32 file system. 
 
NO_UNSUPPORTED_COMPRESSION
 
static TSK_FS_META_TYPE_ENUM valueOf(short metaType)
 
TSK_FS_META_MODE_IXOTH
X for other. 
 
LNK
Symbolic link NON-NLS. 
 
TSK_FS_META_TYPE_VIRT_DIR
"Virtual Directory" created by TSK for Orphan Files NON-NLS 
 
TSK_FS_ATTR_TYPE_NTFS_ATTRLIST
 
COMP
The file contents are compressed. 
 
TSK_FS_TYPE_BTRFS
Btrfs file system. 
 
TSK_FS_META_MODE_ISUID
set user id on execution 
 
TSK_VS_TYPE_APFS
APFS pool NON-NLS. 
 
TSK_FS_TYPE_HFS_DETECT
HFS auto detection. 
 
TSK_FS_META_MODE_IXGRP
X for group. 
 
TSK_FS_TYPE_FAT12
FAT12 file system. 
 
HOST_ADDRESS
Host Address - see tsk_host_addresses for more details. 
 
LAYOUT_FILE
Set of blocks from an image that have been designated as a file. 
 
TSK_FS_TYPE_YAFFS2_DETECT
YAFFS2 auto detection. 
 
TSK_FS_META_MODE_IWOTH
W for other. 
 
WHT
Whiteout (openbsd) NON-NLS. 
 
TSK_FS_META_MODE_IRGRP
R for group. 
 
TSK_VS_PART_FLAG_META
Sectors contain volume system metadata and could also be ALLOC or UNALLOC. 
 
TSK_FS_ATTR_TYPE_HFS_COMP_REC
 
TSK_FS_TYPE_FFS1B
UFS1b (Solaris - has no type) 
 
SLACK
Slack space for a single file. 
 
TSK_FS_ATTR_TYPE_NTFS_REPARSE
 
TSK_FS_TYPE_FFS1
UFS1 (FreeBSD, OpenBSD, BSDI ...) 
 
TSK_FS_ATTR_TYPE_NTFS_IDXROOT
 
static TSK_FS_ATTR_TYPE_ENUM valueOf(int val)
 
LOCAL
Local file that was added (not from a disk image) 
 
TSK_FS_META_MODE_IWUSR
W for owner. 
 
TSK_VS_TYPE_UNSUPP
Unsupported. 
 
TSK_FS_TYPE_SWAP_DETECT
SWAP auto detection. 
 
TSK_FS_META_TYPE_CHR
Character device NON-NLS. 
 
static TSK_POOL_TYPE_ENUM valueOf(long poolType)
 
TSK_POOL_TYPE_APFS
APFS Pooled Volumes. 
 
TSK_FS_TYPE_APFS_DETECT
APFS auto detection. 
 
CARVED
Set of blocks for a file found from carving. Could be on top of a TSK_DB_FILES_TYPE_UNALLOC_BLOCKS ra...
 
static TSK_FS_NAME_FLAG_ENUM valueOf(int dirFlag)
 
TSK_FS_TYPE_ISO9660_DETECT
ISO9660 auto detection. 
 
TSK_FS_ATTR_TYPE_HFS_DATA
 
FS
File System - see tsk_fs_info for more details. 
 
TSK_FS_TYPE_SWAP
SWAP file system. 
 
TSK_FS_META_MODE_IROTH
R for other. 
 
TSK_FS_TYPE_UNSUPP
Unsupported file system. 
 
TSK_FS_TYPE_RAW
RAW file system. 
 
TSK_FS_TYPE_EXFAT
ExFAT file system. 
 
USED
Metadata structure has been allocated at least once. 
 
VIRT_DIR
Special (TSK added "Virtual" directories) NON-NLS. 
 
TSK_IMG_TYPE_UNSUPP
Logical directory. 
 
LOCAL_DIR
Local directory that was added (not from a disk image) 
 
TSK_FS_TYPE_FAT_DETECT
FAT auto detection. 
 
VOL
Volume - see tsk_vs_parts for more details. 
 
TSK_FS_ATTR_TYPE_NTFS_IDXALLOC
 
static TagType valueOf(byte type)
 
static EncodingType valueOf(int type)
 
TSK_FS_ATTR_TYPE_NTFS_BITMAP
 
TSK_FS_TYPE_RAW_DETECT
RAW auto detection. 
 
TSK_FS_META_TYPE_VIRT
"Virtual File" created by TSK for file system areas NON-NLS 
 
TSK_VS_TYPE_GPT
GPT partition table NON-NLS. 
 
TSK_FS_META_MODE_IRUSR
R for owner. 
 
TSK_FS_TYPE_DETECT
Use autodetection methods. 
 
TSK_FS_ATTR_TYPE_HFS_DEFAULT
 
static TSK_FS_NAME_TYPE_ENUM valueOf(short dir_type)
 
CHR
Character device NON-NLS. 
 
TSK_FS_TYPE_APFS
APFS file system. 
 
REPORT
Artifact - see blackboard_artifacts for more details. 
 
SHAD
Shadow inode (solaris) NON-NLS. 
 
static short toInt(Set< TSK_FS_META_MODE_ENUM > modes)
 
BAD
File marked as bad by hash db. 
 
DERIVED
File derived from a parent file (i.e. from ZIP) 
 
TSK_FS_TYPE_EXT2
Ext2 file system. 
 
TSK_FS_ATTR_TYPE_NTFS_LOG
 
TSK_FS_ATTR_TYPE_UNIX_INDIR
 
TSK_FS_TYPE_HFS
HFS file system. 
 
OS_ACCOUNT
OS Account - see tsk_os_accounts for more details. 
 
TSK_FS_TYPE_BTRFS_DETECT
Btrfs auto detection. 
 
static FileKnown convertTagTypeToFileKnown(TagType tagType)
 
static TSK_DB_FILES_TYPE_ENUM valueOf(short fileType)
 
TSK_FS_META_TYPE_BLK
Block device NON-NLS. 
 
TSK_FS_TYPE_EXT4
Ext4 file system. 
 
TSK_FS_ATTR_TYPE_NTFS_PROP
 
static short toInt(Set< TSK_FS_META_FLAG_ENUM > metaFlags)
 
TSK_FS_ATTR_TYPE_HFS_RSRC
 
static TSK_IMG_TYPE_ENUM valueOf(long imgType)
 
TSK_FS_TYPE_YAFFS2
YAFFS2 file system. 
 
UNALLOC_BLOCKS
Set of blocks not allocated by file system. Parent should be image, volume, or file system...
 
TSK_FS_META_TYPE_SOCK
UNIX domain socket NON-NLS. 
 
static ObjectType valueOf(short objectType)
 
TSK_POOL_TYPE_DETECT
Use autodetection methods. 
 
TSK_FS_META_TYPE_FIFO
Named pipe (fifo) NON-NLS. 
 
UNKNOWN
File marked as unknown by hash db. 
 
static Set< TSK_FS_META_MODE_ENUM > valuesOf(short modes)
 
TSK_FS_META_TYPE_LNK
Symbolic link NON-NLS. 
 
TSK_VS_TYPE_DETECT
Use autodetection methods. 
 
TSK_VS_TYPE_LVM
LVM pool NON-NLS. 
 
TSK_FS_ATTR_TYPE_NTFS_SEC
 
TSK_FS_TYPE_FAT16
FAT16 file system. 
 
TSK_FS_TYPE_FFS_DETECT
UFS auto detection. 
 
static KeywordSearchQueryType valueOf(int type)
 
KNOWN
File marked as a type by hash db. 
 
TSK_FS_ATTR_TYPE_NTFS_DATA
 
TSK_FS_META_MODE_IWGRP
W for group. 
 
ALLOC
Name is in an allocated state. 
 
VIRTUAL_DIR
Virtual directory (not on fs) with no meta-data entry that can be used to group files of types other ...
 
TSK_VS_PART_FLAG_UNALLOC
Sectors are not allocated to a volume. 
 
TSK_FS_ATTR_TYPE_NTFS_FNAME
 
static TSK_VS_TYPE_ENUM valueOf(long vsType)
 
ABSTRACTFILE
File - see tsk_files for more details. 
 
TSK_FS_ATTR_TYPE_NTFS_SYMLNK
 
TSK_FS_TYPE_ISO9660
ISO9660 file system. 
 
TSK_VS_TYPE_DOS
DOS Partition table NON-NLS. 
 
TSK_POOL_TYPE_LVM
LVM Pooled Volumes. 
 
TSK_FS_META_TYPE_REG
Regular file NON-NLS. 
 
static TagType convertFileKnownToTagType(FileKnown fileKnown)
 
TSK_FS_ATTR_TYPE_NOT_FOUND
 
TSK_FS_META_MODE_ISGID
set group id on execution 
 
ORPHAN
Return only metadata structures that have no file name pointing to the (inode_walk flag only) ...
 
TSK_FS_TYPE_FFS2
UFS2 - FreeBSD, NetBSD. 
 
TSK_FS_META_MODE_IXUSR
X for owner. 
 
UNUSED_BLOCKS
Set of blocks that are unallocated AND not used by a carved or other file type. Parent should be UNAL...
 
static CollectedStatus valueOf(int type)
 
VS
Volume System - see tsk_vs_info for more details. 
 
IMG
Disk Image - see tsk_image_info for more details. 
 
UNALLOC
Name is in an unallocated state. 
 
TSK_FS_ATTR_TYPE_NTFS_VVER