xenbus_device
int (*xbakd_create) (struct xenbus_device *); /* called for new devs */
int xenbus_free_device(struct xenbus_device *);
int xenbus_watch_path2(struct xenbus_device *dev, const char *path,
int xenbus_switch_state(struct xenbus_device *dev,
int xenbus_grant_ring(struct xenbus_device *, paddr_t, grant_ref_t *);
int xenbus_alloc_evtchn(struct xenbus_device *dev, int *port);
void xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt,
void xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt,
bool xenbus_device_suspend(struct xenbus_device *);
bool xenbus_device_resume(struct xenbus_device *);
struct xenbus_device *xa_xbusd;
struct xenbus_device *xbw_dev;
SLIST_ENTRY(xenbus_device) xbusd_entries;
struct xenbus_device *sc_xbusd;
static int pciback_xenbus_create(struct xenbus_device *);
struct xenbus_device *pbx_xbusd;
pciback_xenbus_create(struct xenbus_device *xbusd)
struct xenbus_device *xbusd = pbxi->pbx_xbusd;
struct xenbus_device *sc_xbusd;
struct xenbus_device *xbdi_xbusd; /* our xenstore entry */
static int xbdback_xenbus_create(struct xenbus_device *);
xbdback_xenbus_create(struct xenbus_device *xbusd)
struct xenbus_device *xbusd = xbdi->xbdi_xbusd;
struct xenbus_device *xbusd = xbdi->xbdi_xbusd;
struct xenbus_device *xbusd = watch->xbw_dev;
struct xenbus_device *xni_xbusd; /* our xenstore entry */
static int xennetback_xenbus_create(struct xenbus_device *);
xennetback_xenbus_create(struct xenbus_device *xbusd)
struct xenbus_device *xbusd = xneti->xni_xbusd;
struct xenbus_device *xbusd = xneti->xni_xbusd;
struct xenbus_device *sc_xbusd;
error_path(struct xenbus_device *dev, size_t *len)
_dev_error(struct xenbus_device *dev, int err, const char *fmt,
xenbus_dev_error(struct xenbus_device *dev, int err, const char *fmt,
xenbus_dev_fatal(struct xenbus_device *dev, int err, const char *fmt,
xenbus_grant_ring(struct xenbus_device *dev, paddr_t ring_pa,
xenbus_alloc_evtchn(struct xenbus_device *dev, int *port)
xenbus_watch_path2(struct xenbus_device *dev, const char *path,
xenbus_switch_state(struct xenbus_device *dev,
xenbus_device_suspend(struct xenbus_device *dev) {
xenbus_device_resume(struct xenbus_device *dev) {
read_otherend_details(struct xenbus_device *xendev,
read_backend_details(struct xenbus_device *xendev)
read_frontend_details(struct xenbus_device *xendev)
free_otherend_details(struct xenbus_device *dev)
free_otherend_watch(struct xenbus_device *dev)
struct xenbus_device *xdev = watch->xbw_dev;
watch_otherend(struct xenbus_device *dev)
static struct xenbus_device *
struct xenbus_device *xbusd;
int (*create)(struct xenbus_device *))
struct xenbus_device *xbusd;
xenbus_free_device(struct xenbus_device *xbusd)
SLIST_REMOVE(&xenbus_device_list, xbusd, xenbus_device, xbusd_entries);
static int read_otherend_details(struct xenbus_device *,
static int read_backend_details (struct xenbus_device *);
static int read_frontend_details(struct xenbus_device *);
static void free_otherend_details(struct xenbus_device *);
static int watch_otherend (struct xenbus_device *);
static void free_otherend_watch(struct xenbus_device *);
static struct xenbus_device *xenbus_lookup_device_path(const char *);
SLIST_HEAD(, xenbus_device) xenbus_device_list;