Content-type: text/html Man page of cd_setdevmap

cd_setdevmap

Section: C Library Functions (3)
Index Return to Main Contents
 

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

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 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. User does not have appropriate privileges to set or unset device file major/minor values. The CD-ROM is not in the drive or a read error occurred. A signal was caught during the cd_setdevmap() function. {OPEN_MAX} file descriptors are currently open in the calling process.

[DIGITAL]  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_getdevmap(3)

Files: <sys/cdrom.h> delim off


 

Index

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUES
RESTRICTIONS
ERRORS
RELATED INFORMATION

This document was created by man2html, using the manual pages.
Time: 02:40:48 GMT, October 02, 2010