-#ifdef __KERNEL__
 
 /*
  * Registry value types.
 };
 
 struct hv_kvp_hdr {
-       u8 operation;
-       u8 pool;
-};
+       __u8 operation;
+       __u8 pool;
+       __u16 pad;
+} __attribute__((packed));
 
 struct hv_kvp_exchg_msg_value {
-       u32 value_type;
-       u32 key_size;
-       u32 value_size;
-       u8 key[HV_KVP_EXCHANGE_MAX_KEY_SIZE];
-       u8 value[HV_KVP_EXCHANGE_MAX_VALUE_SIZE];
-};
+       __u32 value_type;
+       __u32 key_size;
+       __u32 value_size;
+       __u8 key[HV_KVP_EXCHANGE_MAX_KEY_SIZE];
+       __u8 value[HV_KVP_EXCHANGE_MAX_VALUE_SIZE];
+} __attribute__((packed));
 
 struct hv_kvp_msg_enumerate {
-       u32 index;
+       __u32 index;
        struct hv_kvp_exchg_msg_value data;
-};
+} __attribute__((packed));
 
 struct hv_kvp_msg {
        struct hv_kvp_hdr       kvp_hdr;
        struct hv_kvp_msg_enumerate     kvp_data;
-};
+} __attribute__((packed));
 
+#ifdef __KERNEL__
 #include <linux/scatterlist.h>
 #include <linux/list.h>
 #include <linux/uuid.h>