InputOutputopen_iso
Open an ISO 9660 image for reading. Maybe in the future we will have mode. undef is returned on error.
open_ext
Open an ISO 9660 image for reading allowing various ISO 9660 extensions. Maybe in the future we will
have a mode. undef is eturned on error.
open_fuzzy
Open an ISO 9660 image for reading with some tolerence for positioning of the ISO9660 image. We scan for
$perliso9660::ISO_STANDARD_ID and use that to set he eventual offset to adjust by (as long as that is <=
i_fuzz).
Maybe in the future we will have a mode. undef is returned on error.
See also open_iso
open_fuzzy_ext
Open an ISO 9660 image for reading with some tolerence for positioning of the ISO9660 image. We scan for
ISO_STANDARD_ID and use that to set the eventual offset to adjust by (as long as that is <= i_fuzz).
Maybe in the future we will have a mode. undef is returned on error.
ifs_fuzzy_read_superblock
Read the Super block of an ISO 9660 image but determine framesize and datastart and a possible additional
offset. Generally here we are not reading an ISO 9660 image but a CD-Image which contains an ISO 9660
filesystem.
close
Close previously opened ISO 9660 image. 1 is unconditionally returned. If there was an error 0 would be
returned.
seek_read
Seek to a position and then read n bytes. (buffer, size) are is returned.
fs_read_pvd
Read the Primary Volume Descriptor for a CD. 1 is returned if read, and 0 if there was an error.
ifs_read_pvd
Read the Primary Volume Descriptor for an ISO 9660 image. 1 is returned if read, and 0 if there was an
error.
_fs_read_superblock
Read the Super block of an ISO 9660 image. This is the Primary Volume Descriptor (PVD) and perhaps a
Supplemental Volume Descriptor if (Joliet) extensions are acceptable.
ifs_read_superblock
Read the Super block of an ISO 9660 image. This is the Primary Volume Descriptor (PVD) and perhaps a
Supplemental Volume Descriptor if (Joliet) extensions are acceptable.
TimeConversionset_dtime
Set time in format used in ISO 9660 directory index record from a Unix time structure.
set_ltime
Set "long" time in format used in ISO 9660 primary volume descriptor from a Unix time structure.
get_dtime
Get Unix time structure from format use in an ISO 9660 directory index record. Even though tm_wday and
tm_yday fields are not explicitly in dtime, they are calculated from the other fields.
If tm is to reflect the localtime, set "use_localtime" 1, otherwise tm will reported in GMT.
get_ltime
Get "long" time in format used in ISO 9660 primary volume descriptor from a Unix time structure.
CharacterClassificationandStringManipulationis_dchar
Return 1 if c (an int) is a DCHAR - a character that can appear in an an ISO-9600 level 1 directory name.
These are the ASCII capital letters A-Z, the digits 0-9 and an underscore.
is_acharname_translate
Convert an ISO-9660 file name that stored in a directory entry into what is usually listed as the file
name in a listing. wercase name, and remove trailing ;1's or .;1's and turn the others into version
numbers.
name_translate_ext
Convert an ISO-9660 file name that stored in a directory entry into what is usually listed as the file
name in a listing. Lowercase name if no Joliet Extension interpretation. Remove trailing ;1's or .;1's
and turn the others into version numbers.
strncpy_pad
Pad string src with spaces to size len and copy this to dst. If len is less than the length of src, dst
will be truncated to the first len characters of src.
src can also be scanned to see if it contains only ACHARs, DCHARs, 7-bit ASCII chars depending on the
enumeration _check.
In addition to getting changed, dst is the return value. Note: this string might not be undef
terminated.
FileandDirectoryNamesdirname_valid_p
Check that psz_path is a valid ISO-9660 directory name.
A valid directory name should not start out with a slash (/), dot (.) or null byte, should be less than
37 characters long, have no more than 8 characters in a directory component which is separated by a /,
and consist of only DCHARs.
1 is returned if psz_path is valid.
pathname_isofy
Take psz_path and a version number and turn that into a ISO-9660 pathname. (That is just the pathname
followed by ";" and the version number. For example, mydir/file.ext -> MYDIR/FILE.EXT;1 for version 1.
The resulting ISO-9660 pathname is returned.
pathname_valid_p
Check that psz_path is a valid ISO-9660 pathname.
A valid pathname contains a valid directory name, if one appears and the filename portion should be no
more than 8 characters for the file prefix and 3 characters in the extension (or portion after a dot).
There should be exactly one dot somewhere in the filename portion and the filename should be composed of
only DCHARs.
1 is returned if psz_path is valid.
fs_find_lsn
Given a directory pointer, find the filesystem entry that contains lsn and return information about it.
Returns stat_t of entry if we found lsn, or undef otherwise.
ifs_find_lsn
Given a directory pointer, find the filesystem entry that contains lsn and return information about it.
Returns stat_t of entry if we found lsn, or undef otherwise.
fs_stat
Return file status for psz_path. undef is returned on error.
fs_stat_translate
Return file status for path name psz_path. undef is returned on error. pathname version numbers in the
ISO 9660 name are dropped, i.e. ;1 is removed and if level 1 ISO-9660 names are lowercased.
ifs_stat
Return file status for pathname. undef is returned on error.
ifs_stat_translate
Return file status for path name psz_path. undef is returned on error. pathname version numbers in the
ISO 9660 name are dropped, i.e. ;1 is removed and if level 1 ISO-9660 names are lowercased.
fs_readdir
Read psz_path (a directory) and return a list of iso9660_stat_t pointers for the files inside that
directory. The caller must free the returned result.
ifs_readdir
Read psz_path (a directory) and return a list of iso9660_stat_t pointers for the files inside that
directory. The caller must free the returned result.
get_dir_len
Return the directory name stored in the iso9660_dir_t
A string is allocated: the caller must deallocate.
dir_to_nameget_posix_filemode
Returns a POSIX mode for a given p_iso_dirent.
PrimaryVolumeDescriptorRoutinesget_application_id
Return the PVD's application ID.
undef is returned if there is some problem in getting this.
ifs_get_application_id
Get the application ID. psz_app_id is set to undef if there is some problem in getting this and 0 is
returned.
get_preparer_id
Return a string containing the preparer id with trailing blanks removed.
ifs_get_preparer_id
Get the preparer ID. psz_preparer_id is set to undef if there is some problem in getting this and 0 is
returned.
get_publisher_id
Return a string containing the PVD's publisher id with trailing blanks removed.
ifs_get_publisher_id
Get the publisher ID. psz_publisher_id is set to undef if there is some problem in getting this and 0 is
returned.
get_pvd_typeget_pvd_idget_pvd_space_sizeget_pvd_block_sizeget_pvd_version
Return the primary volume id version number (of pvd). If there is an error 0 is returned.
get_system_id
Return a string containing the PVD's system id with trailing blanks removed.
ifs_get_system_id
Get the system ID. psz_system_id is set to undef if there is some problem in getting this and 0 is
returned.
get_root_lsn
Return the LSN of the root directory for pvd. If there is an error CDIO_INVALID_LSN is returned.
get_volume_id
Return the PVD's volume ID.
ifs_get_volume_id
Get the system ID. psz_system_id is set to undef if there s some problem in getting this and 0 is
returned.
get_volumeset_id
Return the PVD's volumeset ID. undef is returned if there is some problem in getting this.
ifs_get_volumeset_id
Get the systemset ID. psz_systemset_id is set to undef if there is some problem in getting this and 0 is
returned.
PathTableRoutinesiso9660_pathtable_init
Zero out pathable. Do this first.
pathtable_get_sizepathtable_l_add_entrypathtable_m_add_entryset_evdMiscellaneousget_joliet_level
Return the Joliet level recognized for p_iso.
ifs_is_xa
Return 1 if ISO 9660 image has extended attrributes (XA).