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__
12 #include "sched_ctl.h"
16 * Make sure you increment the interface version whenever you modify this file!
17 * This makes sure that old versions of acm tools will stop working in a
18 * well-defined way (rather than crashing the machine, for instance).
20 #define ACM_INTERFACE_VERSION 0xAAAA0008
22 /************************************************************************/
25 * Prototype for this hypercall is:
26 * int acm_op(int cmd, void *args)
27 * @cmd == ACMOP_??? (access control module operation).
28 * @args == Operation-specific extra arguments (NULL if none).
32 #define ACMOP_setpolicy 1
33 struct acm_setpolicy {
35 uint32_t interface_version;
36 XEN_GUEST_HANDLE(void) pushcache;
37 uint32_t pushcache_size;
41 #define ACMOP_getpolicy 2
42 struct acm_getpolicy {
44 uint32_t interface_version;
45 XEN_GUEST_HANDLE(void) pullcache;
46 uint32_t pullcache_size;
50 #define ACMOP_dumpstats 3
51 struct acm_dumpstats {
53 uint32_t interface_version;
54 XEN_GUEST_HANDLE(void) pullcache;
55 uint32_t pullcache_size;
59 #define ACMOP_getssid 4
60 #define ACM_GETBY_ssidref 1
61 #define ACM_GETBY_domainid 2
64 uint32_t interface_version;
65 uint32_t get_ssid_by; /* ACM_GETBY_* */
67 domaintype_t domainid;
70 XEN_GUEST_HANDLE(void) ssidbuf;
71 uint32_t ssidbuf_size;
74 #define ACMOP_getdecision 5
75 struct acm_getdecision {
77 uint32_t interface_version;
78 uint32_t get_decision_by1; /* ACM_GETBY_* */
79 uint32_t get_decision_by2; /* ACM_GETBY_* */
81 domaintype_t domainid;
85 domaintype_t domainid;
90 uint32_t acm_decision;
93 #endif /* __XEN_PUBLIC_ACM_OPS_H__ */
101 * indent-tabs-mode: nil