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