18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef CCISS_IOCTLH
38c2ecf20Sopenharmony_ci#define CCISS_IOCTLH
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <uapi/linux/cciss_ioctl.h>
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#ifdef CONFIG_COMPAT
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_ci/* 32 bit compatible ioctl structs */
108c2ecf20Sopenharmony_citypedef struct _IOCTL32_Command_struct {
118c2ecf20Sopenharmony_ci  LUNAddr_struct	   LUN_info;
128c2ecf20Sopenharmony_ci  RequestBlock_struct      Request;
138c2ecf20Sopenharmony_ci  ErrorInfo_struct  	   error_info;
148c2ecf20Sopenharmony_ci  WORD			   buf_size;  /* size in bytes of the buf */
158c2ecf20Sopenharmony_ci  __u32			   buf; /* 32 bit pointer to data buffer */
168c2ecf20Sopenharmony_ci} IOCTL32_Command_struct;
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_citypedef struct _BIG_IOCTL32_Command_struct {
198c2ecf20Sopenharmony_ci  LUNAddr_struct	   LUN_info;
208c2ecf20Sopenharmony_ci  RequestBlock_struct      Request;
218c2ecf20Sopenharmony_ci  ErrorInfo_struct  	   error_info;
228c2ecf20Sopenharmony_ci  DWORD			   malloc_size; /* < MAX_KMALLOC_SIZE in cciss.c */
238c2ecf20Sopenharmony_ci  DWORD			   buf_size;    /* size in bytes of the buf */
248c2ecf20Sopenharmony_ci  				        /* < malloc_size * MAXSGENTRIES */
258c2ecf20Sopenharmony_ci  __u32 		buf;	/* 32 bit pointer to data buffer */
268c2ecf20Sopenharmony_ci} BIG_IOCTL32_Command_struct;
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci#define CCISS_PASSTHRU32   _IOWR(CCISS_IOC_MAGIC, 11, IOCTL32_Command_struct)
298c2ecf20Sopenharmony_ci#define CCISS_BIG_PASSTHRU32 _IOWR(CCISS_IOC_MAGIC, 18, BIG_IOCTL32_Command_struct)
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci#endif /* CONFIG_COMPAT */
328c2ecf20Sopenharmony_ci#endif
33