cd_getdevmap(3)cd_getdevmap(3)NAMEcd_getdevmap - get mappings of major/minor numbers of a file on a Rock
Ridge format CD-ROM
SYNOPSIS
#include <sys/cdrom.h>
int cd_getdevmap(
char *path,
int pathlen,
int index,
int *new_major,
int *new_minor );
LIBRARY
CD-ROM library (libcdrom.so, libcdrom.a)
DESCRIPTION
This function gets 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. The argument index refers
to the number index mapped device file. Mappings can be obtained by
path or index.
If index is zero, this function gets the mapped major and minor numbers
of the device file pointed to by path. The value of the mapped major
number shall be returned in new_major. The value of the mapped minor
number shall be returned in new_minor. The value of pathlen is not
used.
If index is not zero, this function gets the major and minor numbers
and pathname of the mapped device file specified by index. Numbering
for index starts at one. The value of the mapped major number shall be
returned in new_major. The value of the mapped minor number shall be
returned in new_minor. The pathname of the device file shall be
returned in path. If the length of the pathname for the device file is
longer than pathlen, the pathname returned in path will be truncated to
pathlen length and will not be NULL terminated.
RESTRICTIONS
The maximum number of mappings is defined in <sys/cdrom.h>. The device
file mappings for a mounted CD-ROM are undone when the CD-ROM is
unmounted.
The index numbers from 1 to n (where n is the number of the last device
file mapping) are always guaranteed to have a device file mapping asso‐
ciated with the number. Thus, if an application wishes to successively
delete all device file mappings, one at a time, it would call cd_getde‐
vmap() with index equal to 1, and then cd_setdevmap() with CD_UNSETDMAP
in a loop until cd_getdevmap() returns zero.
RETURN VALUES
The cd_getdevmap() function will return the length of the pathname if
the device file is successfully returned; a return value of zero means
mapping not found. Note: If the pathname is truncated, the return value
will be larger than pathlen.
In case of error, -1 is returned and errno is set to indicate the
error.
ERRORS
Search permission is denied for a component of the path prefix or read
permission on the device file pointed to by path is denied. 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. 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 address of path,
new_major, or new_minor is invalid. The value of index or pathlen 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. The CD-ROM is not in the drive or a read error occurred. A sig‐
nal was caught during the cd_getdevmap() function. {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. The system file table is full.
SEE ALSO
Commands: cddevsuppl(8)
Functions: cd_setdevmap(3)
Files: <sys/cdrom.h>
cd_getdevmap(3)