?? arlan.h
字號(hào):
/* * Copyright (C) 1997 Cullen Jennings * Copyright (C) 1998 Elmer.Joandi@ut.ee, +37-255-13500 * GNU General Public License applies */#include <linux/version.h>#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);#endifextern struct net_device *arlan_device[MAX_ARLANS];extern int arlan_debug;extern char * siteName;extern int arlan_entry_debug;extern int arlan_exit_debug;extern int testMemory;extern const char* arlan_version;extern int arlan_command(struct net_device * dev, int command); #define SIDUNKNOWN -1#define radioNodeIdUNKNOWN -1#define encryptionKeyUNKNOWN '\0';#define irqUNKNOWN 0#define memUNKNOWN 0#define debugUNKNOWN 0#define probeUNKNOWN 1#define numDevicesUNKNOWN 1#define testMemoryUNKNOWN 1#define spreadingCodeUNKNOWN 0#define channelNumberUNKNOWN 0#define channelSetUNKNOWN 0#define systemIdUNKNOWN -1#define registrationModeUNKNOWN -1#define siteNameUNKNOWN "LinuxSite"#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) #endifstruct 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; int registrationFill; int localTalkAddress; int codeFormat; int numChannels; int channel1; int channel2; int channel3; int channel4; int txClear; int txRetries; int txRouting; int txScrambled; int rxParameter;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -