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