Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cd_nmconv(3) — Tru64 UNIX 5.1b

Media Vault

Software Library

Restoration Projects

Artifacts Sought

cd_nmconv(3)  —  Subroutines

NAME

cd_nmconv − sets or gets CD-ROM file name conversions

SYNOPSIS

#include <sys/cdrom.h>
int cd_nmconv(
        char ∗path,
        int cmd,
        int ∗flag );

LIBRARY

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

PARAMETERS

∗path
Points to a mount point of a CD-ROM file system.

cmdCan be set to either {CD_SETNMCONV} to set or {CD_GETNMCONV} to get the name conversion for file names on a mounted CD-ROM. 

∗flag
Used in conjunction with cmd, and can be one of the following:

{CD_NOCONV}

No conversion. This is the default when the CD-ROM is first mounted. 

{CD_LOWER}

File or directory names on the CD-ROM File System are converted to lowercase when represented in the XSI file hierarchy. In addition, if a file or directory name contains no File Name Extension, SEPARATOR 1, a dot (.), is not represented in the XSI file hierarchy. 

{CD_NOVERSION}

The version number and SEPARATOR 2, a semicolon (;), of a file or directory name on the CD-ROM File System are not represented in the XSI file hierarchy. 

Note that {CD_LOWER} and {CD_NOVERSION} may be bitwise-inclusive ORed. 

DESCRIPTION

The cd_nmconv() routine sets of gets the name conversion ∗flag for file names on a mounted CD-ROM. 

RESTRICTIONS

Setting a file name conversion is restricted to users with the appropriate privileges. This function is intended to be used to set a file name conversion only directly after the CD-ROM is mounted and before its files and directories are accessed. Attempting to use this function to set a file name conversion after files or directories on the CD-ROM have been accessed may produce unpredictable results. 

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 on the mount-point. 

[EFAULT]
The address of ∗flag or ∗path is invalid. 

[EINTR]
A signal was caught during execution of the function.

[EINVAL]
The argument ∗path does not point to a mount point of a CD-ROM File System. The value of cmd or ∗flag is invalid. 

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

[EPERM]
The user does not have the appropriate privileges to set values.

SEE ALSO

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

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