⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arlan.h

📁 优龙2410linux2.6.8内核源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/* *  Copyright (C) 1997 Cullen Jennings *  Copyright (C) 1998 Elmer.Joandi@ut.ee, +37-255-13500	 *  GNU General Public License applies */#include <linux/module.h>#include <linux/config.h>#include <linux/kernel.h>#include <linux/types.h>#include <linux/skbuff.h>#include <linux/if_ether.h>	/* For the statistics structure. */#include <linux/if_arp.h>	/* For ARPHRD_ETHER */#include <linux/ptrace.h>#include <linux/ioport.h>#include <linux/in.h>#include <linux/slab.h>#include <linux/string.h>#include <linux/timer.h>#include <linux/init.h>#include <asm/system.h>#include <asm/bitops.h>#include <asm/io.h>#include <linux/errno.h>#include <linux/delay.h>#include <linux/netdevice.h>#include <linux/etherdevice.h>//#define ARLAN_DEBUGGING 1#define ARLAN_PROC_INTERFACE#define MAX_ARLANS 4 /* not more than 4 ! */#define ARLAN_PROC_SHM_DUMP /* shows all card registers, makes driver way larger */#define ARLAN_MAX_MULTICAST_ADDRS 16#define ARLAN_RCV_CLEAN 	0#define ARLAN_RCV_PROMISC 1#define ARLAN_RCV_CONTROL 2#ifdef CONFIG_PROC_FSextern int init_arlan_proc(void);extern void cleanup_arlan_proc(void);#else#define init_arlan_proc()	(0)#define cleanup_arlan_proc()	do { } while (0);#endifextern struct net_device *arlan_device[MAX_ARLANS];extern int	arlan_debug;extern int	arlan_entry_debug;extern int	arlan_exit_debug;extern int	testMemory;extern int     arlan_command(struct net_device * dev, int command); #define SIDUNKNOWN -1#define radioNodeIdUNKNOWN -1#define irqUNKNOWN 0#define debugUNKNOWN 0#define testMemoryUNKNOWN 1#define spreadingCodeUNKNOWN 0#define channelNumberUNKNOWN 0#define channelSetUNKNOWN 0#define systemIdUNKNOWN -1#define registrationModeUNKNOWN -1#define IFDEBUG( L ) if ( (L) & arlan_debug ) #define ARLAN_FAKE_HDR_LEN 12 #ifdef ARLAN_DEBUGGING	#define DEBUG 1	#define ARLAN_ENTRY_EXIT_DEBUGGING 1	#define ARLAN_DEBUG(a,b) printk(KERN_DEBUG a, b)#else	#define ARLAN_DEBUG(a,b) #endif#define ARLAN_SHMEM_SIZE	0x2000struct arlan_shmem{      /* Header Signature */       volatile	char textRegion[48];      volatile	u_char resetFlag;      volatile	u_char  diagnosticInfo;      volatile	u_short diagnosticOffset;      volatile	u_char _1[12];      volatile	u_char lanCardNodeId[6];      volatile	u_char broadcastAddress[6];      volatile	u_char hardwareType;      volatile	u_char majorHardwareVersion;      volatile	u_char minorHardwareVersion;      volatile	u_char radioModule;// shows EEPROM, can be overridden at 0x111      volatile	u_char defaultChannelSet; // shows EEProm, can be overriiden at 0x10A      volatile	u_char _2[47];            /* Control/Status Block - 0x0080 */      volatile	u_char interruptInProgress; /* not used by lancpu */      volatile	u_char cntrlRegImage; /* not used by lancpu */      volatile	u_char _3[13];      volatile	u_char dumpByte;      volatile	u_char commandByte; /* non-zero = active */      volatile	u_char commandParameter[15];      /* Receive Status - 0x00a0 */      volatile	u_char rxStatus; /* 1- data, 2-control, 0xff - registr change */      volatile	u_char rxFrmType;      volatile	u_short rxOffset;      volatile	u_short rxLength;      volatile	u_char rxSrc[6];      volatile	u_char rxBroadcastFlag;      volatile	u_char rxQuality;      volatile	u_char scrambled;      volatile	u_char _4[1];            /* Transmit Status - 0x00b0 */      volatile	u_char txStatus;      volatile	u_char txAckQuality;      volatile	u_char numRetries;      volatile	u_char _5[14];      volatile	u_char registeredRouter[6];      volatile	u_char backboneRouter[6];      volatile	u_char registrationStatus;      volatile	u_char configuredStatusFlag;      volatile	u_char _6[1];      volatile	u_char ultimateDestAddress[6];      volatile	u_char immedDestAddress[6];      volatile	u_char immedSrcAddress[6];      volatile	u_short rxSequenceNumber;      volatile	u_char assignedLocaltalkAddress;      volatile	u_char _7[27];      /* System Parameter Block */      /* - Driver Parameters (Novell Specific) */      volatile	u_short txTimeout;      volatile	u_short transportTime;      volatile	u_char _8[4];      /* - Configuration Parameters */      volatile	u_char irqLevel;      volatile	u_char spreadingCode;      volatile	u_char channelSet;      volatile	u_char channelNumber;      volatile	u_short radioNodeId;      volatile	u_char _9[2];      volatile	u_char scramblingDisable;      volatile	u_char radioType;      volatile	u_short routerId;      volatile	u_char _10[9];      volatile	u_char txAttenuation;      volatile	u_char systemId[4];       volatile	u_short globalChecksum;      volatile	u_char _11[4];      volatile	u_short maxDatagramSize;      volatile	u_short maxFrameSize;      volatile	u_char maxRetries;      volatile	u_char receiveMode;      volatile	u_char priority;      volatile	u_char rootOrRepeater;      volatile	u_char specifiedRouter[6];      volatile	u_short fastPollPeriod;      volatile	u_char pollDecay;      volatile	u_char fastPollDelay[2];      volatile	u_char arlThreshold;      volatile	u_char arlDecay;      volatile	u_char _12[1];      volatile	u_short specRouterTimeout;      volatile	u_char _13[5];      /* Scrambled Area */      volatile	u_char SID[4];      volatile	u_char encryptionKey[12];      volatile	u_char _14[2];      volatile	u_char waitTime[2];      volatile	u_char lParameter[2];      volatile	u_char _15[3];      volatile	u_short headerSize;      volatile	u_short sectionChecksum;      volatile	u_char registrationMode;      volatile	u_char registrationFill;      volatile	u_short pollPeriod;      volatile	u_short refreshPeriod;      volatile	u_char name[16];      volatile	u_char NID[6];      volatile	u_char localTalkAddress;      volatile	u_char codeFormat;      volatile	u_char numChannels;      volatile	u_char channel1;      volatile	u_char channel2;      volatile	u_char channel3;      volatile	u_char channel4;      volatile	u_char SSCode[59];      volatile	u_char _16[0xC0];      volatile	u_short auxCmd;      volatile	u_char  dumpPtr[4];      volatile	u_char dumpVal;      volatile	u_char _17[0x6A];      volatile	u_char wireTest;      volatile	u_char _18[14];      /* Statistics Block - 0x0300 */      volatile	u_char hostcpuLock;      volatile	u_char lancpuLock;      volatile	u_char resetTime[18];            volatile	u_char numDatagramsTransmitted[4];      volatile	u_char numReTransmissions[4];      volatile	u_char numFramesDiscarded[4];      volatile	u_char numDatagramsReceived[4];      volatile	u_char numDuplicateReceivedFrames[4];      volatile	u_char numDatagramsDiscarded[4];            volatile	u_short maxNumReTransmitDatagram;      volatile	u_short maxNumReTransmitFrames;      volatile	u_short maxNumConsecutiveDuplicateFrames;      /* misaligned here so we have to go to characters */           volatile	u_char numBytesTransmitted[4];      volatile	u_char numBytesReceived[4];      volatile	u_char numCRCErrors[4];      volatile	u_char numLengthErrors[4];      volatile	u_char numAbortErrors[4];      volatile	u_char numTXUnderruns[4];      volatile	u_char numRXOverruns[4];      volatile	u_char numHoldOffs[4];      volatile	u_char numFramesTransmitted[4];      volatile	u_char numFramesReceived[4];      volatile	u_char numReceiveFramesLost[4];      volatile	u_char numRXBufferOverflows[4];      volatile	u_char numFramesDiscardedAddrMismatch[4];      volatile	u_char numFramesDiscardedSIDMismatch[4];      volatile	u_char numPollsTransmistted[4];      volatile	u_char numPollAcknowledges[4];      volatile	u_char numStatusTimeouts[4];      volatile	u_char numNACKReceived[4];      volatile	u_char _19[0x86];      volatile	u_char txBuffer[0x800];      volatile	u_char rxBuffer[0x800];      volatile	u_char _20[0x800];      volatile	u_char _21[0x3fb];      volatile	u_char configStatus;      volatile	u_char _22;      volatile	u_char progIOCtrl;      volatile	u_char shareMBase;      volatile	u_char controlRegister;};struct arlan_conf_stru {      int spreadingCode;      int channelSet;      int channelNumber;      int scramblingDisable;      int txAttenuation;      int systemId;       int maxDatagramSize;      int maxFrameSize;      int maxRetries;      int receiveMode;      int priority;      int rootOrRepeater;      int SID;      int radioNodeId;      int registrationMode;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -