On 20. 07. 21, 5:31, longli@xxxxxxxxxxxxxxxxx wrote:
--- /dev/null +++ b/include/uapi/misc/hv_azure_blob.h @@ -0,0 +1,34 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ +/* Copyright (c) 2021 Microsoft Corporation. */ + +#ifndef _AZ_BLOB_H +#define _AZ_BLOB_H + +#include <linux/kernel.h> +#include <linux/uuid.h>
Quoting from https://lore.kernel.org/linux-doc/MWHPR21MB159375586D810EC5DCB66AF0D7039@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/:
===== Seems like a #include of asm/ioctl.h (or something similar) is needed so that _IOWR is defined. Also, a #include is needed for __u32, __aligned_u64, guid_t, etc. ===== Why was no include added?
+ +/* user-mode sync request sent through ioctl */ +struct az_blob_request_sync_response { + __u32 status; + __u32 response_len; +}; + +struct az_blob_request_sync { + guid_t guid; + __u32 timeout; + __u32 request_len; + __u32 response_len; + __u32 data_len; + __u32 data_valid; + __aligned_u64 request_buffer; + __aligned_u64 response_buffer; + __aligned_u64 data_buffer; + struct az_blob_request_sync_response response; +}; + +#define AZ_BLOB_MAGIC_NUMBER 'R' +#define IOCTL_AZ_BLOB_DRIVER_USER_REQUEST \ + _IOWR(AZ_BLOB_MAGIC_NUMBER, 0xf0, \ + struct az_blob_request_sync) + +#endif /* define _AZ_BLOB_H */
thanks, -- js suse labs