iPXE
version.h
Go to the documentation of this file.
00001 /******************************************************************************
00002  * version.h
00003  *
00004  * Xen version, type, and compile information.
00005  *
00006  * Permission is hereby granted, free of charge, to any person obtaining a copy
00007  * of this software and associated documentation files (the "Software"), to
00008  * deal in the Software without restriction, including without limitation the
00009  * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
00010  * sell copies of the Software, and to permit persons to whom the Software is
00011  * furnished to do so, subject to the following conditions:
00012  *
00013  * The above copyright notice and this permission notice shall be included in
00014  * all copies or substantial portions of the Software.
00015  *
00016  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00017  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00018  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00019  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
00020  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
00021  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
00022  * DEALINGS IN THE SOFTWARE.
00023  *
00024  * Copyright (c) 2005, Nguyen Anh Quynh <aquynh@gmail.com>
00025  * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
00026  */
00027 
00028 #ifndef __XEN_PUBLIC_VERSION_H__
00029 #define __XEN_PUBLIC_VERSION_H__
00030 
00031 FILE_LICENCE ( MIT );
00032 
00033 #include "xen.h"
00034 
00035 /* NB. All ops return zero on success, except XENVER_{version,pagesize} */
00036 
00037 /* arg == NULL; returns major:minor (16:16). */
00038 #define XENVER_version      0
00039 
00040 /* arg == xen_extraversion_t. */
00041 #define XENVER_extraversion 1
00042 typedef char xen_extraversion_t[16];
00043 #define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t))
00044 
00045 /* arg == xen_compile_info_t. */
00046 #define XENVER_compile_info 2
00047 struct xen_compile_info {
00048     char compiler[64];
00049     char compile_by[16];
00050     char compile_domain[32];
00051     char compile_date[32];
00052 };
00053 typedef struct xen_compile_info xen_compile_info_t;
00054 
00055 #define XENVER_capabilities 3
00056 typedef char xen_capabilities_info_t[1024];
00057 #define XEN_CAPABILITIES_INFO_LEN (sizeof(xen_capabilities_info_t))
00058 
00059 #define XENVER_changeset 4
00060 typedef char xen_changeset_info_t[64];
00061 #define XEN_CHANGESET_INFO_LEN (sizeof(xen_changeset_info_t))
00062 
00063 #define XENVER_platform_parameters 5
00064 struct xen_platform_parameters {
00065     xen_ulong_t virt_start;
00066 };
00067 typedef struct xen_platform_parameters xen_platform_parameters_t;
00068 
00069 #define XENVER_get_features 6
00070 struct xen_feature_info {
00071     unsigned int submap_idx;    /* IN: which 32-bit submap to return */
00072     uint32_t     submap;        /* OUT: 32-bit submap */
00073 };
00074 typedef struct xen_feature_info xen_feature_info_t;
00075 
00076 /* Declares the features reported by XENVER_get_features. */
00077 #include "features.h"
00078 
00079 /* arg == NULL; returns host memory page size. */
00080 #define XENVER_pagesize 7
00081 
00082 /* arg == xen_domain_handle_t. */
00083 #define XENVER_guest_handle 8
00084 
00085 #define XENVER_commandline 9
00086 typedef char xen_commandline_t[1024];
00087 
00088 #endif /* __XEN_PUBLIC_VERSION_H__ */
00089 
00090 /*
00091  * Local variables:
00092  * mode: C
00093  * c-file-style: "BSD"
00094  * c-basic-offset: 4
00095  * tab-width: 4
00096  * indent-tabs-mode: nil
00097  * End:
00098  */