157429Smarkm/******************************************************************************
257429Smarkm * version.h
357429Smarkm *
457429Smarkm * Xen version, type, and compile information.
560576Skris *
665674Skris * Permission is hereby granted, free of charge, to any person obtaining a copy
765674Skris * of this software and associated documentation files (the "Software"), to
865674Skris * deal in the Software without restriction, including without limitation the
965674Skris * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
1065674Skris * sell copies of the Software, and to permit persons to whom the Software is
1160576Skris * furnished to do so, subject to the following conditions:
1265674Skris *
1365674Skris * The above copyright notice and this permission notice shall be included in
1492559Sdes * all copies or substantial portions of the Software.
1565674Skris *
1665674Skris * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1765674Skris * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1865674Skris * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1965674Skris * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2065674Skris * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2165674Skris * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2265674Skris * DEALINGS IN THE SOFTWARE.
2365674Skris *
2465674Skris * Copyright (c) 2005, Nguyen Anh Quynh <aquynh@gmail.com>
2565674Skris * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
2665674Skris */
2765674Skris
2865674Skris#ifndef __XEN_PUBLIC_VERSION_H__
2965674Skris#define __XEN_PUBLIC_VERSION_H__
3065674Skris
3165674Skris#include "xen.h"
3265674Skris
3365674Skris/* NB. All ops return zero on success, except XENVER_{version,pagesize} */
3465674Skris
3557429Smarkm/* arg == NULL; returns major:minor (16:16). */
3657429Smarkm#define XENVER_version      0
3757429Smarkm
38113911Sdes/* arg == xen_extraversion_t. */
3999063Sdes#define XENVER_extraversion 1
4057429Smarkmtypedef char xen_extraversion_t[16];
4160576Skris#define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t))
4276262Sgreen
4376262Sgreen/* arg == xen_compile_info_t. */
4457429Smarkm#define XENVER_compile_info 2
4557464Sgreenstruct xen_compile_info {
4698684Sdes    char compiler[64];
4798941Sdes    char compile_by[16];
4898941Sdes    char compile_domain[32];
4998941Sdes    char compile_date[32];
5098941Sdes};
5198941Sdestypedef struct xen_compile_info xen_compile_info_t;
5298684Sdes
5392559Sdes#define XENVER_capabilities 3
5498684Sdestypedef char xen_capabilities_info_t[1024];
5598684Sdes#define XEN_CAPABILITIES_INFO_LEN (sizeof(xen_capabilities_info_t))
5698684Sdes
5798684Sdes#define XENVER_changeset 4
5857429Smarkmtypedef char xen_changeset_info_t[64];
5992559Sdes#define XEN_CHANGESET_INFO_LEN (sizeof(xen_changeset_info_t))
6092559Sdes
6192559Sdes#define XENVER_platform_parameters 5
6292559Sdesstruct xen_platform_parameters {
6392559Sdes    xen_ulong_t virt_start;
6498684Sdes};
6592559Sdestypedef struct xen_platform_parameters xen_platform_parameters_t;
6692559Sdes
6792559Sdes#define XENVER_get_features 6
6892559Sdesstruct xen_feature_info {
6992559Sdes    unsigned int submap_idx;    /* IN: which 32-bit submap to return */
7069591Sgreen    uint32_t     submap;        /* OUT: 32-bit submap */
7192559Sdes};
7292559Sdestypedef struct xen_feature_info xen_feature_info_t;
7392559Sdes
7492559Sdes/* Declares the features reported by XENVER_get_features. */
7598684Sdes#include "features.h"
7692559Sdes
7792559Sdes/* arg == NULL; returns host memory page size. */
7892559Sdes#define XENVER_pagesize 7
7998684Sdes
8098684Sdes/* arg == xen_domain_handle_t. */
8198684Sdes#define XENVER_guest_handle 8
8298684Sdes
8398684Sdes#define XENVER_commandline 9
8498684Sdestypedef char xen_commandline_t[1024];
8598684Sdes
8698684Sdes#endif /* __XEN_PUBLIC_VERSION_H__ */
8798684Sdes
8869591Sgreen/*
8992559Sdes * Local variables:
9092559Sdes * mode: C
9169591Sgreen * c-file-style: "BSD"
9292559Sdes * c-basic-offset: 4
9357429Smarkm * tab-width: 4
9498684Sdes * indent-tabs-mode: nil
9592559Sdes * End:
9657429Smarkm */
9792559Sdes