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.