Home | History | Annotate | Download | only in io
      1 /*****************************************************************************
      2  * xenbus.h
      3  *
      4  * Xenbus protocol details.
      5  *
      6  * Permission is hereby granted, free of charge, to any person obtaining a copy
      7  * of this software and associated documentation files (the "Software"), to
      8  * deal in the Software without restriction, including without limitation the
      9  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
     10  * sell copies of the Software, and to permit persons to whom the Software is
     11  * furnished to do so, subject to the following conditions:
     12  *
     13  * The above copyright notice and this permission notice shall be included in
     14  * all copies or substantial portions of the Software.
     15  *
     16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
     19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
     20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     21  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     22  * DEALINGS IN THE SOFTWARE.
     23  *
     24  * Copyright (C) 2005 XenSource Ltd.
     25  */
     26 
     27 #ifndef _XEN_PUBLIC_IO_XENBUS_H
     28 #define _XEN_PUBLIC_IO_XENBUS_H
     29 
     30 /*
     31  * The state of either end of the Xenbus, i.e. the current communication
     32  * status of initialisation across the bus.  States here imply nothing about
     33  * the state of the connection between the driver and the kernel's device
     34  * layers.
     35  */
     36 enum xenbus_state {
     37     XenbusStateUnknown       = 0,
     38 
     39     XenbusStateInitialising  = 1,
     40 
     41     /*
     42      * InitWait: Finished early initialisation but waiting for information
     43      * from the peer or hotplug scripts.
     44      */
     45     XenbusStateInitWait      = 2,
     46 
     47     /*
     48      * Initialised: Waiting for a connection from the peer.
     49      */
     50     XenbusStateInitialised   = 3,
     51 
     52     XenbusStateConnected     = 4,
     53 
     54     /*
     55      * Closing: The device is being closed due to an error or an unplug event.
     56      */
     57     XenbusStateClosing       = 5,
     58 
     59     XenbusStateClosed        = 6,
     60 
     61     /*
     62      * Reconfiguring: The device is being reconfigured.
     63      */
     64     XenbusStateReconfiguring = 7,
     65 
     66     XenbusStateReconfigured  = 8
     67 };
     68 typedef enum xenbus_state XenbusState;
     69 
     70 #endif /* _XEN_PUBLIC_IO_XENBUS_H */
     71 
     72 /*
     73  * Local variables:
     74  * mode: C
     75  * c-file-style: "BSD"
     76  * c-basic-offset: 4
     77  * tab-width: 4
     78  * indent-tabs-mode: nil
     79  * End:
     80  */
     81