Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

media_getid(3volmgt) [sunos man page]

media_getid(3VOLMGT)					Volume Management Library Functions				      media_getid(3VOLMGT)

NAME
media_getid - return the id of a piece of media SYNOPSIS
cc [flag ...] file ...-lvolgmt [library ...] #include <volmgt.h> ulonglong_t media_getid(char *vol_path); DESCRIPTION
media_getid() returns the id of a piece of media. Volume Management must be running. See volmgt_running(3VOLMGT). PARAMETERS
vol_path Path to the block or character special device. RETURN VALUES
media_getid() returns the id of the volume. This value is unique for each volume. If media_getid() returns 0, the path provided is not valid, for example, it is a block or char device. EXAMPLES
Example 1: Using media_getid() The following example first checks if Volume Management is running, then checks the volume management name space for path, and then returns the id for the piece of media. char *path; ... if (volmgt_running()) { if (volmgt_ownspath(path)) { (void) printf("id of %s is %lld ", path, media_getid(path)); } } If a program using media_getid() does not check whether or not Volume Management is running, then any NULL return value will be ambiguous, as it could mean that either Volume Management does not have path in its name space, or Volume Management is not running. ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |MT Level |Safe | +-----------------------------+-----------------------------+ |Commitment Level |Public | +-----------------------------+-----------------------------+ SEE ALSO
volmgt_ownspath(3VOLMGT),volmgt_running(3VOLMGT),attributes(5) SunOS 5.10 29 Apr1998 media_getid(3VOLMGT)

Check Out this Related Man Page

volmgt_symname(3VOLMGT) 				Volume Management Library Functions				   volmgt_symname(3VOLMGT)

NAME
volmgt_symname, volmgt_symdev - convert between Volume Management symbolic names, and the devices that correspond to them SYNOPSIS
cc [ flag ... ] file ... -lvolmgt [ library ... ] #include <volmgt.h> char *volmgt_symname(char *pathname); char *volmgt_symdev(char *symname); DESCRIPTION
These two routines compliment each other, translating between Volume Management's symbolic name for a device, called a symname, and the /dev pathname for that same device. volmgt_symname() converts a supplied /dev pathname to a symname, Volume Management's idea of that device's symbolic name (see volfs(7FS) for a description of Volume Management symbolic names). volmgt_symdev() does the opposite conversion, converting between a symname, Volume Management's idea of a device's symbolic name for a vol- ume, to the /dev pathname for that device. RETURN VALUES
volmgt_symname() returns the symbolic name for the device pathname supplied, and volmgt_symdev() returns the device pathname for the sup- plied symbolic name. These strings are allocated upon success, and therefore must be freed by the caller when they are no longer needed (see free(3C)). ERRORS
volmgt_symname() can fail, returning a null string pointer, if a stat(2) of the supplied pathname fails, or if an open(2) of /dev/volctl fails, or if any of the following is true: ENXIO Volume Management is not running. EINTR An interrupt signal was detected while trying to convert the supplied pathname to a symname. volmgt_symdev() can fail if an open(2) of /dev/volctl fails, or if any of the following is true: ENXIO Volume Management is not running. EINTR An interrupt signal was detected while trying to convert the supplied symname to a /dev pathname. EXAMPLES
Example 1: Testing Floppies The following tests how many floppies Volume Management currently sees in floppy drives (up to 10): for (i=0; i < 10; i++) { (void) sprintf(path, "floppy%d", i); if (volmgt_symdev(path) != NULL) { (void) printf("volume %s is in drive %d ", path, i); } } Example 2: Finding The Symbolic Name This code finds out what symbolic name (if any) Volume Management has for /dev/rdsk/c0t6d0s2: if ((nm = volmgt_symname("/dev/rdsk/c0t6d0s2")) == NULL) { (void) printf("path not managed "); } else { (void) printf("path managed as %s ", nm); } ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |MT-Level |MT-Safe | +-----------------------------+-----------------------------+ SEE ALSO
cc(1B), vold(1M), open(2), stat(2), free(3C), malloc(3C), volmgt_check(3VOLMGT), volmgt_inuse(3VOLMGT), volmgt_running(3VOLMGT), attributes(5), volfs(7FS) NOTES
These routines only work when Volume Management is running. BUGS
There should be a straightforward way to query Volume Management for a list of all media types it's managing, and how many of each type are being managed. SunOS 5.10 31 Dec 1996 volmgt_symname(3VOLMGT)
Man Page