xref: /linux/include/xen/interface/version.h (revision 03ab8e6297acd1bc0eedaa050e2a1635c576fd11)
1  /* SPDX-License-Identifier: MIT */
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
21  struct 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
28  struct 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
36  struct 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
42  struct 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
48  struct xen_platform_parameters {
49      xen_ulong_t virt_start;
50  };
51  
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 */
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
68  struct 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
77  struct xen_build_id {
78  	uint32_t	len; /* IN: size of buf[]. */
79  	unsigned char	buf[];
80  };
81  
82  #endif /* __XEN_PUBLIC_VERSION_H__ */
83