GNU Linux-libre 6.9.2-gnu
[releases.git] / include / linux / cciss_ioctl.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef CCISS_IOCTLH
3 #define CCISS_IOCTLH
4
5 #include <uapi/linux/cciss_ioctl.h>
6
7 #ifdef CONFIG_COMPAT
8
9 /* 32 bit compatible ioctl structs */
10 typedef struct _IOCTL32_Command_struct {
11   LUNAddr_struct           LUN_info;
12   RequestBlock_struct      Request;
13   ErrorInfo_struct         error_info;
14   WORD                     buf_size;  /* size in bytes of the buf */
15   __u32                    buf; /* 32 bit pointer to data buffer */
16 } IOCTL32_Command_struct;
17
18 typedef struct _BIG_IOCTL32_Command_struct {
19   LUNAddr_struct           LUN_info;
20   RequestBlock_struct      Request;
21   ErrorInfo_struct         error_info;
22   DWORD                    malloc_size; /* < MAX_KMALLOC_SIZE in cciss.c */
23   DWORD                    buf_size;    /* size in bytes of the buf */
24                                         /* < malloc_size * MAXSGENTRIES */
25   __u32                 buf;    /* 32 bit pointer to data buffer */
26 } BIG_IOCTL32_Command_struct;
27
28 #define CCISS_PASSTHRU32   _IOWR(CCISS_IOC_MAGIC, 11, IOCTL32_Command_struct)
29 #define CCISS_BIG_PASSTHRU32 _IOWR(CCISS_IOC_MAGIC, 18, BIG_IOCTL32_Command_struct)
30
31 #endif /* CONFIG_COMPAT */
32 #endif