xref: /freebsd/usr.sbin/bhyve/amd64/atkbdc.h (revision f927afc1a6fe8257e28d79e8bb77305c2958724a)
1*f927afc1SMark Johnston /*-
2*f927afc1SMark Johnston  * Copyright (c) 2015 Tycho Nightingale <tycho.nightingale@pluribusnetworks.com>
3*f927afc1SMark Johnston  * All rights reserved.
4*f927afc1SMark Johnston  *
5*f927afc1SMark Johnston  * Redistribution and use in source and binary forms, with or without
6*f927afc1SMark Johnston  * modification, are permitted provided that the following conditions
7*f927afc1SMark Johnston  * are met:
8*f927afc1SMark Johnston  * 1. Redistributions of source code must retain the above copyright
9*f927afc1SMark Johnston  *    notice, this list of conditions and the following disclaimer.
10*f927afc1SMark Johnston  * 2. Redistributions in binary form must reproduce the above copyright
11*f927afc1SMark Johnston  *    notice, this list of conditions and the following disclaimer in the
12*f927afc1SMark Johnston  *    documentation and/or other materials provided with the distribution.
13*f927afc1SMark Johnston  *
14*f927afc1SMark Johnston  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
15*f927afc1SMark Johnston  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16*f927afc1SMark Johnston  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17*f927afc1SMark Johnston  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18*f927afc1SMark Johnston  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19*f927afc1SMark Johnston  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20*f927afc1SMark Johnston  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21*f927afc1SMark Johnston  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22*f927afc1SMark Johnston  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23*f927afc1SMark Johnston  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24*f927afc1SMark Johnston  * SUCH DAMAGE.
25*f927afc1SMark Johnston  */
26*f927afc1SMark Johnston 
27*f927afc1SMark Johnston #ifndef _ATKBDC_H_
28*f927afc1SMark Johnston #define _ATKBDC_H_
29*f927afc1SMark Johnston 
30*f927afc1SMark Johnston struct atkbdc_softc;
31*f927afc1SMark Johnston struct vm_snapshot_meta;
32*f927afc1SMark Johnston struct vmctx;
33*f927afc1SMark Johnston 
34*f927afc1SMark Johnston void atkbdc_init(struct vmctx *ctx);
35*f927afc1SMark Johnston void atkbdc_event(struct atkbdc_softc *sc, int iskbd);
36*f927afc1SMark Johnston 
37*f927afc1SMark Johnston #ifdef BHYVE_SNAPSHOT
38*f927afc1SMark Johnston int atkbdc_snapshot(struct vm_snapshot_meta *meta);
39*f927afc1SMark Johnston #endif
40*f927afc1SMark Johnston 
41*f927afc1SMark Johnston #endif /* _ATKBDC_H_ */
42