cd_drec, cd_cdrec - reads the Directory Record from a CDROM
directory
#include <sys/cdrom.h>
int cd_drec(
char *path,
int fsec,
struct iso9660_drec *drec ); int cd_cdrec(
char *path,
int fsec,
char *addr );
Rock Ridge and X/Open Extensions to the CDFS library
(libcdrom.so, libcdrom.a)
Points to a file or directory within the CD-ROM File System
hierarchy. Specifies the File Section of the file or
directory pointed to by *path, with the numbering beginning
at one. If fsec is set to -1, the last File Section
of the named file or the only File Section of the named
directory is assumed. Points to the iso9660_drec structure
that holds the contents of the Directory Record associated
with the file or directory pointed to by *path. The
iso9660_drec structure is defined in cdfs/xcdr.h, an
include file that is called into sys/cdrom.h. Specifies
the address to which the function cd_cdrec copies the complete
Directory Record that is recorded on the CD-ROM.
The cd_drec routine fills the *drec structure with the
contents of the Directory Record that is associated with a
file or directory pointed to by *path.
The cd_cdrec function copies the complete Directory Record
from the CD-ROM to the address pointed to by *addr. The
user must allocate {CD_MAXDRECL} bytes for the Directory
Record. The variable {CD_MAXDRECL} is defined in
cdfs/xcdr.h, an include file that is called into
sys/cdrom.h.
If successful, the value zero is returned. If unsuccessful,
the integer -1 is returned and errno is set to indicate
the error.
The function will fail if: Search permission is denied for
a directory in *path or read permission is denied for the
file or directory pointed to by *path. The address of
*path or *addr is invalid. A signal was caught during
execution of the function. The argument *path points to a
file or directory that is not within the CD-ROM file hierarchy.
The value of fsec is invalid. {OPEN_MAX} file
descriptors are currently open in the calling process.
[Tru64 UNIX] Either the OPEN_MAX value or the perprocess
soft descriptor limit is checked. 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. The system file
table is full. A component of *path does not
exist, or the *path argument points to an empty
string. A component of the *path prefix is not a
directory. The CD-ROM is not in the drive, or a
read error occurred.
Files: cdfs/xcdr.h, sys/cdrom.h
cd_drec(3)
[ Back ] |