1/* $NetBSD: version.h,v 1.1.1.2 2011/12/07 14:41:15 cegger Exp $ */
2/******************************************************************************
3 * version.h
4 *
5 * Xen version, type, and compile information.
6 *
7 * Permission is hereby granted, free of charge, to any person obtaining a copy
8 * of this software and associated documentation files (the "Software"), to
9 * deal in the Software without restriction, including without limitation the
10 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
11 * sell copies of the Software, and to permit persons to whom the Software is
12 * furnished to do so, subject to the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be included in
15 * all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
23 * DEALINGS IN THE SOFTWARE.
24 *
25 * Copyright (c) 2005, Nguyen Anh Quynh <aquynh@gmail.com>
26 * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
27 */
28
29#ifndef __XEN_PUBLIC_VERSION_H__
30#define __XEN_PUBLIC_VERSION_H__
31
32/* NB. All ops return zero on success, except XENVER_{version,pagesize} */
33
34/* arg == NULL; returns major:minor (16:16). */
35#define XENVER_version 0
36
37/* arg == xen_extraversion_t. */
38#define XENVER_extraversion 1
39typedef char xen_extraversion_t[16];
40#define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t))
41
42/* arg == xen_compile_info_t. */
43#define XENVER_compile_info 2
44struct xen_compile_info {
45 char compiler[64];
46 char compile_by[16];
47 char compile_domain[32];
48 char compile_date[32];
49};
50typedef struct xen_compile_info xen_compile_info_t;
51
52#define XENVER_capabilities 3
53typedef char xen_capabilities_info_t[1024];
54#define XEN_CAPABILITIES_INFO_LEN (sizeof(xen_capabilities_info_t))
55
56#define XENVER_changeset 4
57typedef char xen_changeset_info_t[64];
58#define XEN_CHANGESET_INFO_LEN (sizeof(xen_changeset_info_t))
59
60#define XENVER_platform_parameters 5
61struct xen_platform_parameters {
62 unsigned long virt_start;
63};
64typedef struct xen_platform_parameters xen_platform_parameters_t;
65
66#define XENVER_get_features 6
67struct xen_feature_info {
68 unsigned int submap_idx; /* IN: which 32-bit submap to return */
69 uint32_t submap; /* OUT: 32-bit submap */
70};
71typedef struct xen_feature_info xen_feature_info_t;
72
73/* Declares the features reported by XENVER_get_features. */
74#include "features.h"
75
76/* arg == NULL; returns host memory page size. */
77#define XENVER_pagesize 7
78
79/* arg == xen_domain_handle_t. */
80#define XENVER_guest_handle 8
81
82#define XENVER_commandline 9
83typedef char xen_commandline_t[1024];
84
85#endif /* __XEN_PUBLIC_VERSION_H__ */
86
87/*
88 * Local variables:
89 * mode: C
90 * c-set-style: "BSD"
91 * c-basic-offset: 4
92 * tab-width: 4
93 * indent-tabs-mode: nil
94 * End:
95 */
96