'\" te
.\"  Copyright 1989 AT&T  Copyright (c) 1997 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]
.TH DEVRESERV 1M "Jul 5, 1990"
.SH NAME
devreserv \- reserve devices for exclusive use
.SH SYNOPSIS
.LP
.nf
\fBdevreserv\fR [\fIkey\fR [\fIdevice-list\fR]...]
.fi

.SH DESCRIPTION
.sp
.LP
\fBdevreserv\fR reserves devices for exclusive use. When the device is no
longer required, use  \fBdevfree\fR to release it.
.sp
.LP
\fBdevreserv\fR reserves at most one device per  \fIdevice-list\fR. Each list
is searched in linear order until the first available device is found. If a
device cannot be reserved from each list, the entire reservation fails.
.sp
.LP
When  \fBdevreserv\fR is invoked without arguments, it lists the devices that
are currently reserved and shows to which key it was reserved. When
\fBdevreserv\fR is invoked with only the  \fIkey\fR argument, it lists the
devices that are currently reserved to that key.
.SH OPERANDS
.sp
.LP
The following operands are supported:
.sp
.ne 2
.na
\fB\fIdevice-list\fR\fR
.ad
.RS 15n
Defines a list of devices that \fBdevreserv\fR will search to find an available
device. The list must be formatted as a single argument to the shell.
.RE

.sp
.ne 2
.na
\fB\fIkey\fR\fR
.ad
.RS 15n
Designates a unique key on which the device will be reserved. The key must be a
positive integer.
.RE

.SH EXAMPLES
.LP
\fBExample 1 \fRReserving a Floppy Disk and a Cartridge Tape
.sp
.LP
The following example reserves a floppy disk and a cartridge tape:

.sp
.in +2
.nf
$ key=$$
$ echo "The current Process ID is equal to: $key"
  The Current Process ID is equal to: 10658
$ devreserv $key diskette1 ctape1
.fi
.in -2
.sp

.LP
\fBExample 2 \fRListing All Devices Currently Reserved
.sp
.LP
The following example lists all devices currently reserved:

.sp
.in +2
.nf
$ devreserv
  disk1         2423
  diskette1     10658
  ctape1        10658
.fi
.in -2
.sp

.LP
\fBExample 3 \fRListing All Devices Currently Reserved to a Particular Key
.sp
.LP
The following example lists all devices currently reserved to a particular key:

.sp
.in +2
.nf
$ devreserv $key
  diskette1
  ctape1
.fi
.in -2
.sp

.SH EXIT STATUS
.sp
.LP
The following exit values are returned:
.sp
.ne 2
.na
\fB\fB0\fR\fR
.ad
.RS 5n
Successful completion.
.RE

.sp
.ne 2
.na
\fB\fB1\fR\fR
.ad
.RS 5n
Command syntax was incorrect, an invalid was option used, or an internal error
occurred.
.RE

.sp
.ne 2
.na
\fB\fB2\fR\fR
.ad
.RS 5n
Device table or device reservation table could not be opened for reading.
.RE

.sp
.ne 2
.na
\fB\fB3\fR\fR
.ad
.RS 5n
Device reservation request could not be fulfilled.
.RE

.SH FILES
.sp
.ne 2
.na
\fB\fB/etc/device.tab\fR\fR
.ad
.RS 19n

.RE

.sp
.ne 2
.na
\fB\fB/etc/devlkfile\fR\fR
.ad
.RS 19n

.RE

.SH SEE ALSO
.sp
.LP
\fBdevfree\fR(1M), \fBattributes\fR(5)
.SH NOTES
.sp
.LP
The commands \fBdevreserv\fR and \fBdevfree\fR are used to manage the
availability of devices on a system. Their use is  on a participatory basis and
they do not place any  constraints on the actual access to the device. They
serve as a centralized bookkeeping point for those who wish to use them.
Devices which have been reserved  cannot be used by processes which utilize the
device reservation functions until the reservation has been canceled. However,
processes that do not use device reservation may use a device that has been
reserved since such a process would not have checked for its reservation
status.