aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/hyperv.h
diff options
context:
space:
mode:
authorK. Y. Srinivasan <kys@microsoft.com>2012-02-02 19:56:50 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-09 11:32:44 -0500
commit2640335438ca4d7b139e114dae5f0d80e740e106 (patch)
tree0e254e2147dedefe04e385d0c97a9fbc15df2a23 /include/linux/hyperv.h
parenteab6af71f0b83a7f62b9c48be5b2c0a82a86fad3 (diff)
drivers: hv: kvp: Cleanup the kernel/user protocol
Now, cleanup the user/kernel KVP protocol by using the same structure definition that is used for host/guest KVP protocol. This simplifies the code. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'include/linux/hyperv.h')
-rw-r--r--include/linux/hyperv.h30
1 files changed, 5 insertions, 25 deletions
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index b822978ecbc8..75aee6720c1b 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -113,30 +113,6 @@
113 * (not supported), a NULL key string is returned. 113 * (not supported), a NULL key string is returned.
114 */ 114 */
115 115
116/*
117 *
118 * The following definitions are shared with the user-mode component; do not
119 * change any of this without making the corresponding changes in
120 * the KVP user-mode component.
121 */
122
123enum hv_ku_op {
124 KVP_REGISTER = 0, /* Register the user mode component */
125 KVP_KERNEL_GET, /* Kernel is requesting the value */
126 KVP_KERNEL_SET, /* Kernel is providing the value */
127 KVP_USER_GET, /* User is requesting the value */
128 KVP_USER_SET /* User is providing the value */
129};
130
131struct hv_ku_msg {
132 __u32 kvp_index; /* Key index */
133 __u8 kvp_key[HV_KVP_EXCHANGE_MAX_KEY_SIZE]; /* Key name */
134 __u8 kvp_value[HV_KVP_EXCHANGE_MAX_VALUE_SIZE]; /* Key value */
135};
136
137
138
139
140 116
141/* 117/*
142 * Registry value types. 118 * Registry value types.
@@ -149,6 +125,7 @@ enum hv_kvp_exchg_op {
149 KVP_OP_SET, 125 KVP_OP_SET,
150 KVP_OP_DELETE, 126 KVP_OP_DELETE,
151 KVP_OP_ENUMERATE, 127 KVP_OP_ENUMERATE,
128 KVP_OP_REGISTER,
152 KVP_OP_COUNT /* Number of operations, must be last. */ 129 KVP_OP_COUNT /* Number of operations, must be last. */
153}; 130};
154 131
@@ -182,7 +159,10 @@ struct hv_kvp_msg_enumerate {
182 159
183struct hv_kvp_msg { 160struct hv_kvp_msg {
184 struct hv_kvp_hdr kvp_hdr; 161 struct hv_kvp_hdr kvp_hdr;
185 struct hv_kvp_msg_enumerate kvp_data; 162 union {
163 struct hv_kvp_msg_enumerate kvp_enum_data;
164 char kvp_version[HV_KVP_EXCHANGE_MAX_KEY_SIZE];
165 } body;
186} __attribute__((packed)); 166} __attribute__((packed));
187 167
188#ifdef __KERNEL__ 168#ifdef __KERNEL__