home *** CD-ROM | disk | FTP | other *** search
- #define NROUTE 5
- unsigned short Hashtab[256];
- typedef unsigned short int16;
- typedef long int32;
-
- #define hiword(x) ((int16)((x) >> 16))
- #define loword(x) ((int16)(x))
- #define hibyte(x) ((unsigned char)((x) >> 8))
- #define lobyte(x) ((unsigned char)(x))
-
- #define hash_ip(x)\
- (Hashtab[((unsigned char)(x) >> 24) ^ \
- ((unsigned char)(x)>>16) ^ \
- ((unsigned char)(x)>>8) ^ \
- ((unsigned char)x)])
-
- unsigned short
- foo(addr)
- long addr;
- {
- return hash_ip(addr);
- }
-
- /* Compute hash function on IP address */
- unsigned short
- oldhash_ip(addr)
- register unsigned long addr;
- {
- register unsigned short ret;
-
- ret = hiword(addr);
- ret ^= loword(addr);
- return (unsigned short)(ret % NROUTE);
- }
-
-