Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
cc [ flag ... ] file ... -lvolmgt [ library ... ] #include <volmgt.h> int volmgt_release(char *dev);
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.
The volmgt_release() routine releases the removable media device reservation specified as dev. See volmgt_acquire(3VOLMGT) for a description of dev.
If dev is reserved by the caller, volmgt_release() updates the internal device reservation database to indicate that the device is no longer reserved. If the requested device is reserved by another process, the release attempt fails and errno is set to 0.
The return from this function is undefined.
On failure, volmgt_release() returns 0, and sets errno for one of the following conditions:
EINVAL
dev was invalid or missing.
EBUSY
dev was not reserved by the caller.
Example 1 Using volmgt_release()
In the following example, volume management is running, and the first floppy drive is reserved, accessed and released.
#include <volmgt.h> char *errp; if (!volmgt_acquire("floppy0", "FileMgr", 0, &errp, NULL)) { /* handle error case */ .\|.\|. } /* floppy acquired - now access it */ if (!volmgt_release("floppy0")) { /* handle error case */ .\|.\|. }
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
MT-Level | MT-Safe |
Interface Stability | Obsolete |
volmgt_acquire(3VOLMGT), attributes(5), hal(5)