#ifndef _NIC82574_KERNEL_MODULE_H_ #define _NIC82574_KERNEL_MODULE_H_ #include #include //#include #include "../../kernel/linux-3.10.5/drivers/net/ethernet/intel/e1000e/e1000.h" #define DEVICE_NAME "nic82574mod" #define NIC82574_FIXUP_MAJOR 252 #define NIC82574_DYNAMIC_MAJOR 0 /* Dynamic major by default if set "0" */ #define NIC82574_MODULE_IOC_MAXNUM 9 #define NIC82574_MODULE_IOC_MAGIC 'E' #define IOCTL_NIC82574_LOOPBACK _IO(NIC82574_MODULE_IOC_MAGIC, 1) #define IOCTL_NIC82574_IGBLINKTEST _IO(NIC82574_MODULE_IOC_MAGIC, 2) #define IOCTL_NIC82574_IGBREGTEST _IO(NIC82574_MODULE_IOC_MAGIC, 3) #define IOCTL_NIC82574_IGBEEPROMTEST _IO(NIC82574_MODULE_IOC_MAGIC, 4) #define IOCTL_NIC82574_IGBINTRTEST _IO(NIC82574_MODULE_IOC_MAGIC, 5) #define IOCTL_NIC82574_IGBMDITEST _IO(NIC82574_MODULE_IOC_MAGIC, 6) #define IOCTL_NIC82574_IGBGETSTATTEST _IO(NIC82574_MODULE_IOC_MAGIC, 7) #define IOCTL_NIC82574_DMAPCITEST _IO(NIC82574_MODULE_IOC_MAGIC, 8) #define IOCTL_NIC82574_IGBIEEETEST _IO(NIC82574_MODULE_IOC_MAGIC, 9) 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; } nic82574_dcr; struct block_cus{ unsigned int blocks; int numOfBlocks; unsigned int pattern; }; struct argu{ char *name; LOOPBACK_TYPE type; struct block_cus blocks; }; /* struct block_cus{ unsigned int blocks; int numOfBlocks; unsigned int pattern; }; */ #endif