OPENDISK(3) BSD Library Functions Manual OPENDISK(3)
opendisk -- open a disk partition
System Utilities Library (libutil, -lutil)
opendisk(const char *path, int flags, char *buf, size_t buflen, int iscooked);
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 resul-
tant 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:
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''.
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.).
An open file descriptor, or -1 if the open(2) failed.
opendisk() may set errno to one of the following values:
[EINVAL] O_CREAT was set in flags, or getrawpartition(3) didn't return a valid
[EFAULT] buf was the NULL pointer.
The opendisk() function may also set errno to any value specified by the open(2) function.
The opendisk() function first appeared in NetBSD 1.3.
BSD December 11, 2001 BSD