xref: /illumos-gate/usr/src/man/man3volmgt/volmgt_release.3volmgt (revision 2bbdd445a21f9d61f4a0ca0faf05d5ceb2bd91f3)
te
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]
VOLMGT_RELEASE 3VOLMGT "Mar 8, 2007"
NAME
volmgt_release - release removable media device reservation
SYNOPSIS

cc [ flag ... ] file ... -lvolmgt [ library ... ]
#include <volmgt.h>



int volmgt_release(char *dev);
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.

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.

RETURN VALUES

The return from this function is undefined.

ERRORS

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.

EXAMPLES

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 */
 .\|.\|.
}
ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
MT-Level MT-Safe
Interface Stability Obsolete
SEE ALSO

volmgt_acquire(3VOLMGT), attributes(5), hal(5)