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 1 |
21 | struct { |
22 | char [16]; |
23 | }; |
24 | #define (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 | |