File interface

A companion core usually wants its device drivers to export a file interface to applications. It may even generalize this to all of the resources it provides, which can then be implemented by device drivers and referred to by common file descriptors from applications. To this end, Dovetail enables safe out-of-band access to the regular fget()/fput() interface for performing file lookups.

In addition, the file description structure maintained by the VFS (struct file) contains an opaque pointer named f_oob_ctx, which may be used freely for keeping any information related to out-of-band handling. The f_oob_ctx member comes in handy as a way for the companion core to figure out whether a given file (struct) supports out-of-band requests. If non-NULL, it may assume some out-of-band capable driver set it for such a file when opening its device.

As an example, the EVL core uses these Dovetail features for implementing its own interface to out-of-band file operations such as oob_ioctl(), oob_read() and oob_write().


Last modified: Fri, 02 Jan 2026 11:16:45 +0100