 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Bottom of page |
|
cd_defs(3)
NAME
cd_defs - sets or gets default values for the User or Group ID, or for file
or directory permissions
SYNOPSIS
#include <sys/cdrom.h>
int cd_defs(
char *path,
int cmd,
struct cd_defs *defs );
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.
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 CD-ROM 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.
SEE ALSO
Files: cdfs/xcdr.h, sys/cdrom.h
 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Top of page |
|