 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Bottom of page |
|
cd_setdevmap(3)
NAME
cd_setdevmap - Set mappings of major/minor numbers of a file on a Rock
Ridge format CD-ROM
LIBRARY
CD-ROM library (libcdrom.so, libcdrom.a)
SYNOPSIS
#include <sys/cdrom.h>
int cd_setdevmap (path, cmd, new_major, new_minor)
char *path;
int cmd;
int *new_major;
int *new_minor;
DESCRIPTION
This function sets or unsets (based on cmd) the major and minor numbers of
one device file on a mounted Rock Ridge format CD-ROM. The argument path
points to a file or directory within the CD-ROM file hierarchy.
If cmd is CD_SETDMAP, this function maps the new_major major number and the
new_minor minor number to the device file pointed to by path. The new_major
argument specifies the new major number for the device file. The new_minor
argument specifies the new minor number for the device file. Any device
file mapping for the device file path set with a previous invocation of
cd_setdevmap() is overridden by this invocation of cd_setdevmap().
If cmd is CD_UNSETDMAP, this function unmaps the mapped major and minor
numbers of the device file pointed to by path. The value of the recorded
major number on the CD-ROM shall be returned in new_major. The value of the
recorded minor number on the CD-ROM shall be returned in new_minor.
RETURN VALUES
For CD_SETDMAP, cd_setdevmap will return one if the device file is
successfully mapped (a return value of zero means no more mappings
allowed).
For CD_UNSETDMAP, cd_setdevmap will return one if the device file is
successfully unmapped (a return value of zero means mapping not found).
In case of error, -1 is returned and errno is set to indicate the error.
RESTRICTIONS
The use of cd_setdevmap() is restricted to the superuser. The maximum
number of mappings is defined in <sys/cdrom.h>. Mappings should be
established before affected device files are used. If this function is
applied for device files that have already been opened, the effect of this
function on these files is undefined. The device file mappings for a
mounted CD-ROM are eliminated when the CD-ROM is unmounted.
ERRORS
[EACCESS] Search permission is denied for a component of the path prefix or
read permission on the device file pointed to by path is denied.
[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.
[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.
[EFAULT] The address of path, new_major, or new_minor is invalid.
[EINVAL] The value of cmd is invalid. The argument path points to a file
or directory not within a CD-ROM file hierarchy. The file pointed
to by path is not a device file.
[EPERM] User does not have appropriate privileges to set or unset device
file major/minor values.
[ENXIO] The CD-ROM is not in the drive or a read error occurred.
[EINTR] A signal was caught during the cd_setdevmap() function.
[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.
[ENFILE] The system file table is full.
RELATED INFORMATION
Commands: cddevsuppl(8)
Functions: cd_getdevmap(3)
Files: <sys/cdrom.h>
 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Top of page |
|