diff options
author | Stephen Hemminger <shemminger@linux-foundation.org> | 2008-01-31 01:04:05 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2008-03-17 07:49:23 -0400 |
commit | 548c36e983f346621b5cb9ab031e4383e9996576 (patch) | |
tree | 7c341c1513a6d84a06c86f5045c885086a7524eb /drivers/net/sk98lin/h/skcsum.h | |
parent | a978b30af3bab0dd9af9350eeda25e76123fa28e (diff) |
sk98lin: remove obsolete driver
All the hardware supported by this driver is now supported
by the skge driver. The last remaining issue was support for ancient
dual port SysKonnect fiber boards, and the skge driver now does these
correctly (p.s. sk98lin was always broken on these old dual port
boards anyway).
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers/net/sk98lin/h/skcsum.h')
-rw-r--r-- | drivers/net/sk98lin/h/skcsum.h | 213 |
1 files changed, 0 insertions, 213 deletions
diff --git a/drivers/net/sk98lin/h/skcsum.h b/drivers/net/sk98lin/h/skcsum.h deleted file mode 100644 index 6e256bd9a28c..000000000000 --- a/drivers/net/sk98lin/h/skcsum.h +++ /dev/null | |||
@@ -1,213 +0,0 @@ | |||
1 | /****************************************************************************** | ||
2 | * | ||
3 | * Name: skcsum.h | ||
4 | * Project: GEnesis - SysKonnect SK-NET Gigabit Ethernet (SK-98xx) | ||
5 | * Version: $Revision: 1.10 $ | ||
6 | * Date: $Date: 2003/08/20 13:59:57 $ | ||
7 | * Purpose: Store/verify Internet checksum in send/receive packets. | ||
8 | * | ||
9 | ******************************************************************************/ | ||
10 | |||
11 | /****************************************************************************** | ||
12 | * | ||
13 | * (C)Copyright 1998-2001 SysKonnect GmbH. | ||
14 | * | ||
15 | * This program is free software; you can redistribute it and/or modify | ||
16 | * it under the terms of the GNU General Public License as published by | ||
17 | * the Free Software Foundation; either version 2 of the License, or | ||
18 | * (at your option) any later version. | ||
19 | * | ||
20 | * The information in this file is provided "AS IS" without warranty. | ||
21 | * | ||
22 | ******************************************************************************/ | ||
23 | |||
24 | /****************************************************************************** | ||
25 | * | ||
26 | * Description: | ||
27 | * | ||
28 | * Public header file for the "GEnesis" common module "CSUM". | ||
29 | * | ||
30 | * "GEnesis" is an abbreviation of "Gigabit Ethernet Network System in Silicon" | ||
31 | * and is the code name of this SysKonnect project. | ||
32 | * | ||
33 | * Compilation Options: | ||
34 | * | ||
35 | * SK_USE_CSUM - Define if CSUM is to be used. Otherwise, CSUM will be an | ||
36 | * empty module. | ||
37 | * | ||
38 | * SKCS_OVERWRITE_PROTO - Define to overwrite the default protocol id | ||
39 | * definitions. In this case, all SKCS_PROTO_xxx definitions must be made | ||
40 | * external. | ||
41 | * | ||
42 | * SKCS_OVERWRITE_STATUS - Define to overwrite the default return status | ||
43 | * definitions. In this case, all SKCS_STATUS_xxx definitions must be made | ||
44 | * external. | ||
45 | * | ||
46 | * Include File Hierarchy: | ||
47 | * | ||
48 | * "h/skcsum.h" | ||
49 | * "h/sktypes.h" | ||
50 | * "h/skqueue.h" | ||
51 | * | ||
52 | ******************************************************************************/ | ||
53 | |||
54 | #ifndef __INC_SKCSUM_H | ||
55 | #define __INC_SKCSUM_H | ||
56 | |||
57 | #include "h/sktypes.h" | ||
58 | #include "h/skqueue.h" | ||
59 | |||
60 | /* defines ********************************************************************/ | ||
61 | |||
62 | /* | ||
63 | * Define the default bit flags for 'SKCS_PACKET_INFO.ProtocolFlags' if no user | ||
64 | * overwrite. | ||
65 | */ | ||
66 | #ifndef SKCS_OVERWRITE_PROTO /* User overwrite? */ | ||
67 | #define SKCS_PROTO_IP 0x1 /* IP (Internet Protocol version 4) */ | ||
68 | #define SKCS_PROTO_TCP 0x2 /* TCP (Transmission Control Protocol) */ | ||
69 | #define SKCS_PROTO_UDP 0x4 /* UDP (User Datagram Protocol) */ | ||
70 | |||
71 | /* Indices for protocol statistics. */ | ||
72 | #define SKCS_PROTO_STATS_IP 0 | ||
73 | #define SKCS_PROTO_STATS_UDP 1 | ||
74 | #define SKCS_PROTO_STATS_TCP 2 | ||
75 | #define SKCS_NUM_PROTOCOLS 3 /* Number of supported protocols. */ | ||
76 | #endif /* !SKCS_OVERWRITE_PROTO */ | ||
77 | |||
78 | /* | ||
79 | * Define the default SKCS_STATUS type and values if no user overwrite. | ||
80 | * | ||
81 | * SKCS_STATUS_UNKNOWN_IP_VERSION - Not an IP v4 frame. | ||
82 | * SKCS_STATUS_IP_CSUM_ERROR - IP checksum error. | ||
83 | * SKCS_STATUS_IP_CSUM_ERROR_TCP - IP checksum error in TCP frame. | ||
84 | * SKCS_STATUS_IP_CSUM_ERROR_UDP - IP checksum error in UDP frame | ||
85 | * SKCS_STATUS_IP_FRAGMENT - IP fragment (IP checksum ok). | ||
86 | * SKCS_STATUS_IP_CSUM_OK - IP checksum ok (not a TCP or UDP frame). | ||
87 | * SKCS_STATUS_TCP_CSUM_ERROR - TCP checksum error (IP checksum ok). | ||
88 | * SKCS_STATUS_UDP_CSUM_ERROR - UDP checksum error (IP checksum ok). | ||
89 | * SKCS_STATUS_TCP_CSUM_OK - IP and TCP checksum ok. | ||
90 | * SKCS_STATUS_UDP_CSUM_OK - IP and UDP checksum ok. | ||
91 | * SKCS_STATUS_IP_CSUM_OK_NO_UDP - IP checksum OK and no UDP checksum. | ||
92 | */ | ||
93 | #ifndef SKCS_OVERWRITE_STATUS /* User overwrite? */ | ||
94 | #define SKCS_STATUS int /* Define status type. */ | ||
95 | |||
96 | #define SKCS_STATUS_UNKNOWN_IP_VERSION 1 | ||
97 | #define SKCS_STATUS_IP_CSUM_ERROR 2 | ||
98 | #define SKCS_STATUS_IP_FRAGMENT 3 | ||
99 | #define SKCS_STATUS_IP_CSUM_OK 4 | ||
100 | #define SKCS_STATUS_TCP_CSUM_ERROR 5 | ||
101 | #define SKCS_STATUS_UDP_CSUM_ERROR 6 | ||
102 | #define SKCS_STATUS_TCP_CSUM_OK 7 | ||
103 | #define SKCS_STATUS_UDP_CSUM_OK 8 | ||
104 | /* needed for Microsoft */ | ||
105 | #define SKCS_STATUS_IP_CSUM_ERROR_UDP 9 | ||
106 | #define SKCS_STATUS_IP_CSUM_ERROR_TCP 10 | ||
107 | /* UDP checksum may be omitted */ | ||
108 | #define SKCS_STATUS_IP_CSUM_OK_NO_UDP 11 | ||
109 | #endif /* !SKCS_OVERWRITE_STATUS */ | ||
110 | |||
111 | /* Clear protocol statistics event. */ | ||
112 | #define SK_CSUM_EVENT_CLEAR_PROTO_STATS 1 | ||
113 | |||
114 | /* | ||
115 | * Add two values in one's complement. | ||
116 | * | ||
117 | * Note: One of the two input values may be "longer" than 16-bit, but then the | ||
118 | * resulting sum may be 17 bits long. In this case, add zero to the result using | ||
119 | * SKCS_OC_ADD() again. | ||
120 | * | ||
121 | * Result = Value1 + Value2 | ||
122 | */ | ||
123 | #define SKCS_OC_ADD(Result, Value1, Value2) { \ | ||
124 | unsigned long Sum; \ | ||
125 | \ | ||
126 | Sum = (unsigned long) (Value1) + (unsigned long) (Value2); \ | ||
127 | /* Add-in any carry. */ \ | ||
128 | (Result) = (Sum & 0xffff) + (Sum >> 16); \ | ||
129 | } | ||
130 | |||
131 | /* | ||
132 | * Subtract two values in one's complement. | ||
133 | * | ||
134 | * Result = Value1 - Value2 | ||
135 | */ | ||
136 | #define SKCS_OC_SUB(Result, Value1, Value2) \ | ||
137 | SKCS_OC_ADD((Result), (Value1), ~(Value2) & 0xffff) | ||
138 | |||
139 | /* typedefs *******************************************************************/ | ||
140 | |||
141 | /* | ||
142 | * SKCS_PROTO_STATS - The CSUM protocol statistics structure. | ||
143 | * | ||
144 | * There is one instance of this structure for each protocol supported. | ||
145 | */ | ||
146 | typedef struct s_CsProtocolStatistics { | ||
147 | SK_U64 RxOkCts; /* Receive checksum ok. */ | ||
148 | SK_U64 RxUnableCts; /* Unable to verify receive checksum. */ | ||
149 | SK_U64 RxErrCts; /* Receive checksum error. */ | ||
150 | SK_U64 TxOkCts; /* Transmit checksum ok. */ | ||
151 | SK_U64 TxUnableCts; /* Unable to calculate checksum in hw. */ | ||
152 | } SKCS_PROTO_STATS; | ||
153 | |||
154 | /* | ||
155 | * s_Csum - The CSUM module context structure. | ||
156 | */ | ||
157 | typedef struct s_Csum { | ||
158 | /* Enabled receive SK_PROTO_XXX bit flags. */ | ||
159 | unsigned ReceiveFlags[SK_MAX_NETS]; | ||
160 | #ifdef TX_CSUM | ||
161 | unsigned TransmitFlags[SK_MAX_NETS]; | ||
162 | #endif /* TX_CSUM */ | ||
163 | |||
164 | /* The protocol statistics structure; one per supported protocol. */ | ||
165 | SKCS_PROTO_STATS ProtoStats[SK_MAX_NETS][SKCS_NUM_PROTOCOLS]; | ||
166 | } SK_CSUM; | ||
167 | |||
168 | /* | ||
169 | * SKCS_PACKET_INFO - The packet information structure. | ||
170 | */ | ||
171 | typedef struct s_CsPacketInfo { | ||
172 | /* Bit field specifiying the desired/found protocols. */ | ||
173 | unsigned ProtocolFlags; | ||
174 | |||
175 | /* Length of complete IP header, including any option fields. */ | ||
176 | unsigned IpHeaderLength; | ||
177 | |||
178 | /* IP header checksum. */ | ||
179 | unsigned IpHeaderChecksum; | ||
180 | |||
181 | /* TCP/UDP pseudo header checksum. */ | ||
182 | unsigned PseudoHeaderChecksum; | ||
183 | } SKCS_PACKET_INFO; | ||
184 | |||
185 | /* function prototypes ********************************************************/ | ||
186 | |||
187 | #ifndef SK_CS_CALCULATE_CHECKSUM | ||
188 | extern unsigned SkCsCalculateChecksum( | ||
189 | void *pData, | ||
190 | unsigned Length); | ||
191 | #endif /* SK_CS_CALCULATE_CHECKSUM */ | ||
192 | |||
193 | extern int SkCsEvent( | ||
194 | SK_AC *pAc, | ||
195 | SK_IOC Ioc, | ||
196 | SK_U32 Event, | ||
197 | SK_EVPARA Param); | ||
198 | |||
199 | extern SKCS_STATUS SkCsGetReceiveInfo( | ||
200 | SK_AC *pAc, | ||
201 | void *pIpHeader, | ||
202 | unsigned Checksum1, | ||
203 | unsigned Checksum2, | ||
204 | int NetNumber); | ||
205 | |||
206 | extern void SkCsSetReceiveFlags( | ||
207 | SK_AC *pAc, | ||
208 | unsigned ReceiveFlags, | ||
209 | unsigned *pChecksum1Offset, | ||
210 | unsigned *pChecksum2Offset, | ||
211 | int NetNumber); | ||
212 | |||
213 | #endif /* __INC_SKCSUM_H */ | ||