Volume Management Library Functions volmgtsymname(3VOLMGT)
NAME
volmgtsymname, volmgtsymdev - convert between Volume
Management symbolic names, and the devices that correspond
to them
SYNOPSIS
cc [ flag ... ] file ... -lvolmgt [ library ... ]
#include
char *volmgtsymname(char *pathname);
char *volmgtsymdev(char *symname);
DESCRIPTION
This function is obsolete. The management of removable media
by the Volume Management feature, including vold, has been
replaced by software that supports the Hardware Abstraction
Layer (HAL). Programmatic support for HAL is through the HAL
APIs, which are documented on the HAL web site. See hal(5).
The return value of this function is undefined.
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 dev-
ice.
volmgtsymname() converts a supplied /dev pathname to a sym-
name, Volume Management's idea of that device's symbolic
name.
volmgtsymdev() does the opposite conversion, converting
between a symname, Volume Management's idea of a device's
symbolic name for a volume, to the /dev pathname for that
device.
RETURN VALUES
The return from this function is undefined.
ERORS
volmgtsymname() 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:
SunOS 5.11 Last change: 8 Mar 2007 1
Volume Management Library Functions volmgtsymname(3VOLMGT)
ENXIO Volume Management is not running.
EINTR An interrupt signal was detected while trying to
convert the supplied pathname to a symname.
volmgtsymdev() 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 (volmgtsymdev(path) != NUL) {
(void) printf("volume %s is in drive %d\n",
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 = volmgtsymname("/dev/rdsk/c0t6d0s2")) == NUL) {
(void) printf("path not managed\n");
} else {
(void) printf("path managed as %s\n", nm);
}
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 8 Mar 2007 2
Volume Management Library Functions volmgtsymname(3VOLMGT)
ATRIBUTE TYPE ATRIBUTE VALUE
MT-Level MT-Safe
Interface Stability Obsolete
SEE ALSO
cc(1B), open(2), stat(2), free(3C), malloc(3C),
volmgtcheck(3VOLMGT), volmgtinuse(3VOLMGT),
volmgtrunning(3VOLMGT), attributes(5), hal(5)
SunOS 5.11 Last change: 8 Mar 2007 3
|