1181624Skmacy/******************************************************************************
2181624Skmacy * version.h
3181624Skmacy *
4181624Skmacy * Xen version, type, and compile information.
5181624Skmacy *
6181624Skmacy * Permission is hereby granted, free of charge, to any person obtaining a copy
7181624Skmacy * of this software and associated documentation files (the "Software"), to
8181624Skmacy * deal in the Software without restriction, including without limitation the
9181624Skmacy * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10181624Skmacy * sell copies of the Software, and to permit persons to whom the Software is
11181624Skmacy * furnished to do so, subject to the following conditions:
12181624Skmacy *
13181624Skmacy * The above copyright notice and this permission notice shall be included in
14181624Skmacy * all copies or substantial portions of the Software.
15181624Skmacy *
16181624Skmacy * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17181624Skmacy * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18181624Skmacy * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19181624Skmacy * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20181624Skmacy * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21181624Skmacy * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22181624Skmacy * DEALINGS IN THE SOFTWARE.
23181624Skmacy *
24181624Skmacy * Copyright (c) 2005, Nguyen Anh Quynh <aquynh@gmail.com>
25181624Skmacy * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
26181624Skmacy */
27181624Skmacy
28181624Skmacy#ifndef __XEN_PUBLIC_VERSION_H__
29181624Skmacy#define __XEN_PUBLIC_VERSION_H__
30181624Skmacy
31181624Skmacy/* NB. All ops return zero on success, except XENVER_{version,pagesize} */
32181624Skmacy
33181624Skmacy/* arg == NULL; returns major:minor (16:16). */
34181624Skmacy#define XENVER_version      0
35181624Skmacy
36181624Skmacy/* arg == xen_extraversion_t. */
37181624Skmacy#define XENVER_extraversion 1
38181624Skmacytypedef char xen_extraversion_t[16];
39181624Skmacy#define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t))
40181624Skmacy
41181624Skmacy/* arg == xen_compile_info_t. */
42181624Skmacy#define XENVER_compile_info 2
43181624Skmacystruct xen_compile_info {
44181624Skmacy    char compiler[64];
45181624Skmacy    char compile_by[16];
46181624Skmacy    char compile_domain[32];
47181624Skmacy    char compile_date[32];
48181624Skmacy};
49181624Skmacytypedef struct xen_compile_info xen_compile_info_t;
50181624Skmacy
51181624Skmacy#define XENVER_capabilities 3
52181624Skmacytypedef char xen_capabilities_info_t[1024];
53181624Skmacy#define XEN_CAPABILITIES_INFO_LEN (sizeof(xen_capabilities_info_t))
54181624Skmacy
55181624Skmacy#define XENVER_changeset 4
56181624Skmacytypedef char xen_changeset_info_t[64];
57181624Skmacy#define XEN_CHANGESET_INFO_LEN (sizeof(xen_changeset_info_t))
58181624Skmacy
59181624Skmacy#define XENVER_platform_parameters 5
60181624Skmacystruct xen_platform_parameters {
61181624Skmacy    unsigned long virt_start;
62181624Skmacy};
63181624Skmacytypedef struct xen_platform_parameters xen_platform_parameters_t;
64181624Skmacy
65181624Skmacy#define XENVER_get_features 6
66181624Skmacystruct xen_feature_info {
67181624Skmacy    unsigned int submap_idx;    /* IN: which 32-bit submap to return */
68181624Skmacy    uint32_t     submap;        /* OUT: 32-bit submap */
69181624Skmacy};
70181624Skmacytypedef struct xen_feature_info xen_feature_info_t;
71181624Skmacy
72181624Skmacy/* Declares the features reported by XENVER_get_features. */
73181624Skmacy#include "features.h"
74181624Skmacy
75181624Skmacy/* arg == NULL; returns host memory page size. */
76181624Skmacy#define XENVER_pagesize 7
77181624Skmacy
78181624Skmacy/* arg == xen_domain_handle_t. */
79181624Skmacy#define XENVER_guest_handle 8
80181624Skmacy
81251767Sgibbs#define XENVER_commandline 9
82251767Sgibbstypedef char xen_commandline_t[1024];
83251767Sgibbs
84181624Skmacy#endif /* __XEN_PUBLIC_VERSION_H__ */
85181624Skmacy
86181624Skmacy/*
87181624Skmacy * Local variables:
88181624Skmacy * mode: C
89181624Skmacy * c-set-style: "BSD"
90181624Skmacy * c-basic-offset: 4
91181624Skmacy * tab-width: 4
92181624Skmacy * indent-tabs-mode: nil
93181624Skmacy * End:
94181624Skmacy */
95