iso9660.h File Reference


Detailed Description

Contains the structures and function APIs for ISO9660 file system support.

Go to the source code of this file.

Data Structures

struct  record_data
struct  date_time
struct  iso9660_dentry
struct  iso9660_root_dentry
struct  iso9660_gvd
struct  iso9660_pvd
struct  iso9660_svd
struct  iso_bootrec
struct  path_table_rec
struct  ext_attr_rec
struct  iso9660_pvd_node
struct  iso9660_svd_node
struct  rockridge_ext
struct  iso9660_inode
 Internally used structure to hold basic inode information. More...
struct  iso9660_inode_node
struct  ISO_INFO
struct  iso9660_susp_head
struct  iso9660_susp_ce
 SUSP Continuation Entry (CE). More...
struct  iso9660_susp_sp
 SUSP SP entry. More...
struct  iso9660_susp_er
struct  rr_sys_use
struct  iso9660_rr_px_entry
struct  iso9660_rr_pn_entry
struct  iso9660_rr_sl_entry
struct  iso9660_rr_nm_entry
struct  iso9660_rr_cl_entry
struct  iso9660_rr_re_entry
struct  iso9660_rr_tf_entry
struct  iso9660_rr_sf_entry

Defines

#define ISODCL(from, to)   (to - from + 1)
#define ISO9660_FIRSTINO   0
#define ISO9660_ROOTINO   0
#define ISO9660_NIADDR   0
#define ISO9660_NDADDR   1
#define ISO9660_SBOFF   32768
#define ISO9660_SSIZE_B   2048
#define ISO9660_MIN_BLOCK_SIZE   512
#define ISO9660_MAX_BLOCK_SIZE   2048
#define ISO9660_MAGIC   "CD001"
#define ISO9660_BOOT_RECORD   0
#define ISO9660_PRIM_VOL_DESC   1
#define ISO9660_SUPP_VOL_DESC   2
#define ISO9660_VOL_PART_DESC   3
#define ISO9660_RESERVE_FLOOR   4
#define ISO9660_RESERVE_CEIL   254
#define ISO9660_VOL_DESC_SET_TERM   255
#define ISO9660_MAXNAMLEN_STD   128
 Maximum length of standard name.
#define ISO9660_MAXNAMLEN_JOL   128
 maximum UTF-16 joliet name (in bytes)
#define ISO9660_MAXNAMLEN   (ISO9660_MAXNAMLEN_JOL << 1)
#define ISO9660_BIT_UR   0x0010
#define ISO9660_BIT_UX   0x0040
#define ISO9660_BIT_GR   0x0100
#define ISO9660_BIT_GX   0x0400
#define ISO9660_BIT_AR   0x1000
#define ISO9660_BIT_AX   0x4000
#define ISO9660_FLAG_HIDE   0x01
#define ISO9660_FLAG_DIR   0x02
#define ISO9660_FLAG_ASSOC   0x04
#define ISO9660_FLAG_RECORD   0X08
#define ISO9660_FLAG_PROT   0X10
#define ISO9660_FLAG_RES1   0X20
#define ISO9660_FLAG_RES2   0x40
#define ISO9660_FLAG_MULT   0X80
#define MODE_IFSOCK   0140000
#define MODE_IFLNK   0120000
#define MODE_IFDIR   0040000
#define MODE_IFIFO   0010000
#define MODE_IFBLK   0060000
#define MODE_IFCHR   0020000
#define ISO9660_TYPE_PVD   0
#define ISO9660_TYPE_SVD   1
#define ISO9660_CTYPE_ASCII   0
#define ISO9660_CTYPE_UTF16   1

Functions

uint8_t iso9660_dent_walk (TSK_FS_INFO *fs, INUM_T inode, TSK_FS_DENT_FLAG_ENUM flags, TSK_FS_DENT_TYPE_WALK_CB action, void *ptr)
 Process the contents of a directory and pass each file name to a callback function.
uint8_t iso9660_dinode_load (ISO_INFO *iso, INUM_T inum)
 Load the raw "inode" into the cached buffer (iso->dinode).


Function Documentation

uint8_t iso9660_dent_walk ( TSK_FS_INFO fs,
INUM_T  inum,
TSK_FS_DENT_FLAG_ENUM  flags,
TSK_FS_DENT_TYPE_WALK_CB  action,
void *  ptr 
)

Process the contents of a directory and pass each file name to a callback function.

Parameters:
fs File system to analyze
inum Metadata address of directory to analyze
flags Flags used during analysis
action Callback function that is called for each file name
ptr Pointer to data that is passed to callback
Returns:
1 on error and 0 on success

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


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