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