cciss_ioctl.h
01: #ifndef CCISS_IOCTLH
02: #define CCISS_IOCTLH
03:
04: #include <linux/types.h>
05: #include <linux/ioctl.h>
06: #include <linux/cciss_defs.h>
07:
08: #define CCISS_IOC_MAGIC 'B'
09:
10:
11: typedef 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:
19: typedef struct _cciss_coalint_struct
20: {
21: __u32 delay;
22: __u32 count;
23: } cciss_coalint_struct;
24:
25: typedef char NodeName_type[16];
26:
27: typedef __u32 Heartbeat_type;
28:
29: #define CISS_PARSCSIU2 0x0001
30: #define CISS_PARCSCIU3 0x0002
31: #define CISS_FIBRE1G 0x0100
32: #define CISS_FIBRE2G 0x0200
33: typedef __u32 BusTypes_type;
34:
35: typedef char FirmwareVer_type[4];
36: typedef __u32 DriverVer_type;
37:
38: #define MAX_KMALLOC_SIZE 128000
39:
40: typedef struct _IOCTL_Command_struct {
41: LUNAddr_struct LUN_info;
42: RequestBlock_struct Request;
43: ErrorInfo_struct error_info;
44: WORD buf_size;
45: BYTE *buf;
46: } IOCTL_Command_struct;
47:
48: typedef struct _BIG_IOCTL_Command_struct {
49: LUNAddr_struct LUN_info;
50: RequestBlock_struct Request;
51: ErrorInfo_struct error_info;
52: DWORD malloc_size;
53: DWORD buf_size;
54:
55: BYTE *buf;
56: } BIG_IOCTL_Command_struct;
57:
58: typedef struct _LogvolInfo_struct{
59: __u32 LunID;
60: int num_opens;
61: int num_parts;
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:
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
89:
© Andrew Scott 2006 -
2025,
All Rights Reserved