cd_getdevmap(3) Library Functions Manual cd_getdevmap(3)
NAME
cd_getdevmap - Get 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_getdevmap (path, pathlen, index, new_major, new_minor)
char *path;
int pathlen;
int index;
int *new_major;
int *new_minor;
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.
RETURN VALUES
The cd_getdevmap function will return the length of pathname if the device file is successfully returned (a return value of zero means map-
ping 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.
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
associated with the number. Thus if an application wishes to successively delete all device file mappings, one at a time, it would call
cd_getdevmap() with index equal to 1, and then cd_setdevmap() with CD_UNSETDMAP in a loop until cd_getdevmap() returns zero.
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 signal 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.
RELATED INFORMATION
Commands: cddevsuppl(8)
Functions: cd_setdevmap(3)
Files: <sys/cdrom.h> delim off
cd_getdevmap(3)