#ifndef _NICX550_KERNEL_MODULE_H_ #define _NICX550_KERNEL_MODULE_H_ #include #include //#include //#include "../../kernel/linux-3.10.5/drivers/net/ethernet/intel/igb/igb.h" #define DEVICE_NAME NICX550_DEVICE_NAME #define NICX550_DEVICE_NAME "nicX550mod" #define NICX550_FIXUP_MAJOR 252 #define NICX550_DYNAMIC_MAJOR 0 /* Dynamic major by default if set "0" */ #define NICX550_MODULE_IOC_MAXNUM 11 #define NICX550_MODULE_IOC_MAGIC 'F' #define IOCTL_NICX550_LOOPBACK _IO(NICX550_MODULE_IOC_MAGIC, 1) #define IOCTL_NICX550_IXGBELINKTEST _IO(NICX550_MODULE_IOC_MAGIC, 2) #define IOCTL_NICX550_IXGBEREGTEST _IO(NICX550_MODULE_IOC_MAGIC, 3) #define IOCTL_NICX550_IXGBEEEPROMTEST _IO(NICX550_MODULE_IOC_MAGIC, 4) #define IOCTL_NICX550_IXGBEINTRTEST _IO(NICX550_MODULE_IOC_MAGIC, 5) #define IOCTL_NICX550_IXGBEMDITEST _IO(NICX550_MODULE_IOC_MAGIC, 6) #define IOCTL_NICX550_IXGBEGETSTATTEST _IO(NICX550_MODULE_IOC_MAGIC, 7) #define IOCTL_NICX550_DMAPCITEST _IO(NICX550_MODULE_IOC_MAGIC, 8) #define IOCTL_NICX550_IXGBEIEEETEST _IO(NICX550_MODULE_IOC_MAGIC, 9) #define IOCTL_NICX550_IXGBEMDIORead _IO(NICX550_MODULE_IOC_MAGIC, 10) #define IOCTL_NICX550_IXGBEMDIOWrite _IO(NICX550_MODULE_IOC_MAGIC, 11) typedef enum { MAC_LOOPBACK, PHY_LOOPBACK_10M, PHY_LOOPBACK_100M, PHY_LOOPBACK_1000M, EXTERNAL_LOOPBACK_10M, EXTERNAL_LOOPBACK_100M, EXTERNAL_LOOPBACK_1000M, CROSS_LOOPBACK_10M, CROSS_LOOPBACK_100M, CROSS_LOOPBACK_1000M, } LOOPBACK_TYPE; typedef struct { char eth_name; LOOPBACK_TYPE type; } nicX550_dcr; struct block_cus { unsigned int blocks; int numOfBlocks; unsigned int pattern; }; typedef struct _argu { char ethname[10]; LOOPBACK_TYPE type; struct block_cus blocks; } argu; struct phy_register_info{ char ethname[10]; int phyPage; int phyRegister; int phyData; }; /* struct block_cus{ unsigned int blocks; int numOfBlocks; unsigned int pattern; }; */ #endif