2 * acm_ops.h: Xen access control module hypervisor commands
4 * Reiner Sailer <sailer@watson.ibm.com>
5 * Copyright (c) 2005,2006 International Business Machines Corporation.
8 #ifndef __XEN_PUBLIC_ACM_OPS_H__
9 #define __XEN_PUBLIC_ACM_OPS_H__
15 * Make sure you increment the interface version whenever you modify this file!
16 * This makes sure that old versions of acm tools will stop working in a
17 * well-defined way (rather than crashing the machine, for instance).
19 #define ACM_INTERFACE_VERSION 0xAAAA0008
21 /************************************************************************/
24 * Prototype for this hypercall is:
25 * int acm_op(int cmd, void *args)
26 * @cmd == ACMOP_??? (access control module operation).
27 * @args == Operation-specific extra arguments (NULL if none).
31 #define ACMOP_setpolicy 1
32 struct acm_setpolicy {
34 uint32_t interface_version;
35 XEN_GUEST_HANDLE(void) pushcache;
36 uint32_t pushcache_size;
40 #define ACMOP_getpolicy 2
41 struct acm_getpolicy {
43 uint32_t interface_version;
44 XEN_GUEST_HANDLE(void) pullcache;
45 uint32_t pullcache_size;
49 #define ACMOP_dumpstats 3
50 struct acm_dumpstats {
52 uint32_t interface_version;
53 XEN_GUEST_HANDLE(void) pullcache;
54 uint32_t pullcache_size;
58 #define ACMOP_getssid 4
59 #define ACM_GETBY_ssidref 1
60 #define ACM_GETBY_domainid 2
63 uint32_t interface_version;
64 uint32_t get_ssid_by; /* ACM_GETBY_* */
66 domaintype_t domainid;
69 XEN_GUEST_HANDLE(void) ssidbuf;
70 uint32_t ssidbuf_size;
73 #define ACMOP_getdecision 5
74 struct acm_getdecision {
76 uint32_t interface_version;
77 uint32_t get_decision_by1; /* ACM_GETBY_* */
78 uint32_t get_decision_by2; /* ACM_GETBY_* */
80 domaintype_t domainid;
84 domaintype_t domainid;
89 uint32_t acm_decision;
92 #endif /* __XEN_PUBLIC_ACM_OPS_H__ */
100 * indent-tabs-mode: nil