Loading...
--- /dev/null
+++ Libc/Libc-320/util/opendev.3
@@ -0,0 +1,104 @@
+.\" $OpenBSD: opendev.3,v 1.15 2002/05/01 08:03:30 mpech Exp $
+.\"
+.\" Copyright (c) 2000, Todd C. Miller. All rights reserved.
+.\" Copyright (c) 1996, Jason Downs. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
+.\" OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+.\" DISCLAIMED. IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT,
+.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.Dd December 12, 2002
+.Dt OPENDEV 3
+.Os
+.Sh NAME
+.Nm opendev
+.Nd short form device open routine
+.Sh SYNOPSIS
+.Fd #include <util.h>
+.Ft int
+.Fn opendev "char *path" "int oflags" "int dflags" "char **realpath"
+.Sh DESCRIPTION
+The
+.Fn opendev
+function opens a device using the
+.Dq short form
+name.
+This is typically
+.Dq disk0s3 ,
+for instance, which will be expanded to
+.Pa /dev/rdisk0s3
+on most architectures.
+.Pp
+Device name lookup is done by first checking
+.Fa path
+for a
+.Dq /
+and if one is found attempting to open that file.
+Otherwise
+.Fa /dev
+is searched for a matching device.
+.Pp
+The
+.Fa oflags
+are the same as the
+.Fa flags
+passed to
+.Xr open 2 .
+.Pp
+The
+.Fa dflags
+are specified by
+.Tn OR Ns 'ing
+the following values:
+.Pp
+.Bd -literal -offset indent -compact
+OPENDEV_PART attempt to open the raw partition during expansion
+OPENDEV_BLCK open the block device (default is character device)
+.Ed
+.Pp
+The
+.Dq raw
+partition is defined as the partition which provides access to the entire
+disk, regardless of the disk's partition map.
+.Pp
+If
+.Fa realpath
+is not
+.Dv NULL ,
+it is modified to point at the fully expanded device name.
+.Sh RETURN VALUES
+The
+.Fn opendev
+return value and errors are the same as the return value and errors of
+.Xr open 2 .
+.Sh WARNINGS
+If
+.Fa realpath
+is not
+.Dv NULL ,
+on return it will point to internal
+static storage space that will be overwritten by subsequent calls.
+.Sh SEE ALSO
+.Xr open 2
+.Sh HISTORY
+The
+.Fn opendev
+function first appeared in
+.Ox 1.2 .