Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

cd_getdevmap(3) [osf1 man page]

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)

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