---
name: "opendev"
section: "3"
platform: "macos"
package: "Libc"
version: "1752.120.2"
release: "macOS 26.5"
platforms: ["macos"]
url: "https://new.carta.tech/opendev"
---

# opendev(3)

short form device open routine

## NAME

**opendev** – short form device open routine

## SYNOPSIS

**#include \<util.h\>**

*int*\

**opendev**(*char \*path*, *int oflags*, *int dflags*, *char \*\*realpath*);

## DESCRIPTION

The **opendev**() function opens a device using the “short form” name. This is typically “disk0s3”, for instance, which will be expanded to */dev/rdisk0s3* on most architectures.

Device name lookup is done by first checking *path* for a “/” and if one is found attempting to open that file. Otherwise */dev* is searched for a matching device.

The *oflags* are the same as the *flags* passed to [open(2)](/open/2.md).

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)
```

The “raw” partition is defined as the partition which provides access to the entire disk, regardless of the disk's partition map.

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)](/open/2.md).

## WARNINGS

If *realpath* is not NULL, on return it will point to internal static storage space that will be overwritten by subsequent calls.

## SEE ALSO

[open(2)](/open/2.md)

## HISTORY

The **opendev**() function first appeared in OpenBSD 1.2.
