Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cd_defs(3) — Tru64 UNIX 5.0a

Media Vault

Software Library

Restoration Projects

Artifacts Sought

cd_defs(3)  —  Subroutines

NAME

cd_defs - Sets or gets default values for the User or Group ID, or for file or directory permissions

LIBRARY

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

SYNOPSIS

#include <sys/cdrom.h> int cd_defs (
char ∗path,
int cmd,
struct cd_defs ∗defs );

PARAMETERS

∗path

Points to a mount-point of a CD-ROM File System. 

cmd

Can be set to either {CD_SETDEFS} to set or {CD_GETDEFS} to get the default values for the UID, GID, or file or directory permissions for the mounted CD-ROM pointed to by ∗path.  The variables {CD_SETDEFS} and {CD_GETDEFS} are defined in cdfs/xcdr.h, an include file that is called into sys/cdrom.h. 

∗defs

Points to the cd_defs structure that holds the default values for the UID, GID, and file or directory permissions for the mounted CD-ROM pointed to by ∗path.  The cd_defs structure is defined in cdfs/xcdr.h, an include file that is called into sys/cdrom.h. 

DESCRIPTION

The cd_defs routine sets or gets the default values for UIDs, GIDs, or file or directory permissions for a mounted CD-ROM. 

RESTRICTIONS

Setting default values is restricted to users with the appropriate privileges.  This function is intended to be used to set default values only directly after the CD-ROM is mounted and before its files and directories are accessed.  Attempting to use this function to set default values 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 ∗defs 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 CDROM File System. 
The value of cmd or values of members of the cd_defs structure are 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. 

RELATED INFORMATION

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

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