Home | History | Annotate | Download | only in libpcap
      1 #ifndef _FFS_H_
      2 #define _FFS_H_
      3 
      4 /*
      5  * A really hacky implementation copied from asm/bitops.h
      6  * to make it compile
      7  */
      8 inline int ffs(int x)
      9 {
     10 	int r = 1;
     11 
     12 	if (!x)
     13 		return 0;
     14 	if (!(x & 0xffff)) {
     15 		x >>= 16;
     16 		r += 16;
     17 	}
     18 	if (!(x & 0xff)) {
     19 		x >>= 8;
     20 		r += 8;
     21 	}
     22 	if (!(x & 0xf)) {
     23 		x >>= 4;
     24 		r += 4;
     25 	}
     26 	if (!(x & 3)) {
     27 		x >>= 2;
     28 		r += 2;
     29 	}
     30 	if (!(x & 1)) {
     31 		x >>= 1;
     32 		r += 1;
     33 	}
     34 	return r;
     35 }
     36 
     37 #endif
     38