cd_pvd(3)cd_pvd(3)NAME
cd_pvd, cd_cpvd - reads the Primary Volume Descriptor from a CD-ROM
SYNOPSIS
#include <sys/cdrom.h>
int cd_pvd(
char *path,
struct iso9660_pvd *pvd ); int cd_cpvd(
char *path,
char *addr );
LIBRARY
Rock Ridge and X/Open Extensions to the CDFS library (libcdrom.so,
libcdrom.a)
PARAMETERS
Points to a pathname that names a file or directory within a CD-ROM
File System hierarchy, or to a block-special file for a CD-ROM File
System. Points to the iso9660_pvd structure that holds the contents of
the Primary Volume Descriptor from the CD-ROM. The iso9660_pvd struc‐
ture is defined in cdfs/xcdr.h, an include file that is called into
sys/cdrom.h Points to the address to which the Primary Volume Descrip‐
tor on the CD-ROM is copied.
DESCRIPTION
The function cd_pvd() fills the *pvd structure with the contents of the
Primary Volume Descriptor from the CD-ROM. To execute this function
successfully, the user must have read or execute permission for the
file or directory pointed to by *path
The function cd_cpvd() copies the complete Primary Volume Descriptor
that is recorded on the CD-ROM to the address pointed to by *addr. The
user must allocate {CD_PVDLEN} bytes for the Primary Volume Descriptor.
The variable {CD_PVDLEN} 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: Search permission is denied for a directory
in *path or read permission is denied for the file, directory, or block
special file pointed to by *path. The address of *path or *pvd 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 named file is a block special file and the CD-
ROM is not recorded according to the ISO 9660 standard. {OPEN_MAX}
file descriptors are currently open in the calling process.
[Tru64 UNIX] Either the OPEN_MAX value or the per-process 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. The named file is a block-special file
and the device associated with the file does not exist.
SEE ALSO
Files: cdfs/xcdr.h, sys/cdrom.h
cd_pvd(3)