|
|
1.1 root 1: /******************************************************************************
2: * version.h
3: *
4: * Xen version, type, and compile information.
5: *
6: * Permission is hereby granted, free of charge, to any person obtaining a copy
7: * of this software and associated documentation files (the "Software"), to
8: * deal in the Software without restriction, including without limitation the
9: * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10: * sell copies of the Software, and to permit persons to whom the Software is
11: * furnished to do so, subject to the following conditions:
12: *
13: * The above copyright notice and this permission notice shall be included in
14: * all copies or substantial portions of the Software.
15: *
16: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17: * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18: * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19: * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20: * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21: * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22: * DEALINGS IN THE SOFTWARE.
23: *
24: * Copyright (c) 2005, Nguyen Anh Quynh <[email protected]>
25: * Copyright (c) 2005, Keir Fraser <[email protected]>
26: */
27:
28: #ifndef __XEN_PUBLIC_VERSION_H__
29: #define __XEN_PUBLIC_VERSION_H__
30:
31: /* NB. All ops return zero on success, except XENVER_{version,pagesize} */
32:
33: /* arg == NULL; returns major:minor (16:16). */
34: #define XENVER_version 0
35:
36: /* arg == xen_extraversion_t. */
37: #define XENVER_extraversion 1
38: typedef char xen_extraversion_t[16];
39: #define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t))
40:
41: /* arg == xen_compile_info_t. */
42: #define XENVER_compile_info 2
43: struct xen_compile_info {
44: char compiler[64];
45: char compile_by[16];
46: char compile_domain[32];
47: char compile_date[32];
48: };
49: typedef struct xen_compile_info xen_compile_info_t;
50:
51: #define XENVER_capabilities 3
52: typedef char xen_capabilities_info_t[1024];
53: #define XEN_CAPABILITIES_INFO_LEN (sizeof(xen_capabilities_info_t))
54:
55: #define XENVER_changeset 4
56: typedef char xen_changeset_info_t[64];
57: #define XEN_CHANGESET_INFO_LEN (sizeof(xen_changeset_info_t))
58:
59: #define XENVER_platform_parameters 5
60: struct xen_platform_parameters {
61: unsigned long virt_start;
62: };
63: typedef struct xen_platform_parameters xen_platform_parameters_t;
64:
65: #define XENVER_get_features 6
66: struct xen_feature_info {
67: unsigned int submap_idx; /* IN: which 32-bit submap to return */
68: uint32_t submap; /* OUT: 32-bit submap */
69: };
70: typedef struct xen_feature_info xen_feature_info_t;
71:
72: /* Declares the features reported by XENVER_get_features. */
73: #include "features.h"
74:
75: /* arg == NULL; returns host memory page size. */
76: #define XENVER_pagesize 7
77:
78: /* arg == xen_domain_handle_t. */
79: #define XENVER_guest_handle 8
80:
81: #endif /* __XEN_PUBLIC_VERSION_H__ */
82:
83: /*
84: * Local variables:
85: * mode: C
86: * c-set-style: "BSD"
87: * c-basic-offset: 4
88: * tab-width: 4
89: * indent-tabs-mode: nil
90: * End:
91: */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.