Documentation ¶
Overview ¶
Package fs provides access to the file system on the host.
It exposes ioctl syscall and epoll in an OS agnostic way and permits completely disabling file access to lock down unit tests.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IOR ¶
IOR defines an ioctl with read (userland perspective) parameters. It corresponds to _IOR in the Linux userland API.
func IOW ¶
IOW defines an ioctl with write (userland perspective) parameters. It corresponds to _IOW in the Linux userland API.
Types ¶
type Event ¶
type Event struct {
// contains filtered or unexported fields
}
Event is a file system event.
func (*Event) MakeEvent ¶
MakeEvent initializes an epoll *edge* triggered event on linux.
An edge triggered event is basically an "auto-reset" event, where waiting on the edge resets it. A level triggered event requires manual resetting; this could be done via a Read() call but there's no need to require the user to call Read(). This is particularly useless in the case of gpio.RisingEdge and gpio.FallingEdge.
As per the official doc, edge triggers is still remembered even when no epoll_wait() call is running, so no edge is missed. Two edges will be coallesced into one if the user mode process can't keep up. There's no accumulation of edges.
type File ¶
File is a superset of os.File.
type Ioctler ¶
type Ioctler interface { // Ioctl sends a linux ioctl on the file handle. // // op is effectively an uint32. op is expected to be encoded in the format on // x64. ARM happens to share the same format. Ioctl(op uint, data uintptr) error }
Ioctler is a file handle that supports ioctl calls.