patch-2.4.23 linux-2.4.23/drivers/net/sk98lin/skproc.c

Next file: linux-2.4.23/drivers/net/sk98lin/skqueue.c
Previous file: linux-2.4.23/drivers/net/sk98lin/ski2c.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.22/drivers/net/sk98lin/skproc.c linux-2.4.23/drivers/net/sk98lin/skproc.c
@@ -2,15 +2,15 @@
  *
  * Name:    skproc.c
  * Project:	GEnesis, PCI Gigabit Ethernet Adapter
- * Version:	$Revision: 1.3 $
- * Date:    $Date: 2002/10/02 12:59:51 $
+ * Version:	$Revision: 1.2 $
+ * Date:    $Date: 2003/08/12 16:45:29 $
  * Purpose:	Funktions to display statictic data
  *
  ******************************************************************************/
  
 /******************************************************************************
  *
- *	(C)Copyright 1998-2002 SysKonnect GmbH.
+ *	(C)Copyright 1998-2003 SysKonnect GmbH.
  *
  *	This program is free software; you can redistribute it and/or modify
  *	it under the terms of the GNU General Public License as published by
@@ -28,6 +28,28 @@
  * History:
  *
  *	$Log: skproc.c,v $
+ *	Revision 1.2  2003/08/12 16:45:29  mlindner
+ *	Add: Removed SkNumber and SkDoDiv
+ *	Add: Counter output as (unsigned long long)
+ *	
+ *	Revision 1.1  2003/07/18 13:39:57  rroesler
+ *	Fix: Re-enter after CVS crash
+ *	
+ *	Revision 1.8  2003/06/27 14:41:42  rroesler
+ *	Corrected compiler-warning kernel 2.2
+ *	
+ *	Revision 1.7  2003/06/27 12:09:51  rroesler
+ *	corrected minor edits
+ *	
+ *	Revision 1.6  2003/05/26 12:58:53  mlindner
+ *	Add: Support for Kernel 2.5/2.6
+ *	
+ *	Revision 1.5  2003/03/19 14:40:47  mlindner
+ *	Fix: Editorial changes
+ *	
+ *	Revision 1.4  2003/02/25 14:16:37  mlindner
+ *	Fix: Copyright statement
+ *	
  *	Revision 1.3  2002/10/02 12:59:51  mlindner
  *	Add: Support for Yukon
  *	Add: Speed check and setup
@@ -71,29 +93,22 @@
 
 #include "h/skdrv1st.h"
 #include "h/skdrv2nd.h"
-#define ZEROPAD		1		/* pad with zero */
-#define SIGN		2		/* unsigned/signed long */
-#define PLUS		4		/* show plus */
-#define SPACE		8		/* space if plus */
-#define LEFT		16		/* left justified */
-#define SPECIALX	32		/* 0x */
-#define LARGE		64
-
-extern SK_AC				*pACList;
-extern struct net_device 	*SkGeRootDev;
-
-extern char * SkNumber(
-	char * str,
-	long long num,
-	int base,
-	int size,
-	int precision,
-	int type);
+
+	extern struct net_device	*SkGeRootDev;
+
+
+int sk_proc_read(char *buffer,
+				char **buffer_location,
+				off_t offset,
+				int buffer_length,
+				int *eof,
+				void *data);
+
 
 
 /*****************************************************************************
  *
- * 	proc_read - print "summaries" entry 
+ * 	sk_proc_read - print "summaries" entry 
  *
  * Description:
  *  This function fills the proc entry with statistic data about 
@@ -103,7 +118,7 @@
  * Returns: buffer with statistic data
  *	
  */
