15084Sjohnlev /***************************************************************************** 25084Sjohnlev * xenbus.h 35084Sjohnlev * 45084Sjohnlev * Xenbus protocol details. 55084Sjohnlev * 65084Sjohnlev * Permission is hereby granted, free of charge, to any person obtaining a copy 75084Sjohnlev * of this software and associated documentation files (the "Software"), to 85084Sjohnlev * deal in the Software without restriction, including without limitation the 95084Sjohnlev * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 105084Sjohnlev * sell copies of the Software, and to permit persons to whom the Software is 115084Sjohnlev * furnished to do so, subject to the following conditions: 125084Sjohnlev * 135084Sjohnlev * The above copyright notice and this permission notice shall be included in 145084Sjohnlev * all copies or substantial portions of the Software. 155084Sjohnlev * 165084Sjohnlev * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 175084Sjohnlev * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 185084Sjohnlev * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 195084Sjohnlev * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 205084Sjohnlev * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 215084Sjohnlev * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 225084Sjohnlev * DEALINGS IN THE SOFTWARE. 235084Sjohnlev * 245084Sjohnlev * Copyright (C) 2005 XenSource Ltd. 255084Sjohnlev */ 265084Sjohnlev 275084Sjohnlev #ifndef _XEN_PUBLIC_IO_XENBUS_H 285084Sjohnlev #define _XEN_PUBLIC_IO_XENBUS_H 295084Sjohnlev 305084Sjohnlev /* 315084Sjohnlev * The state of either end of the Xenbus, i.e. the current communication 325084Sjohnlev * status of initialisation across the bus. States here imply nothing about 335084Sjohnlev * the state of the connection between the driver and the kernel's device 345084Sjohnlev * layers. 355084Sjohnlev */ 365084Sjohnlev enum xenbus_state { 375084Sjohnlev XenbusStateUnknown = 0, 385084Sjohnlev 395084Sjohnlev XenbusStateInitialising = 1, 405084Sjohnlev 415084Sjohnlev /* 425084Sjohnlev * InitWait: Finished early initialisation but waiting for information 435084Sjohnlev * from the peer or hotplug scripts. 445084Sjohnlev */ 455084Sjohnlev XenbusStateInitWait = 2, 465084Sjohnlev 475084Sjohnlev /* 485084Sjohnlev * Initialised: Waiting for a connection from the peer. 495084Sjohnlev */ 505084Sjohnlev XenbusStateInitialised = 3, 515084Sjohnlev 525084Sjohnlev XenbusStateConnected = 4, 535084Sjohnlev 545084Sjohnlev /* 555084Sjohnlev * Closing: The device is being closed due to an error or an unplug event. 565084Sjohnlev */ 575084Sjohnlev XenbusStateClosing = 5, 585084Sjohnlev 59*10175SStuart.Maybee@Sun.COM XenbusStateClosed = 6, 60*10175SStuart.Maybee@Sun.COM 61*10175SStuart.Maybee@Sun.COM /* 62*10175SStuart.Maybee@Sun.COM * Reconfiguring: The device is being reconfigured. 63*10175SStuart.Maybee@Sun.COM */ 64*10175SStuart.Maybee@Sun.COM XenbusStateReconfiguring = 7, 65*10175SStuart.Maybee@Sun.COM 66*10175SStuart.Maybee@Sun.COM XenbusStateReconfigured = 8 675084Sjohnlev }; 685084Sjohnlev typedef enum xenbus_state XenbusState; 695084Sjohnlev 705084Sjohnlev #endif /* _XEN_PUBLIC_IO_XENBUS_H */ 715084Sjohnlev 725084Sjohnlev /* 735084Sjohnlev * Local variables: 745084Sjohnlev * mode: C 755084Sjohnlev * c-set-style: "BSD" 765084Sjohnlev * c-basic-offset: 4 775084Sjohnlev * tab-width: 4 785084Sjohnlev * indent-tabs-mode: nil 795084Sjohnlev * End: 805084Sjohnlev */ 81