git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git]
/
include
/
asm-m68knommu
/
checksum.h
diff --git
a/include/asm-m68knommu/checksum.h
b/include/asm-m68knommu/checksum.h
index
294ec75
..
8188348
100644
(file)
--- a/
include/asm-m68knommu/checksum.h
+++ b/
include/asm-m68knommu/checksum.h
@@
-15,7
+15,7
@@
*
* it's best to have buff aligned on a 32-bit boundary
*/
*
* it's best to have buff aligned on a 32-bit boundary
*/
-
unsigned int csum_partial(const unsigned char * buff, int len, unsigned int
sum);
+
__wsum csum_partial(const void *buff, int len, __wsum
sum);
/*
* the same as csum_partial, but copies from src while it
/*
* the same as csum_partial, but copies from src while it
@@
-25,8
+25,8
@@
unsigned int csum_partial(const unsigned char * buff, int len, unsigned int sum)
* better 64-bit) boundary
*/
* better 64-bit) boundary
*/
-
unsigned int csum_partial_copy(const unsigned char *src, unsigned char
*dst,
- int len,
int
sum);
+
__wsum csum_partial_copy_nocheck(const void *src, void
*dst,
+ int len,
__wsum
sum);
/*
/*
@@
-36,33
+36,31
@@
unsigned int csum_partial_copy(const unsigned char *src, unsigned char *dst,
* better 64-bit) boundary
*/
* better 64-bit) boundary
*/
-extern
unsigned int csum_partial_copy_from_user(const unsigned cha
r *src,
-
unsigned char *dst, int len, int
sum, int *csum_err);
+extern
__wsum csum_partial_copy_from_user(const void __use
r *src,
+
void *dst, int len, __wsum
sum, int *csum_err);
-#define csum_partial_copy_nocheck(src, dst, len, sum) \
- csum_partial_copy((src), (dst), (len), (sum))
-
-unsigned short ip_fast_csum(unsigned char *iph, unsigned int ihl);
+__sum16 ip_fast_csum(const void *iph, unsigned int ihl);
/*
* Fold a partial checksum
*/
/*
* Fold a partial checksum
*/
-static inline
unsigned int csum_fold(unsigned int
sum)
+static inline
__sum16 csum_fold(__wsum
sum)
{
{
+ unsigned int tmp = (__force u32)sum;
#ifdef CONFIG_COLDFIRE
#ifdef CONFIG_COLDFIRE
- sum = (sum & 0xffff) + (sum >> 16);
- sum = (sum & 0xffff) + (sum >> 16);
+ tmp = (tmp & 0xffff) + (tmp >> 16);
+ tmp = (tmp & 0xffff) + (tmp >> 16);
+ return (__force __sum16)~tmp;
#else
#else
- unsigned int tmp = sum;
__asm__("swap %1\n\t"
"addw %1, %0\n\t"
"clrw %1\n\t"
"addxw %1, %0"
: "=&d" (sum), "=&d" (tmp)
: "0" (sum), "1" (sum));
__asm__("swap %1\n\t"
"addw %1, %0\n\t"
"clrw %1\n\t"
"addxw %1, %0"
: "=&d" (sum), "=&d" (tmp)
: "0" (sum), "1" (sum));
+ return (__force __sum16)~sum;
#endif
#endif
- return ~sum;
}
}
@@
-71,9
+69,9
@@
static inline unsigned int csum_fold(unsigned int sum)
* returns a 16-bit checksum, already complemented
*/
* returns a 16-bit checksum, already complemented
*/
-static inline
unsigned int
-csum_tcpudp_nofold(
unsigned long saddr, unsigned long
daddr, unsigned short len,
- unsigned short proto,
unsigned int
sum)
+static inline
__wsum
+csum_tcpudp_nofold(
__be32 saddr, __be32
daddr, unsigned short len,
+ unsigned short proto,
__wsum
sum)
{
__asm__ ("addl %1,%0\n\t"
"addxl %4,%0\n\t"
{
__asm__ ("addl %1,%0\n\t"
"addxl %4,%0\n\t"
@@
-86,9
+84,9
@@
csum_tcpudp_nofold(unsigned long saddr, unsigned long daddr, unsigned short len,
return sum;
}
return sum;
}
-static inline
unsigned short int
-csum_tcpudp_magic(
unsigned long saddr, unsigned long
daddr, unsigned short len,
- unsigned short proto,
unsigned int
sum)
+static inline
__sum16
+csum_tcpudp_magic(
__be32 saddr, __be32
daddr, unsigned short len,
+ unsigned short proto,
__wsum
sum)
{
return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum));
}
{
return csum_fold(csum_tcpudp_nofold(saddr,daddr,len,proto,sum));
}
@@
-98,12
+96,12
@@
csum_tcpudp_magic(unsigned long saddr, unsigned long daddr, unsigned short len,
* in icmp.c
*/
* in icmp.c
*/
-extern
unsigned short ip_compute_csum(const unsigned char *
buff, int len);
+extern
__sum16 ip_compute_csum(const void *
buff, int len);
#define _HAVE_ARCH_IPV6_CSUM
#define _HAVE_ARCH_IPV6_CSUM
-static __inline__
unsigned short int
-csum_ipv6_magic(
struct in6_addr *saddr,
struct in6_addr *daddr,
- __u32 len, unsigned short proto,
unsigned int sum)
+static __inline__
__sum16
+csum_ipv6_magic(
const struct in6_addr *saddr, const
struct in6_addr *daddr,
+ __u32 len, unsigned short proto,
__wsum sum)
{
register unsigned long tmp;
__asm__("addl %2@,%0\n\t"
{
register unsigned long tmp;
__asm__("addl %2@,%0\n\t"