OPENDISK(3) | Library Functions Manual | OPENDISK(3) |
opendisk
, opendisk1
—
#include <util.h>
int
opendisk
(const char *path,
int flags, char *buf,
size_t buflen, int
iscooked);
int
opendisk1
(const char *path,
int flags, char *buf,
size_t buflen, int iscooked,
int (*ofn)(const char *, int, ...)));
opendisk
() opens path, for reading
and/or writing as specified by the argument flags using
open(2), and the file descriptor
is returned to the caller. buf is used to store the
resultant filename. buflen is the size, in bytes, of the
array referenced by buf (usually
MAXPATHLEN
bytes). iscooked
controls which paths in /dev are tried.
opendisk
() attempts to open the following
variations of path, in order:
If path does not contain a slash (“/”), the following variations are attempted:
If the above fails, then the original path is tried using the following two variations:
opendisk1
() is identical to
opendisk
() except uses the supplied
ofn function instead of
open(2). This function must be
compatible with open(2) in the
parameters it takes, the value it returns, and way that errors are
indicated.
opendisk
() and opendisk1
() may
set errno to one of the following values:
EFAULT
]NULL
pointer.EINVAL
]O_CREAT
was set in flags, or
getrawpartition(3)
didn't return a valid partition.The opendisk
() function may also set
errno to any value specified by the
open(2) function.
The opendisk1
() function may also set
errno to any value set by the
ofn function.
opendisk
() function first appeared in
NetBSD 1.3.
The opendisk1
() function first appeared in
NetBSD 6.0, and was documented in
NetBSD 8.0.
The lookup order of opendisk
() was changed
in NetBSD 7.1 to first look in
/dev in order to avoid opening random files in the
current working directory.
April 4, 2018 | NetBSD 9.2 |