root/include/asm-alpha/checksum.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _ALPHA_CHECKSUM_H
   2 #define _ALPHA_CHECKSUM_H
   3 
   4 
   5 /*
   6  *      This is a version of ip_compute_csum() optimized for IP headers,
   7  *      which always checksum on 4 octet boundaries.
   8  */
   9 extern inline unsigned short ip_fast_csum(unsigned char * iph, unsigned int ihl);
  10 
  11 /*
  12  * computes the checksum of the TCP/UDP pseudo-header
  13  * returns a 16-bit checksum, already complemented
  14  */
  15 extern unsigned short int csum_tcpudp_magic(unsigned long saddr,
  16                                            unsigned long daddr,
  17                                            unsigned short len,
  18                                            unsigned short proto,
  19                                            unsigned int sum);
  20 
  21 /*
  22  * computes the checksum of a memory block at buff, length len,
  23  * and adds in "sum" (32-bit)
  24  *
  25  * returns a 32-bit number suitable for feeding into itself
  26  * or csum_tcpudp_magic
  27  *
  28  * this function must be called with even lengths, except
  29  * for the last fragment, which may be odd
  30  *
  31  * it's best to have buff aligned on a 32-bit boundary
  32  */
  33 extern unsigned int csum_partial(unsigned char * buff, int len, unsigned int sum);
  34 
  35 /*
  36  * the same as csum_partial, but copies from fs:src while it
  37  * checksums
  38  *
  39  * here even more important to align src and dst on a 32-bit (or even
  40  * better 64-bit) boundary
  41  */
  42 
  43 extern unsigned int csum_partial_copyffs( char *src, char *dst, int len, int sum);
  44 
  45 
  46 /*
  47  * this routine is used for miscellaneous IP-like checksums, mainly
  48  * in icmp.c
  49  */
  50 
  51 extern unsigned short ip_compute_csum(unsigned char * buff, int len);
  52 
  53 #endif

/* [previous][next][first][last][top][bottom][index][help] */