count6bits.c revision 145519
1/* $FreeBSD: head/contrib/ipfilter/lib/count6bits.c 145519 2005-04-25 18:20:15Z darrenr $ */ 2 3/* 4 * Copyright (C) 1993-2001 by Darren Reed. 5 * 6 * See the IPFILTER.LICENCE file for details on licencing. 7 * 8 * Id: count6bits.c,v 1.4 2001/06/09 17:09:23 darrenr Exp 9 */ 10 11#include "ipf.h" 12 13 14int count6bits(msk) 15u_32_t *msk; 16{ 17 int i = 0, k; 18 u_32_t j; 19 20 for (k = 3; k >= 0; k--) 21 if (msk[k] == 0xffffffff) 22 i += 32; 23 else { 24 for (j = msk[k]; j; j <<= 1) 25 if (j & 0x80000000) 26 i++; 27 } 28 return i; 29} 30