xref: /freebsd/usr.sbin/bhyvectl/bhyvectl.h (revision 1c4ee7dfb8affed302171232b0f612e6bcba3c10)
1*1c4ee7dfSMark Johnston /*-
2*1c4ee7dfSMark Johnston  * SPDX-License-Identifier: BSD-2-Clause
3*1c4ee7dfSMark Johnston  *
4*1c4ee7dfSMark Johnston  * Copyright (c) 2011 NetApp, Inc.
5*1c4ee7dfSMark Johnston  * All rights reserved.
6*1c4ee7dfSMark Johnston  *
7*1c4ee7dfSMark Johnston  * Redistribution and use in source and binary forms, with or without
8*1c4ee7dfSMark Johnston  * modification, are permitted provided that the following conditions
9*1c4ee7dfSMark Johnston  * are met:
10*1c4ee7dfSMark Johnston  * 1. Redistributions of source code must retain the above copyright
11*1c4ee7dfSMark Johnston  *    notice, this list of conditions and the following disclaimer.
12*1c4ee7dfSMark Johnston  * 2. Redistributions in binary form must reproduce the above copyright
13*1c4ee7dfSMark Johnston  *    notice, this list of conditions and the following disclaimer in the
14*1c4ee7dfSMark Johnston  *    documentation and/or other materials provided with the distribution.
15*1c4ee7dfSMark Johnston  *
16*1c4ee7dfSMark Johnston  * THIS SOFTWARE IS PROVIDED BY NETAPP, INC ``AS IS'' AND
17*1c4ee7dfSMark Johnston  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18*1c4ee7dfSMark Johnston  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19*1c4ee7dfSMark Johnston  * ARE DISCLAIMED.  IN NO EVENT SHALL NETAPP, INC OR CONTRIBUTORS BE LIABLE
20*1c4ee7dfSMark Johnston  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21*1c4ee7dfSMark Johnston  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22*1c4ee7dfSMark Johnston  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23*1c4ee7dfSMark Johnston  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24*1c4ee7dfSMark Johnston  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25*1c4ee7dfSMark Johnston  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26*1c4ee7dfSMark Johnston  * SUCH DAMAGE.
27*1c4ee7dfSMark Johnston  */
28*1c4ee7dfSMark Johnston 
29*1c4ee7dfSMark Johnston #ifndef _BHYVECTL_H_
30*1c4ee7dfSMark Johnston #define	_BHYVECTL_H_
31*1c4ee7dfSMark Johnston 
32*1c4ee7dfSMark Johnston #include <stdbool.h>
33*1c4ee7dfSMark Johnston 
34*1c4ee7dfSMark Johnston #define	OPT_START	1000
35*1c4ee7dfSMark Johnston #define	OPT_START_MD	2000
36*1c4ee7dfSMark Johnston 
37*1c4ee7dfSMark Johnston #define	REQ_ARG		required_argument
38*1c4ee7dfSMark Johnston #define	NO_ARG		no_argument
39*1c4ee7dfSMark Johnston #define	OPT_ARG		optional_argument
40*1c4ee7dfSMark Johnston 
41*1c4ee7dfSMark Johnston struct option;
42*1c4ee7dfSMark Johnston struct vmctx;
43*1c4ee7dfSMark Johnston struct vmexit;
44*1c4ee7dfSMark Johnston 
45*1c4ee7dfSMark Johnston void bhyvectl_md_main(struct vmctx *ctx, struct vcpu *vcpu, int vcpuid,
46*1c4ee7dfSMark Johnston     bool get_all);
47*1c4ee7dfSMark Johnston struct option *bhyvectl_opts(const struct option *options, size_t count);
48*1c4ee7dfSMark Johnston void bhyvectl_handle_opt(const struct option *opts, int opt);
49*1c4ee7dfSMark Johnston const char *bhyvectl_opt_desc(int opt);
50*1c4ee7dfSMark Johnston void bhyvectl_dump_vm_run_exitcode(struct vm_exit *vmexit, int vcpu);
51*1c4ee7dfSMark Johnston void usage(const struct option *opts);
52*1c4ee7dfSMark Johnston 
53*1c4ee7dfSMark Johnston #endif
54