-int proc_read(char *buffer,
+int sk_proc_read(char *buffer,
 char **buffer_location,
 off_t offset,
 int buffer_length,
@@ -115,9 +130,8 @@
 	int i;
 	DEV_NET					*pNet;
 	SK_AC					*pAC;
-	char 					test_buf[100];
 	char					sens_msg[50];
-	unsigned long			Flags;		
+	unsigned long			Flags;	
 	unsigned int			Size;
 	struct SK_NET_DEVICE 		*next;
 	struct SK_NET_DEVICE 		*SkgeProcDev = SkGeRootDev;
@@ -225,13 +239,11 @@
 				"\nReceive statistics\n\n");
 
 				len += sprintf(buffer + len,
-					"Received bytes                 %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxOctetsOkCts,
-					10,0,-1,0));
-				len += sprintf(buffer + len,
-					"Received packets               %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxOkCts,
-					10,0,-1,0));
+					"Received bytes                 %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxOctetsOkCts);
+				len += sprintf(buffer + len,
+					"Received packets               %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxOkCts);
 #if 0
 				if (pAC->GIni.GP[0].PhyType == SK_PHY_XMAC && 
 					pAC->HWRevision < 12) {
@@ -245,71 +257,56 @@
 						pPnmiStat->StatRxTooLongCts;
 
 				len += sprintf(buffer + len,
-					"Receive errors                 %s\n",
-					SkNumber(test_buf, pPnmiStruct->InErrorsCts,
-					10,0,-1,0));
-				len += sprintf(buffer + len,
-					"Receive drops                  %s\n",
-					SkNumber(test_buf, pPnmiStruct->RxNoBufCts,
-					10,0,-1,0));
-				len += sprintf(buffer + len,
-					"Received multicast             %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxMulticastOkCts,
-					10,0,-1,0));
+					"Receive errors                 %Ld\n",
+					(unsigned long long) pPnmiStruct->InErrorsCts);
+				len += sprintf(buffer + len,
+					"Receive dropped                %Ld\n",
+					(unsigned long long) pPnmiStruct->RxNoBufCts);
+				len += sprintf(buffer + len,
+					"Received multicast             %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxMulticastOkCts);
 				len += sprintf(buffer + len,
 					"Receive error types\n");
 				len += sprintf(buffer + len,
-					"   length                      %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxRuntCts,
-					10, 0, -1, 0));
-				len += sprintf(buffer + len,
-					"   buffer overflow             %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxFifoOverflowCts,
-					10, 0, -1, 0));
-				len += sprintf(buffer + len,
-					"   bad crc                     %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxFcsCts,
-					10, 0, -1, 0));
-				len += sprintf(buffer + len,
-					"   framing                     %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxFramingCts,
-					10, 0, -1, 0));
-				len += sprintf(buffer + len,
-					"   missed frames               %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxMissedCts,
-					10, 0, -1, 0));
+					"   length                      %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxRuntCts);
+				len += sprintf(buffer + len,
+					"   buffer overflow             %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxFifoOverflowCts);
+				len += sprintf(buffer + len,
+					"   bad crc                     %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxFcsCts);
+				len += sprintf(buffer + len,
+					"   framing                     %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxFramingCts);
+				len += sprintf(buffer + len,
+					"   missed frames               %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxMissedCts);
 
 				if (pNet->Mtu > 1500)
 					pPnmiStat->StatRxTooLongCts = 0;
 
 				len += sprintf(buffer + len,
-					"   too long                    %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxTooLongCts,
-					10, 0, -1, 0));					
-				len += sprintf(buffer + len,
-					"   carrier extension           %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxCextCts,
-					10, 0, -1, 0));				
-				len += sprintf(buffer + len,
-					"   too short                   %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxShortsCts,
-					10, 0, -1, 0));				
-				len += sprintf(buffer + len,
-					"   symbol                      %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxSymbolCts,
-					10, 0, -1, 0));				
-				len += sprintf(buffer + len,
-					"   LLC MAC size                %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxIRLengthCts,
-					10, 0, -1, 0));				
-				len += sprintf(buffer + len,
-					"   carrier event               %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxCarrierCts,
-					10, 0, -1, 0));				
-				len += sprintf(buffer + len,
-					"   jabber                      %s\n",
-					SkNumber(test_buf, pPnmiStat->StatRxJabberCts,
-					10, 0, -1, 0));				
+					"   too long                    %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxTooLongCts);					
+				len += sprintf(buffer + len,
+					"   carrier extension           %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxCextCts);				
+				len += sprintf(buffer + len,
+					"   too short                   %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxShortsCts);				
+				len += sprintf(buffer + len,
+					"   symbol                      %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxSymbolCts);				
+				len += sprintf(buffer + len,
+					"   LLC MAC size                %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxIRLengthCts);				
+				len += sprintf(buffer + len,
+					"   carrier event               %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxCarrierCts);				
+				len += sprintf(buffer + len,
+					"   jabber                      %Ld\n",
+					(unsigned long long) pPnmiStat->StatRxJabberCts);				
 
 
 				/*Transmit statistics */
@@ -317,42 +314,34 @@
 				"\nTransmit statistics\n\n");
 				
 				len += sprintf(buffer + len,
-					"Transmited bytes               %s\n",
-					SkNumber(test_buf, pPnmiStat->StatTxOctetsOkCts,
-					10,0,-1,0));
-				len += sprintf(buffer + len,
-					"Transmited packets             %s\n",
-					SkNumber(test_buf, pPnmiStat->StatTxOkCts,
-					10,0,-1,0));
-				len += sprintf(buffer + len,
-					"Transmit errors                %s\n",
-					SkNumber(test_buf, pPnmiStat->StatTxSingleCollisionCts,
-					10,0,-1,0));
-				len += sprintf(buffer + len,
-					"Transmit dropped               %s\n",
-					SkNumber(test_buf, pPnmiStruct->TxNoBufCts,
-					10,0,-1,0));
-				len += sprintf(buffer + len,
-					"Transmit collisions            %s\n",
-					SkNumber(test_buf, pPnmiStat->StatTxSingleCollisionCts,
-					10,0,-1,0));
+					"Transmited bytes               %Ld\n",
+					(unsigned long long) pPnmiStat->StatTxOctetsOkCts);
 				len += sprintf(buffer + len,
-					"Transmit errors types\n");
+					"Transmited packets             %Ld\n",
+					(unsigned long long) pPnmiStat->StatTxOkCts);
+				len += sprintf(buffer + len,
+					"Transmit errors                %Ld\n",
+					(unsigned long long) pPnmiStat->StatTxSingleCollisionCts);
+				len += sprintf(buffer + len,
+					"Transmit dropped               %Ld\n",
+					(unsigned long long) pPnmiStruct->TxNoBufCts);
+				len += sprintf(buffer + len,
+					"Transmit collisions            %Ld\n",
+					(unsigned long long) pPnmiStat->StatTxSingleCollisionCts);
+				len += sprintf(buffer + len,
+					"Transmit error types\n");
 				len += sprintf(buffer + len,
 					"   excessive collision         %ld\n",
 					pAC->stats.tx_aborted_errors);
 				len += sprintf(buffer + len,
-					"   carrier                     %s\n",
-					SkNumber(test_buf, pPnmiStat->StatTxCarrierCts,
-					10, 0, -1, 0));
-				len += sprintf(buffer + len,
-					"   fifo underrun               %s\n",
-					SkNumber(test_buf, pPnmiStat->StatTxFifoUnderrunCts,
-					10, 0, -1, 0));
-				len += sprintf(buffer + len,
-					"   heartbeat                   %s\n",
-					SkNumber(test_buf, pPnmiStat->StatTxCarrierCts,
-					10, 0, -1, 0));
+					"   carrier                     %Ld\n",
+					(unsigned long long) pPnmiStat->StatTxCarrierCts);
+				len += sprintf(buffer + len,
+					"   fifo underrun               %Ld\n",
+					(unsigned long long) pPnmiStat->StatTxFifoUnderrunCts);
+				len += sprintf(buffer + len,
+					"   heartbeat                   %Ld\n",
+					(unsigned long long) pPnmiStat->StatTxCarrierCts);
 				len += sprintf(buffer + len,
 					"   window                      %ld\n",
 					pAC->stats.tx_window_errors);
@@ -374,139 +363,3 @@
 }
 
 
