Barrelfish
Data Structures | Functions
ipi_notify.h File Reference

Bidirectional IPI signaling channel. More...

Data Structures

struct  ipi_notify
 A bidirectional IPI channel. More...
 

Functions

errval_t ipi_notify_alloc (struct ipi_notify *uc, struct ipi_alloc_continuation cont)
 Initialise a new IPI notify channel. More...
 
errval_t ipi_notify_set (struct ipi_notify *uc, struct capref notify)
 Set remote notify cap. More...
 
void ipi_notify_destroy (struct ipi_notify *uc)
 Destroy the local state associated with a given channel.
 
void ipi_init (void)
 Initialise the IPI channel driver.
 
errval_t ipi_notify_register (struct ipi_notify *uc, struct waitset *ws, struct event_closure closure)
 Register an event handler to be notified when messages can be received. More...
 

Detailed Description

Bidirectional IPI signaling channel.

Function Documentation

errval_t ipi_notify_alloc ( struct ipi_notify uc,
struct ipi_alloc_continuation  cont 
)

Initialise a new IPI notify channel.

Parameters
ucStorage for channel state
errval_t ipi_notify_register ( struct ipi_notify uc,
struct waitset ws,
struct event_closure  closure 
)

Register an event handler to be notified when messages can be received.

In the future, call the closure on the given waitset when it is likely that a message can be received on the channel. A channel may only be registered with a single receive event handler on a single waitset at any one time.

Parameters
ucIPI channel
wsWaitset
closureEvent handler
errval_t ipi_notify_set ( struct ipi_notify rn,
struct capref  notify 
)

Set remote notify cap.

Parameters
notifyCap to notify the remote side.