Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cciss_ioctl.h
Go to the documentation of this file.
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 
11 typedef struct _cciss_pci_info_struct
12 {
13  unsigned char bus;
14  unsigned char dev_fn;
15  unsigned short domain;
18 
19 typedef struct _cciss_coalint_struct
20 {
24 
25 typedef char NodeName_type[16];
26 
28 
29 #define CISS_PARSCSIU2 0x0001
30 #define CISS_PARCSCIU3 0x0002
31 #define CISS_FIBRE1G 0x0100
32 #define CISS_FIBRE2G 0x0200
34 
35 typedef char FirmwareVer_type[4];
37 
38 #define MAX_KMALLOC_SIZE 128000
39 
40 typedef struct _IOCTL_Command_struct {
44  WORD buf_size; /* size in bytes of the buf */
47 
48 typedef struct _BIG_IOCTL_Command_struct {
52  DWORD malloc_size; /* < MAX_KMALLOC_SIZE in cciss.c */
53  DWORD buf_size; /* size in bytes of the buf */
54  /* < malloc_size * MAXSGENTRIES */
57 
58 typedef struct _LogvolInfo_struct{
60  int num_opens; /* number of opens on the logical volume */
61  int num_parts; /* number of partitions configured on logvol */
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 */