0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef MEGARAID_MM_H
0012 #define MEGARAID_MM_H
0013
0014 #include <linux/spinlock.h>
0015 #include <linux/fs.h>
0016 #include <linux/uaccess.h>
0017 #include <linux/module.h>
0018 #include <linux/moduleparam.h>
0019 #include <linux/pci.h>
0020 #include <linux/list.h>
0021 #include <linux/miscdevice.h>
0022
0023 #include "mbox_defs.h"
0024 #include "megaraid_ioctl.h"
0025
0026
0027 #define LSI_COMMON_MOD_VERSION "2.20.2.7"
0028 #define LSI_COMMON_MOD_EXT_VERSION \
0029 "(Release Date: Sun Jul 16 00:01:03 EST 2006)"
0030
0031
0032 #define LSI_DBGLVL dbglevel
0033
0034
0035 #define MRAID_MM_INIT_BUFF_SIZE 4096
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060 typedef struct mimd {
0061
0062 uint32_t inlen;
0063 uint32_t outlen;
0064
0065 union {
0066 uint8_t fca[16];
0067 struct {
0068 uint8_t opcode;
0069 uint8_t subopcode;
0070 uint16_t adapno;
0071 #if BITS_PER_LONG == 32
0072 uint8_t __user *buffer;
0073 uint8_t pad[4];
0074 #endif
0075 #if BITS_PER_LONG == 64
0076 uint8_t __user *buffer;
0077 #endif
0078 uint32_t length;
0079 } __attribute__ ((packed)) fcs;
0080 } __attribute__ ((packed)) ui;
0081
0082 uint8_t mbox[18];
0083 mraid_passthru_t pthru;
0084
0085 #if BITS_PER_LONG == 32
0086 char __user *data;
0087 char pad[4];
0088 #endif
0089 #if BITS_PER_LONG == 64
0090 char __user *data;
0091 #endif
0092
0093 } __attribute__ ((packed))mimd_t;
0094
0095 #endif
0096
0097