Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


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;  /* size in bytes of the buf */
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; /* < MAX_KMALLOC_SIZE in cciss.c */
53:   DWORD                    buf_size;    /* size in bytes of the buf */
54:                                         /* < malloc_size * MAXSGENTRIES */
55:   BYTE                     *buf;
56: } BIG_IOCTL_Command_struct;
57: 
58: typedef 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  
89: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/