cd_pvd(3X)
cd_pvd, cd_cpvd --
read CD-ROM Primary Volume Descriptor (PVD)
Synopsis
cc [flag . . . ] file . . . -lcdfs -lgen [library] . . .
#include <sys/cdrom.h>
int cd_pvd(const char *path, struct iso9660_pvd *pvd);
int cd_cpvd(const char *path, char *pvd);
Description
cd_cpvd fills the pvd structure with the contents
of the Primary Volume Descriptor associated with a file or
directory referred to by path.
The PVD contains information that the manufacturer
recorded on the CD-ROM disk, such as the location of the
root directory, the block size, volume name
and expiration date.
Allocate CD_PVDLEN bytes for the PVD.
To read the PVD, you need read
or execute permission for path.
- path
-
File or directory within the CD-ROM file system, or block special
file containing the CD-ROM file system.
- pvd
-
Pointer to the structure or character array where
the Primary Volume Descriptor is to be copied.
The character array must contain at least CD_PVDLEN bytes.
Return values
On success, cd_pvd returns a value of zero.
On failure, cd_pvd returns a value of -1 and sets
errno is set to identify the error as follows:
- EACCES
-
Search permission is denied on a component of path,
or read permission is denied on the file,
directory, or block special file that is pointed to by path.
- EFAULT
-
Invalid address of pvd or path.
- EINTR
-
A signal was caught during the execution of the
one of the functions.
- EINVAL
-
path is a block special file and the CD-ROM is not recorded
according to the ISO-9660 standard.
- EINVAL
-
path points to a file or directory that is outside the
CD-ROM file system.
- EMFILE
-
The maximum number of file descriptors are open.
- ENAMETOOLONG
-
The size of path exceeds MAXPATHLEN,
or the component of a path name is longer than
MAXNAMELEN while _POSIX_NO_TRUNC is in effect.
- ENFILE
-
The system file table is full.
- ENOENT
-
path does not exist or the path argument points
to an empty string.
- ENOTDIR
-
A component of path is not a directory.
- ENXIO
-
path is a block special
file and the device associated with the special file does not exist.
- ENXIO
-
The CD-ROM is not in the drive, or a read error occurred.
References
cdvd(1M)
30 January 1998
© 1998 The Santa Cruz Operation, Inc. All rights reserved.