 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Bottom of page |
|
cd_pvd(3)
NAME
cd_pvd, cd_cpvd - Reads the Primary Volume Descriptor from a CD-ROM
LIBRARY
Rock Ridge and X/Open Extensions to the CDFS library (libcdrom.so,
libcdrom.a)
SYNOPSIS
#include <sys/cdrom.h>
int cd_pvd (
char *path,
struct iso9660_pvd *pvd );
int cd_cpvd (
char *path,
char *addr );
PARAMETERS
*path
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.
*pvd
Points to the iso9660_pvd structure that holds the contents of the
Primary Volume Descriptor from the CD-ROM. The iso9660_pvd structure
is defined in cdfs/xcdr.h, an include file that is called into
sys/cdrom.h
*addr
Points to the address to which the Primary Volume Descriptor 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:
[EACCES] 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.
[EFAULT] The address of *path or *pvd 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.
The named file is a block special file and the CD-ROM is not
recorded according to the ISO 9660 standard.
[EMFILE] {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.
[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.
The named file is a block-special file and the device associated
with the file does not exist.
RELATED INFORMATION
Files: cdfs/xcdr.h, sys/cdrom.h.
 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Top of page |
|