cd_defs - sets or gets default values for the User or
Group ID, or for file or directory permissions
#include <sys/cdrom.h>
int cd_defs(
char *path,
int cmd,
struct cd_defs *defs );
Rock Ridge and X/Open Extensions to the CDFS library
(libcdrom.so, libcdrom.a)
Points to a mount point of a CD-ROM File System. 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. 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.
The cd_defs() routine sets or gets the default values for
UIDs, GIDs, or file or directory permissions for a mounted
CD-ROM.
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.
If successful, the value zero is returned. If unsuccessful,
the integer -1 is returned and errno is set to indicate
the error.
The function will fail if: Search permission is denied for
a directory in *path or read permission is denied on the
mount-point. The address of *defs or *path is invalid. A
signal was caught during execution of the function. The
argument *path does not point to a mount-point of a CD-ROM
File System. The value of cmd or values of members of the
cd_defs structure are invalid. {OPEN_MAX} file descriptors
are currently open in the calling process.
[Tru64 UNIX] Either the OPEN_MAX value or the perprocess
soft descriptor limit is checked. 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. The system file
table is full. A component of *path does not
exist, or the *path argument points to an empty
string. A component of the *path prefix is not a
directory. The user does not have the appropriate
privileges to set values.
Files: cdfs/xcdr.h, sys/cdrom.h
cd_defs(3)
[ Back ] |