linux/include/uapi/linux/cciss_ioctl.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2#ifndef _UAPICCISS_IOCTLH
   3#define _UAPICCISS_IOCTLH
   4
   5#include <linux/types.h>
   6#include <linux/ioctl.h>
   7#include <linux/cciss_defs.h>
   8
   9#define CCISS_IOC_MAGIC 'B'
  10
  11
  12typedef struct _cciss_pci_info_struct
  13{
  14        unsigned char   bus;
  15        unsigned char   dev_fn;
  16        unsigned short  domain;
  17        __u32           board_id;
  18} cciss_pci_info_struct; 
  19
  20typedef struct _cciss_coalint_struct
  21{
  22        __u32  delay;
  23        __u32  count;
  24} cciss_coalint_struct;
  25
  26typedef char NodeName_type[16];
  27
  28typedef __u32 Heartbeat_type;
  29
  30#define CISS_PARSCSIU2  0x0001
  31#define CISS_PARCSCIU3  0x0002
  32#define CISS_FIBRE1G    0x0100
  33#define CISS_FIBRE2G    0x0200
  34typedef __u32 BusTypes_type;
  35
  36typedef char FirmwareVer_type[4];
  37typedef __u32 DriverVer_type;
  38
  39#define MAX_KMALLOC_SIZE 128000
  40
  41typedef struct _IOCTL_Command_struct {
  42  LUNAddr_struct           LUN_info;
  43  RequestBlock_struct      Request;
  44  ErrorInfo_struct         error_info; 
  45  WORD                     buf_size;  /* size in bytes of the buf */
  46  BYTE                     __user *buf;
  47} IOCTL_Command_struct;
  48
  49typedef struct _BIG_IOCTL_Command_struct {
  50  LUNAddr_struct           LUN_info;
  51  RequestBlock_struct      Request;
  52  ErrorInfo_struct         error_info;
  53  DWORD                    malloc_size; /* < MAX_KMALLOC_SIZE in cciss.c */
  54  DWORD                    buf_size;    /* size in bytes of the buf */
  55                                        /* < malloc_size * MAXSGENTRIES */
  56  BYTE                     __user *buf;
  57} BIG_IOCTL_Command_struct;
  58
  59typedef struct _LogvolInfo_struct{
  60        __u32   LunID;
  61        int     num_opens;  /* number of opens on the logical volume */
  62        int     num_parts;  /* number of partitions configured on logvol */
  63} LogvolInfo_struct;
  64
  65#define CCISS_GETPCIINFO _IOR(CCISS_IOC_MAGIC, 1, cciss_pci_info_struct)
  66
  67#define CCISS_GETINTINFO _IOR(CCISS_IOC_MAGIC, 2, cciss_coalint_struct)
  68#define CCISS_SETINTINFO _IOW(CCISS_IOC_MAGIC, 3, cciss_coalint_struct)
  69
  70#define CCISS_GETNODENAME _IOR(CCISS_IOC_MAGIC, 4, NodeName_type)
  71#define CCISS_SETNODENAME _IOW(CCISS_IOC_MAGIC, 5, NodeName_type)
  72
  73#define CCISS_GETHEARTBEAT _IOR(CCISS_IOC_MAGIC, 6, Heartbeat_type)
  74#define CCISS_GETBUSTYPES  _IOR(CCISS_IOC_MAGIC, 7, BusTypes_type)
  75#define CCISS_GETFIRMVER   _IOR(CCISS_IOC_MAGIC, 8, FirmwareVer_type)
  76#define CCISS_GETDRIVVER   _IOR(CCISS_IOC_MAGIC, 9, DriverVer_type)
  77#define CCISS_REVALIDVOLS  _IO(CCISS_IOC_MAGIC, 10)
  78#define CCISS_PASSTHRU     _IOWR(CCISS_IOC_MAGIC, 11, IOCTL_Command_struct)
  79#define CCISS_DEREGDISK    _IO(CCISS_IOC_MAGIC, 12)
  80
  81/* no longer used... use REGNEWD instead */ 
  82#define CCISS_REGNEWDISK  _IOW(CCISS_IOC_MAGIC, 13, int)
  83
  84#define CCISS_REGNEWD      _IO(CCISS_IOC_MAGIC, 14)
  85#define CCISS_RESCANDISK   _IO(CCISS_IOC_MAGIC, 16)
  86#define CCISS_GETLUNINFO   _IOR(CCISS_IOC_MAGIC, 17, LogvolInfo_struct)
  87#define CCISS_BIG_PASSTHRU _IOWR(CCISS_IOC_MAGIC, 18, BIG_IOCTL_Command_struct)
  88
  89#endif /* _UAPICCISS_IOCTLH */
  90