-
-
-
-/*****************************************************************************
- *
- * SkDoDiv - convert 64bit number
- *
- * Description:
- *	This function "converts" a long long number.
- *
- * Returns:
- *	remainder of division
- */
-static long SkDoDiv (long long Dividend, int Divisor, long long *pErg)
-{
- long   	Rest;
- long long 	Ergebnis;
- long   	Akku;
-
-
- Akku  = Dividend >> 32;
-
- Ergebnis = ((long long) (Akku / Divisor)) << 32;
- Rest = Akku % Divisor ;
-
- Akku = Rest << 16;
- Akku |= ((Dividend & 0xFFFF0000) >> 16);
-
-
- Ergebnis += ((long long) (Akku / Divisor)) << 16;
- Rest = Akku % Divisor ;
-
- Akku = Rest << 16;
- Akku |= (Dividend & 0xFFFF);
-
- Ergebnis += (Akku / Divisor);
- Rest = Akku % Divisor ;
-
- *pErg = Ergebnis;
- return (Rest);
-}
-
-
-#if 0
-#define do_div(n,base) ({ \
-long long __res; \
-__res = ((unsigned long long) n) % (unsigned) base; \
-n = ((unsigned long long) n) / (unsigned) base; \
-__res; })
-
-#endif
-
-
-/*****************************************************************************
- *
- * SkNumber - Print results
- *
- * Description:
- *	This function converts a long long number into a string.
- *
- * Returns:
- *	number as string
- */
-char * SkNumber(char * str, long long num, int base, int size, int precision
-	,int type)
-{
-	char c,sign,tmp[66], *strorg = str;
-	const char *digits="0123456789abcdefghijklmnopqrstuvwxyz";
-	int i;
-
-	if (type & LARGE)
-		digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-	if (type & LEFT)
-		type &= ~ZEROPAD;
-	if (base < 2 || base > 36)
-		return 0;
-	c = (type & ZEROPAD) ? '0' : ' ';
-	sign = 0;
-	if (type & SIGN) {
-		if (num < 0) {
-			sign = '-';
-			num = -num;
-			size--;
-		} else if (type & PLUS) {
-			sign = '+';
-			size--;
-		} else if (type & SPACE) {
-			sign = ' ';
-			size--;
-		}
-	}
-	if (type & SPECIALX) {
-		if (base == 16)
-			size -= 2;
-		else if (base == 8)
-			size--;
-	}
-	i = 0;
-	if (num == 0)
-		tmp[i++]='0';
-	else while (num != 0)
-		tmp[i++] = digits[SkDoDiv(num,base, &num)];
-
-	if (i > precision)
-		precision = i;
-	size -= precision;
-	if (!(type&(ZEROPAD+LEFT)))
-		while(size-->0)
-			*str++ = ' ';
-	if (sign)
-		*str++ = sign;
-	if (type & SPECIALX) {
-		if (base==8)
-			*str++ = '0';
-		else if (base==16) {
-			*str++ = '0';
-			*str++ = digits[33];
-		}
-	}
-	if (!(type & LEFT))
-		while (size-- > 0)
-			*str++ = c;
-	while (i < precision--)
-		*str++ = '0';
-	while (i-- > 0)
-		*str++ = tmp[i];
-	while (size-- > 0)
-		*str++ = ' ';
-	
-	str[0] = '\0';
-	
-	return strorg;
-}
-
-
-

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)