xbdvar.h revision 1.13 1 1.13 tls /* $NetBSD: xbdvar.h,v 1.13 2011/11/19 22:51:21 tls Exp $ */
2 1.1 cl
3 1.1 cl /*
4 1.1 cl *
5 1.1 cl * Copyright (c) 2004 Christian Limpach.
6 1.1 cl * All rights reserved.
7 1.1 cl *
8 1.1 cl * Redistribution and use in source and binary forms, with or without
9 1.1 cl * modification, are permitted provided that the following conditions
10 1.1 cl * are met:
11 1.1 cl * 1. Redistributions of source code must retain the above copyright
12 1.1 cl * notice, this list of conditions and the following disclaimer.
13 1.1 cl * 2. Redistributions in binary form must reproduce the above copyright
14 1.1 cl * notice, this list of conditions and the following disclaimer in the
15 1.1 cl * documentation and/or other materials provided with the distribution.
16 1.1 cl *
17 1.1 cl * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 1.1 cl * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 1.1 cl * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 1.1 cl * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 1.1 cl * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 1.1 cl * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 1.1 cl * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 1.1 cl * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 1.1 cl * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 1.1 cl * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 1.1 cl */
28 1.1 cl
29 1.1 cl
30 1.1 cl #ifndef _XEN_XBDVAR_H_
31 1.1 cl #define _XEN_XBDVAR_H_
32 1.1 cl
33 1.10 bouyer #include <sys/simplelock.h>
34 1.10 bouyer
35 1.1 cl struct xbd_softc {
36 1.11 cegger device_t sc_dev; /* base device glue */
37 1.1 cl struct dk_softc sc_dksc; /* generic disk interface */
38 1.1 cl unsigned long sc_xd_device; /* cookie identifying device */
39 1.1 cl struct dk_intf *sc_di; /* pseudo-disk interface */
40 1.1 cl struct simplelock sc_slock; /* our lock */
41 1.5 cl int sc_shutdown; /* about to be removed */
42 1.6 tls #if NRND > 0
43 1.13 tls krndsource_t sc_rnd_source;
44 1.6 tls #endif
45 1.1 cl };
46 1.1 cl
47 1.1 cl struct xbd_attach_args {
48 1.2 cl const char *xa_device;
49 1.7 bouyer vdisk_t *xa_xd;
50 1.3 cl struct dk_intf *xa_dkintf;
51 1.4 cl struct sysctlnode *xa_diskcookies;
52 1.1 cl };
53 1.1 cl
54 1.11 cegger int xbd_scan(device_t, struct xbd_attach_args *, cfprint_t);
55 1.9 jld void xbd_suspend(void);
56 1.9 jld void xbd_resume(void);
57 1.1 cl
58 1.1 cl #endif /* _XEN_XBDVAR_H_ */
59