Module Eventchn

Event channels interface.

type handle

An initialised event channel interface.

type t

A local event channel.

val to_int : t ‑> int

to_int evtchn is the port number of evtchn.

val of_int : int ‑> t

of_int n is the nth event channel.

val init : unit ‑> handle

Return an initialised event channel interface. On error it will throw a Failure exception.

val close : handle ‑> int

Close an event channel interface and return the status code.

val notify : handle ‑> t ‑> unit

Notify the given event channel. On error it will throw a Failure exception.

val bind_interdomain : handle ‑> int ‑> int ‑> t

bind_interdomain h domid remote_port returns a local event channel connected to domid:remote_port. On error it will throw a Failure exception.

val bind_unbound_port : handle ‑> int ‑> t

bind_unbound_port h remote_domid returns a new event channel awaiting an interdomain connection from remote_domid. On error it will throw a Failure exception.

val bind_dom_exc_virq : handle ‑> t

Binds a local event channel to the VIRQ_DOM_EXC (domain exception VIRQ). On error it will throw a Failure exception.

val unbind : handle ‑> t ‑> unit

Unbinds the given event channel. On error it will throw a Failure exception.

val unmask : handle ‑> t ‑> unit

Unmasks the given event channel. On error it will throw a Failure exception.

val is_valid : t ‑> bool

is_valid c is true if t is bound. Bindings are invalidated after a domain resume.