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
33