NAME
opendev
—
short form device open
routine
SYNOPSIS
#include
<util.h>
int
opendev
(const
char *path, int
oflags, int dflags,
char **realpath);
DESCRIPTION
The
opendev
()
function opens a device using a “short form” name or
disklabel(8) UID (DUID). For instance “sd0” or
“sd0c” will be expanded to /dev/rsd0c
on most architectures.
Device name lookup is done by first checking path for a ‘/’ and if one is found attempting to open that file. If not, path is checked to see if it is a valid DUID. If it is, the corresponding device is obtained via diskmap(4). If path has no ‘/’ and is not a DUID, /dev is searched for a matching device.
The oflags are the same as the flags passed to open(2).
The dflags are specified by OR'ing the following values:
OPENDEV_PART attempt to open the raw partition during expansion OPENDEV_BLCK open the block device (default is character device)
If realpath is not
NULL
, it is modified to point at the fully expanded
device name.
RETURN VALUES
The opendev
() return value and errors are
the same as the return value and errors of
open(2).
SEE ALSO
HISTORY
The opendev
() function first appeared in
OpenBSD 1.2.
CAVEATS
If realpath is not
NULL
, on return it will point to internal static
storage space that will be overwritten by subsequent calls.