if (__ibitmap(hashp, OADDR_OF(l2, 1), l2 + 1, 0))
if (__ibitmap(hashp, (int)OADDR_OF(l2, 1), l2 + 1, 0))
init_htab(HTAB *hashp, int nelem){	register int nbuckets, nsegs;	int l2;	/*	 * Divide number of elements by the fill factor and determine a	 * desired number of buckets.  Allocate space for the next greater	 * power of two number of buckets.	 */	nelem = (nelem - 1) / hashp->FFACTOR + 1;	l2 = __log2(MAX(nelem, 2));	nbuckets = 1 << l2;	hashp->SPARES[l2] = l2 + 1;	hashp->SPARES[l2 + 1] = l2 + 1;	hashp->OVFL_POINT = l2;	hashp->LAST_FREED = 2;	/* First bitmap page is at: splitpoint l2 page offset 1 */	if (__ibitmap(hashp, OADDR_OF(l2, 1), l2 + 1, 0))		return (-1);	hashp->MAX_BUCKET = hashp->LOW_MASK = nbuckets - 1;	hashp->HIGH_MASK = (nbuckets << 1) - 1;	hashp->HDRPAGES = ((MAX(sizeof(HASHHDR), MINHDRSIZE) - 1) >>	    hashp->BSHIFT) + 1;	nsegs = (nbuckets - 1) / hashp->SGSIZE + 1;	nsegs = 1 << __log2(nsegs);	if (nsegs > hashp->DSIZE)		hashp->DSIZE = nsegs;	return (alloc_segs(hashp, nsegs));}