Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

cd_setdevmap(3) [osf1 man page]

cd_setdevmap(3) 					     Library Functions Manual						   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 argu- ment 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 invo- cation 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_setde- vmap() 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_getdevmap(3) Files: <sys/cdrom.h> delim off cd_setdevmap(3)

Check Out this Related Man Page

cddevsuppl(8)						      System Manager's Manual						     cddevsuppl(8)

NAME
cddevsuppl - Sets and gets the major and minor numbers of a device file on a Rock Ridge format CD-ROM SYNOPSIS
/usr/sbin/cddevsuppl -m mapfile [-c] /usr/sbin/cddevsuppl -u unmapfile [-c] /usr/sbin/cddevsuppl [-c] OPTIONS
Directs cddevsuppl to continue processing the device file mappings if an error is returned for a specific device file mapping. An error message for that specific device file will be printed to standard error. The default action is to stop processing when an error has occurred. This option is useful only when used in combination with the -m mapfile or -u unmapfile options. Maps the major and minor num- bers for device files. The mappings are specified in mapfile. This text file has one entry for each device file mapping in the format: device_file_path new_major new_minor The device_file_path field is the full pathname of the file on the CD-ROM, and the new_major and new_minor fields are integers. The fields are separated by white space. The entries are separated by newlines. Anything beyond the third field is ignored. The follow- ing is an example of mapfile: /mnt/dev/ttys4 8 2050 /mnt/dev/zero 38 0 The maximum number of mappings for a Rock Ridge compact disk is defined in the header file <sys/cdrom.h>. If a device file is mapped again, the previous device file mapping for the device file is overridden. Unmaps the major and minor numbers for device files. The mappings are specified in unmapfile. This text file has one entry for each device file mapping in the format: device_file_path The device_file_path field is the full pathname of the file on the CD-ROM. The entries are separated by newlines. Anything beyond the first field is ignored. The following is an example of mapfile: /mnt/dev/zero DESCRIPTION
The cddevsuppl command is used to map and unmap the major and minor numbers of a device file on a mounted Rock Ridge format CD-ROM. The -m mapfile option maps the major and minor number of device files and displays the new setting, if the mapping is successful. This option is used to add new mappings or to change existing mappings, in case the major and minor numbers of the device files are incorrect. The -u unmapfile option removes the existing mappings for files specified in unmapfile and displays the device file and the major/minor numbers as recorded on the CD-ROM. If no options are used, the cddevsuppl command displays the existing device file mappings. If the mapping table is empty, nothing is dis- played. Note: The mapping table is cleared after a mount or umount command. If you want to open a device file on a CD-ROM, the dev option must be specified in the mount command. See mount(8) for more information. RESTRICTIONS
Only the superuser can change administrative CD-ROM features successfully. To read the current device file mappings, the user must have read permission on the device file. Mappings should be established before affected device files are used. If the command is applied for device file mappings when device files have already been opened, the effect of this command on these files is undefined. Only existing devices files on the CD-ROM can be mapped. These files are indicated by the mode: b (block special file) or c (character spe- cial file). Use the ls -l command to display the file modes.. If you access device files on a CD-ROM that are mapped to inappropriate major and minor numbers, undefined results can occur. The device file mappings for a mounted CD-ROM are eliminated when the CD-ROM is unmounted. The cddevsuppl(8) command is not supported in a TruCluster Server environment. EXIT STATUS
The following exit values are returned: Successful completion. File not found, file is not a file or directory within a CD-ROM file hier- archy, or access denied. Not user with appropriate privileges. Too many mappings. Parameter error or bad format in a mapping file. File is not a device file. File not previously mapped. EXAMPLES
The following example shows the output of the cddevsuppl command when no CD-ROM is mounted and no files are mapped: # cddevsuppl # The fol- lowing example shows the output of the cddevsuppl command after a CD-ROM file system has been mounted: # /usr/sbin/mount -t cdfs -o nover- sion,rrip,dev /dev/disk/cdrom0c /mnt # cddevsuppl # The following example maps the major and minor numbers of files mounted in the previous example and specified in mapfile. Note: If you want, you can issue an ls -l command before and after the cddevsuppl command to verify that the major and minor numbers have changed. # cddevsuppl -m /tmp/mapfile /mnt/dev/ttys4: (8,2050) /mnt/dev/zero: (38,0) The following exam- ple unmaps the major and minor numbers of the file specified in unmapfile file and shows the result of the subsequent cddevsuppl command: # cddevsuppl -u /tmp/unmapfile /mnt/dev/zero: (1,5) # cddevsuppl /mnt/dev/ttys4: (8,2050) The following example unmounts the /mnt file system and shows the output of the subsequent cddevsuppl command: # umount /mnt # cddevsuppl # SEE ALSO
Commands: mount(8) Files: cdfs(4) Functions: cd_setdevmap(3), cd_getdevmap(3) cddevsuppl(8)
Man Page