1/* SPDX-License-Identifier: GPL-2.0 */ 2/****************************************************************************** 3 * version.h 4 * 5 * Xen version, type, and compile information. 6 * 7 * Copyright (c) 2005, Nguyen Anh Quynh <aquynh@gmail.com> 8 * Copyright (c) 2005, Keir Fraser <keir@xensource.com> 9 */ 10 11#ifndef __XEN_PUBLIC_VERSION_H__ 12#define __XEN_PUBLIC_VERSION_H__ 13 14/* NB. All ops return zero on success, except XENVER_version. */ 15 16/* arg == NULL; returns major:minor (16:16). */ 17#define XENVER_version 0 18 19/* arg == xen_extraversion_t. */ 20#define XENVER_extraversion 1 21struct xen_extraversion { 22 char extraversion[16]; 23}; 24#define XEN_EXTRAVERSION_LEN (sizeof(struct xen_extraversion)) 25 26/* arg == xen_compile_info_t. */ 27#define XENVER_compile_info 2 28struct xen_compile_info { 29 char compiler[64]; 30 char compile_by[16]; 31 char compile_domain[32]; 32 char compile_date[32]; 33}; 34 35#define XENVER_capabilities 3 36struct xen_capabilities_info { 37 char info[1024]; 38}; 39#define XEN_CAPABILITIES_INFO_LEN (sizeof(struct xen_capabilities_info)) 40 41#define XENVER_changeset 4 42struct xen_changeset_info { 43 char info[64]; 44}; 45#define XEN_CHANGESET_INFO_LEN (sizeof(struct xen_changeset_info)) 46 47#define XENVER_platform_parameters 5 48struct xen_platform_parameters { 49 xen_ulong_t virt_start; 50}; 51 52#define XENVER_get_features 6 53struct xen_feature_info { 54 unsigned int submap_idx; /* IN: which 32-bit submap to return */ 55 uint32_t submap; /* OUT: 32-bit submap */ 56}; 57 58/* Declares the features reported by XENVER_get_features. */ 59#include <xen/interface/features.h> 60 61/* arg == NULL; returns host memory page size. */ 62#define XENVER_pagesize 7 63 64/* arg == xen_domain_handle_t. */ 65#define XENVER_guest_handle 8 66 67#define XENVER_commandline 9 68struct xen_commandline { 69 char buf[1024]; 70}; 71 72/* 73 * Return value is the number of bytes written, or XEN_Exx on error. 74 * Calling with empty parameter returns the size of build_id. 75 */ 76#define XENVER_build_id 10 77struct xen_build_id { 78 uint32_t len; /* IN: size of buf[]. */ 79 unsigned char buf[]; 80}; 81 82#endif /* __XEN_PUBLIC_VERSION_H__ */ 83