iso9660.c File Reference


Detailed Description

ISO9660 file system code to handle basic file system processing for opening file system, processing sectors, and directory entries.

#include "fs_tools_i.h"
#include "iso9660.h"
#include <ctype.h>

Functions

void iso9660_inode_list_free (TSK_FS_INFO *fs)
rockridge_ext * parse_susp (TSK_FS_INFO *fs, char *buf, int count, FILE *hFile)
 Process the System Use Sharing Protocol (SUSP) data.
int iso9660_load_inodes_dir (TSK_FS_INFO *fs, OFF_T a_offs, int count, int ctype, char *a_fn)
uint8_t iso9660_dinode_load (ISO_INFO *iso, INUM_T inum)
 Load the raw "inode" into the cached buffer (iso->dinode).
uint8_t iso9660_inode_walk (TSK_FS_INFO *fs, INUM_T start, INUM_T last, TSK_FS_INODE_FLAG_ENUM flags, TSK_FS_INODE_WALK_CB action, void *ptr)
uint8_t iso9660_block_walk (TSK_FS_INFO *fs, DADDR_T start, DADDR_T last, TSK_FS_BLOCK_FLAG_ENUM flags, TSK_FS_BLOCK_WALK_CB action, void *ptr)
uint8_t iso9660_file_walk (TSK_FS_INFO *fs, TSK_FS_INODE *inode, uint32_t type, uint16_t id, TSK_FS_FILE_FLAG_ENUM flags, TSK_FS_FILE_WALK_CB action, void *ptr)
 Calls a callback function with the contents of each block in a file.
char * make_unix_perm (TSK_FS_INFO *fs, iso9660_dentry *dd)
 Make a unix-style permissions string based the flags in dentry and the cached inode in fs.
uint8_t iso9660_jopen (TSK_FS_INFO *fs, INUM_T inum)
uint8_t iso9660_jentry_walk (TSK_FS_INFO *fs, int flags, TSK_FS_JENTRY_WALK_CB action, void *ptr)
uint8_t iso9660_jblk_walk (TSK_FS_INFO *fs, DADDR_T start, DADDR_T end, int flags, TSK_FS_JBLK_WALK_CB action, void *ptr)
TSK_FS_INFOiso9660_open (TSK_IMG_INFO *img_info, SSIZE_T offset, TSK_FS_INFO_TYPE_ENUM ftype, uint8_t test)


Function Documentation

uint8_t iso9660_dinode_load ( ISO_INFO *  iso,
INUM_T  inum 
)

Load the raw "inode" into the cached buffer (iso->dinode).

dinode_load (for now) does not check for extended attribute records... my issue is I dont have an iso9660 image with extended attr recs, so I can't test/debug, etc

Returns:
1 if not found and 0 on succuss

uint8_t iso9660_file_walk ( TSK_FS_INFO fs,
TSK_FS_INODE inode,
uint32_t  type,
uint16_t  id,
TSK_FS_FILE_FLAG_ENUM  flags,
TSK_FS_FILE_WALK_CB  action,
void *  ptr 
)

Calls a callback function with the contents of each block in a file.

Note that if an extended attribute exists, the first block in the callback will not be a full size.

Parameters:
fs File system file is located in
inode File to read and analyze
type Attribute type to read and analyze (does not apply to ISO9660)
id Attribute id to read and analyze (does not apply to ISO9660)
flags Flags to use while reading
action Callback function that is called for each block
ptr Pointer to data that is passed to the callback
Returns:
1 on error and 0 on success

rockridge_ext* parse_susp ( TSK_FS_INFO fs,
char *  buf,
int  count,
FILE *  hFile 
)

Process the System Use Sharing Protocol (SUSP) data.

Typically, rockridge data are stored in this.

Parameters:
fs File system to process
buf Buffer of data to process
count Length of buffer in bytes.
hFile File handle to print details to (or NULL for no printing)
Returns:
NULL on error


Generated on Wed Nov 28 16:11:17 2007 for The Sleuth Kit (Incomplete) by  doxygen 1.5.1