Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cd_type(3) — Tru64 UNIX 5.1b

Media Vault

Software Library

Restoration Projects

Artifacts Sought

cd_type(3)  —  Subroutines

NAME

cd_type − determines the type of file system recorded on a CD-ROM

SYNOPSIS

#include <sys/cdrom.h>
int cd_type(
        char ∗path );

LIBRARY

Rock Ridge and X/Open Extensions to the CDFS library (libcdrom.so, libcdrom.a)

PARAMETERS

∗path
Points to a pathname naming a file or directory within the CD-ROM File System hierarchy, or to a pathname naming the block special file for the CD-ROM File System.

DESCRIPTION

The cd_type() routine determines the type of file system recorded on the CD-ROM pointed to by ∗path. 

RETURN VALUES

If successful, the cd_type() function returns one of the following values, which are defined in cdfs/xcdr.h, an include file that is called into sys/cdrom.h:

{CD_ISO9660} −− CD-ROM is recorded according to ISO 9660. 

{CD_HSG} −− CD-ROM is recorded according to High Sierra Group. 

{CD_RRIP} −− CD-ROM is recorded according to ISO 9660 with the Rock Ridge Extension. 

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 and execute permission are denied for the named file, or read permission is denied on the block special file pointed to by ∗path. 

[EFAULT]
The address of ∗path 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. 

[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 special file does not exist. 

SEE ALSO

Files: cdfs/xcdr.h, sys/cdrom.h

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