Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cd_pvd(3) — OSF/1 3.0 αXP

Media Vault

Software Library

Restoration Projects

Artifacts Sought

cd_pvd(3)  —  Subroutines

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.

[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. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026