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