I would appreciate any donations. Wishlist or send e-mail type donations to maekawa AT daemon-systems.org.
OPENDISK(3) Library Functions Manual OPENDISK(3) NAME opendisk - open a disk partition LIBRARY System Utilities Library (libutil, -lutil) SYNOPSIS #include <util.h> int opendisk(const char *path, int flags, char *buf, size_t buflen, int iscooked); DESCRIPTION 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 iscooked is zero: /dev/rpath path with a prefix of "/dev/r". /dev/rpathX path with a prefix of "/dev/r" and a suffix of `X' (q.v.). - If iscooked is non-zero: /dev/path path with a prefix of "/dev/". /dev/pathX path with a prefix of "/dev/" and a suffix of `X' (q.v.). If the above fails, then the original path is tried using the following two variations: - The iscooked value is ignored: path The pathname as given. pathX path with a suffix of `X', where `X' represents the raw partition of the device, as determined by getrawpartition(3), usually "c". RETURN VALUES An open file descriptor, or -1 if the open(2) failed. ERRORS opendisk() may set errno to one of the following values: [EFAULT] buf was the 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. SEE ALSO open(2), getrawpartition(3) HISTORY The opendisk() function first appeared in NetBSD 1.3. 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. NetBSD 8.0 June 6, 2016 NetBSD 8.0