Blame view

include/linux/cciss_ioctl.h 3.58 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
  #ifndef CCISS_IOCTLH
  #define CCISS_IOCTLH
  
  #include <linux/types.h>
  #include <linux/ioctl.h>
429c42c9d   dann frazier   cciss: Consolidat...
6
  #include <linux/cciss_defs.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
7
8
9
10
11
12
13
14
  
  #define CCISS_IOC_MAGIC 'B'
  
  
  typedef struct _cciss_pci_info_struct
  {
  	unsigned char 	bus;
  	unsigned char 	dev_fn;
7f0d50391   mikem   [PATCH 1/3] cciss...
15
  	unsigned short	domain;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  	__u32 		board_id;
  } cciss_pci_info_struct; 
  
  typedef struct _cciss_coalint_struct
  {
  	__u32  delay;
  	__u32  count;
  } cciss_coalint_struct;
  
  typedef char NodeName_type[16];
  
  typedef __u32 Heartbeat_type;
  
  #define CISS_PARSCSIU2 	0x0001
  #define CISS_PARCSCIU3 	0x0002
  #define CISS_FIBRE1G	0x0100
  #define CISS_FIBRE2G	0x0200
  typedef __u32 BusTypes_type;
  
  typedef char FirmwareVer_type[4];
  typedef __u32 DriverVer_type;
  
  #define MAX_KMALLOC_SIZE 128000
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
  typedef struct _IOCTL_Command_struct {
    LUNAddr_struct	   LUN_info;
    RequestBlock_struct      Request;
    ErrorInfo_struct  	   error_info; 
    WORD			   buf_size;  /* size in bytes of the buf */
    BYTE			   __user *buf;
  } IOCTL_Command_struct;
  
  typedef struct _BIG_IOCTL_Command_struct {
    LUNAddr_struct	   LUN_info;
    RequestBlock_struct      Request;
    ErrorInfo_struct  	   error_info;
    DWORD			   malloc_size; /* < MAX_KMALLOC_SIZE in cciss.c */
    DWORD			   buf_size;    /* size in bytes of the buf */
    				        /* < malloc_size * MAXSGENTRIES */
    BYTE			   __user *buf;
  } BIG_IOCTL_Command_struct;
  
  typedef struct _LogvolInfo_struct{
  	__u32	LunID;
  	int	num_opens;  /* number of opens on the logical volume */
  	int	num_parts;  /* number of partitions configured on logvol */
  } LogvolInfo_struct;
  
  #define CCISS_GETPCIINFO _IOR(CCISS_IOC_MAGIC, 1, cciss_pci_info_struct)
  
  #define CCISS_GETINTINFO _IOR(CCISS_IOC_MAGIC, 2, cciss_coalint_struct)
  #define CCISS_SETINTINFO _IOW(CCISS_IOC_MAGIC, 3, cciss_coalint_struct)
  
  #define CCISS_GETNODENAME _IOR(CCISS_IOC_MAGIC, 4, NodeName_type)
  #define CCISS_SETNODENAME _IOW(CCISS_IOC_MAGIC, 5, NodeName_type)
  
  #define CCISS_GETHEARTBEAT _IOR(CCISS_IOC_MAGIC, 6, Heartbeat_type)
  #define CCISS_GETBUSTYPES  _IOR(CCISS_IOC_MAGIC, 7, BusTypes_type)
  #define CCISS_GETFIRMVER   _IOR(CCISS_IOC_MAGIC, 8, FirmwareVer_type)
  #define CCISS_GETDRIVVER   _IOR(CCISS_IOC_MAGIC, 9, DriverVer_type)
  #define CCISS_REVALIDVOLS  _IO(CCISS_IOC_MAGIC, 10)
  #define CCISS_PASSTHRU	   _IOWR(CCISS_IOC_MAGIC, 11, IOCTL_Command_struct)
  #define CCISS_DEREGDISK	   _IO(CCISS_IOC_MAGIC, 12)
  
  /* no longer used... use REGNEWD instead */ 
  #define CCISS_REGNEWDISK  _IOW(CCISS_IOC_MAGIC, 13, int)
  
  #define CCISS_REGNEWD	   _IO(CCISS_IOC_MAGIC, 14)
  #define CCISS_RESCANDISK   _IO(CCISS_IOC_MAGIC, 16)
  #define CCISS_GETLUNINFO   _IOR(CCISS_IOC_MAGIC, 17, LogvolInfo_struct)
  #define CCISS_BIG_PASSTHRU _IOWR(CCISS_IOC_MAGIC, 18, BIG_IOCTL_Command_struct)
  
  #ifdef __KERNEL__
  #ifdef CONFIG_COMPAT
  
  /* 32 bit compatible ioctl structs */
  typedef struct _IOCTL32_Command_struct {
    LUNAddr_struct	   LUN_info;
    RequestBlock_struct      Request;
    ErrorInfo_struct  	   error_info;
    WORD			   buf_size;  /* size in bytes of the buf */
    __u32			   buf; /* 32 bit pointer to data buffer */
  } IOCTL32_Command_struct;
  
  typedef struct _BIG_IOCTL32_Command_struct {
    LUNAddr_struct	   LUN_info;
    RequestBlock_struct      Request;
    ErrorInfo_struct  	   error_info;
    DWORD			   malloc_size; /* < MAX_KMALLOC_SIZE in cciss.c */
    DWORD			   buf_size;    /* size in bytes of the buf */
    				        /* < malloc_size * MAXSGENTRIES */
    __u32 		buf;	/* 32 bit pointer to data buffer */
  } BIG_IOCTL32_Command_struct;
  
  #define CCISS_PASSTHRU32   _IOWR(CCISS_IOC_MAGIC, 11, IOCTL32_Command_struct)
  #define CCISS_BIG_PASSTHRU32 _IOWR(CCISS_IOC_MAGIC, 18, BIG_IOCTL32_Command_struct)
  
  #endif /* CONFIG_COMPAT */
  #endif /* __KERNEL__ */
  #endif