xenbusb_if.m (214077) | xenbusb_if.m (222975) |
---|---|
1#- 2# Copyright (c) 2010 Spectra Logic Corporation 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22# HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 26# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 27# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28# POSSIBILITY OF SUCH DAMAGES. 29# | 1#- 2# Copyright (c) 2010 Spectra Logic Corporation 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms, with or without 6# modification, are permitted provided that the following conditions 7# are met: 8# 1. Redistributions of source code must retain the above copyright --- 13 unchanged lines hidden (view full) --- 22# HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 26# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 27# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28# POSSIBILITY OF SUCH DAMAGES. 29# |
30# $FreeBSD: head/sys/xen/xenbus/xenbusb_if.m 214077 2010-10-19 20:53:30Z gibbs $ | 30# $FreeBSD: head/sys/xen/xenbus/xenbusb_if.m 222975 2011-06-11 04:59:01Z gibbs $ |
31# 32 33#include <sys/bus.h> | 31# 32 33#include <sys/bus.h> |
34#include <sys/lock.h> 35#include <sys/sx.h> 36#include <sys/taskqueue.h> |
|
34 | 37 |
35HEADER { 36struct xenbus_device_ivars; 37} | 38#include <xen/xenstore/xenstorevar.h> 39#include <xen/xenbus/xenbusb.h> |
38 39INTERFACE xenbusb; 40 41/** 42 * \brief Enumerate all devices of the given type on this bus. 43 * 44 * \param _dev NewBus device_t for this XenBus (front/back) bus instance. 45 * \param _type String indicating the device sub-tree (e.g. "vfb", "vif") --- 25 unchanged lines hidden (view full) --- 71 * 72 * \return On success, 0. Otherwise an errno value indicating the 73 * type of failure. 74 */ 75METHOD int get_otherend_node { 76 device_t _dev; 77 struct xenbus_device_ivars *_ivars; 78} | 40 41INTERFACE xenbusb; 42 43/** 44 * \brief Enumerate all devices of the given type on this bus. 45 * 46 * \param _dev NewBus device_t for this XenBus (front/back) bus instance. 47 * \param _type String indicating the device sub-tree (e.g. "vfb", "vif") --- 25 unchanged lines hidden (view full) --- 73 * 74 * \return On success, 0. Otherwise an errno value indicating the 75 * type of failure. 76 */ 77METHOD int get_otherend_node { 78 device_t _dev; 79 struct xenbus_device_ivars *_ivars; 80} |
81 82/** 83 * \brief Handle a XenStore change detected in the peer tree of a child 84 * device of the bus. 85 * 86 * \param _bus NewBus device_t for this XenBus (front/back) bus instance. 87 * \param _child NewBus device_t for the child device whose peer XenStore 88 * tree has changed. 89 * \param _state The current state of the peer. 90 */ 91METHOD void otherend_changed { 92 device_t _bus; 93 device_t _child; 94 enum xenbus_state _state; 95} DEFAULT xenbusb_otherend_changed; 96 97/** 98 * \brief Handle a XenStore change detected in the local tree of a child 99 * device of the bus. 100 * 101 * \param _bus NewBus device_t for this XenBus (front/back) bus instance. 102 * \param _child NewBus device_t for the child device whose peer XenStore 103 * tree has changed. 104 * \param _path The tree relative sub-path to the modified node. The empty 105 * string indicates the root of the tree was destroyed. 106 */ 107METHOD void localend_changed { 108 device_t _bus; 109 device_t _child; 110 const char * _path; 111} DEFAULT xenbusb_localend_changed; |
|