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