1 /* SPDX-License-Identifier: GPL-2.0 */
2 /******************************************************************************
5 * Xen version, type, and compile information.
7 * Copyright (c) 2005, Nguyen Anh Quynh <aquynh@gmail.com>
8 * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
11 #ifndef __XEN_PUBLIC_VERSION_H__
12 #define __XEN_PUBLIC_VERSION_H__
14 /* NB. All ops return zero on success, except XENVER_version. */
16 /* arg == NULL; returns major:minor (16:16). */
17 #define XENVER_version 0
19 /* arg == xen_extraversion_t. */
20 #define XENVER_extraversion 1
21 struct xen_extraversion
{
22 char extraversion
[16];
24 #define XEN_EXTRAVERSION_LEN (sizeof(struct xen_extraversion))
26 /* arg == xen_compile_info_t. */
27 #define XENVER_compile_info 2
28 struct xen_compile_info
{
31 char compile_domain
[32];
32 char compile_date
[32];
35 #define XENVER_capabilities 3
36 struct xen_capabilities_info
{
39 #define XEN_CAPABILITIES_INFO_LEN (sizeof(struct xen_capabilities_info))
41 #define XENVER_changeset 4
42 struct xen_changeset_info
{
45 #define XEN_CHANGESET_INFO_LEN (sizeof(struct xen_changeset_info))
47 #define XENVER_platform_parameters 5
48 struct xen_platform_parameters
{
49 xen_ulong_t virt_start
;
52 #define XENVER_get_features 6
53 struct xen_feature_info
{
54 unsigned int submap_idx
; /* IN: which 32-bit submap to return */
55 uint32_t submap
; /* OUT: 32-bit submap */
58 /* Declares the features reported by XENVER_get_features. */
59 #include <xen/interface/features.h>
61 /* arg == NULL; returns host memory page size. */
62 #define XENVER_pagesize 7
64 /* arg == xen_domain_handle_t. */
65 #define XENVER_guest_handle 8
67 #define XENVER_commandline 9
68 struct xen_commandline
{
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.
76 #define XENVER_build_id 10
78 uint32_t len
; /* IN: size of buf[]. */
82 #endif /* __XEN_PUBLIC_VERSION_H__ */