cd_ptrec(3) — Subroutines
NAME
cd_ptrec, cd_cptrec - Reads the Path Table Record from the CD-ROM Path Table
LIBRARY
Rock Ridge and X/Open Extensions to the CDFS library (libcdrom.so, libcdrom.a)
SYNOPSIS
#include <sys/cdrom.h> int cd_ptrec (
char ∗path,
struct iso9660_ptrec ∗ptrec ); int cd_cptrec (
char ∗path,
char ∗addr );
PARAMETERS
∗path
Points to a file or directory within the CD-ROM File System hierarchy.
∗ptrec
Points to the iso9660_ptrec structure that holds the contents of the Path Table Record associated with the file or directory pointed to by ∗path. The iso9660_ptrec structure is defined in cdfs/xcdr.h, an include file that is called into sys/cdrom.h
∗addr
Specifies the address to which the function cd_cptrec copies the complete Path Table Record that is recorded on the CD-ROM.
DESCRIPTION
The cd_ptrec routine fills the ∗ptrec structure with the contents of the Path Table Record associated with the directory that is pointed to by ∗path.
The cd_cptrec function copies the complete Path Table Record that is recorded on the CD-ROM to the address pointed to by ∗addr. The user must allocate {CD_MAXPTRECL} bytes for the Path Table Record. The variable {CD_MAXPTRECL} is defined in cdfs/xcdr.h, an include file that is called into sys/cdrom.h.
RETURN VALUES
If successful, the value zero is returned.
If unsuccessful, the integer -1 is returned and errno is set to indicate the error.
ERRORS
The function will fail if:
[EACCES]Search permission is denied for a directory in ∗path or read permission is denied for the named directory.
[EFAULT]The address of ∗path or ∗addr is invalid.
[EINTR]A signal was caught during execution of the function.
[EINVAL]The argument ∗path points to a file or directory that is not within the CD-ROM file hierarchy.
[EMFILE]{OPEN_MAX} file descriptors are currently open in
the calling process.
[ENAMETOOLONG]
The length of the ∗path string exceeds {PATH_MAX}, or a pathname component is longer than {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
[ENFILE]The system file table is full.
[ENOENT]A component of ∗path does not exist, or the ∗path argument points to an empty string.
[ENOTDIR]A component of the ∗path prefix is not a directory.
[ENXIO]The CD-ROM is not in the drive, or a read error occurred.
RELATED INFORMATION
Files: cdfs/xcdr.h, sys/cdrom.h.