#ifndef __EVENTS_INTERNAL_H__
#define __EVENTS_INTERNAL_H__
struct evtchn_loop_ctrl;
struct evtchn_ops { … };
extern const struct evtchn_ops *evtchn_ops;
void handle_irq_for_port(evtchn_port_t port, struct evtchn_loop_ctrl *ctrl);
unsigned int cpu_from_evtchn(evtchn_port_t evtchn);
static inline unsigned xen_evtchn_max_channels(void)
{ … }
static inline int xen_evtchn_port_setup(evtchn_port_t evtchn)
{ … }
static inline void xen_evtchn_port_remove(evtchn_port_t evtchn,
unsigned int cpu)
{ … }
static inline void xen_evtchn_port_bind_to_cpu(evtchn_port_t evtchn,
unsigned int cpu,
unsigned int old_cpu)
{ … }
static inline void clear_evtchn(evtchn_port_t port)
{ … }
static inline void set_evtchn(evtchn_port_t port)
{ … }
static inline bool test_evtchn(evtchn_port_t port)
{ … }
static inline void mask_evtchn(evtchn_port_t port)
{ … }
static inline void unmask_evtchn(evtchn_port_t port)
{ … }
static inline void xen_evtchn_handle_events(unsigned cpu,
struct evtchn_loop_ctrl *ctrl)
{ … }
static inline void xen_evtchn_resume(void)
{ … }
void xen_evtchn_2l_init(void);
int xen_evtchn_fifo_init(void);
#endif