+void isamh_buildfirstblock(ISAMH_PP pp){
+ char *dst=pp->buf;
+ assert(pp->buf);
+ assert(pp->next != pp->pos);
+ memcpy(dst, &pp->next, sizeof(pp->next) );
+ dst += sizeof(pp->next);
+ memcpy(dst, &pp->size,sizeof(pp->size));
+ dst += sizeof(pp->size);
+ memcpy(dst, &pp->numKeys, sizeof(pp->numKeys));
+ dst += sizeof(pp->numKeys);
+ memcpy(dst, &pp->lastblock, sizeof(pp->lastblock));
+ dst += sizeof(pp->lastblock);
+ assert (dst - pp->buf == ISAMH_BLOCK_OFFSET_1);
+ if (pp->is->method->debug > 2)
+ logf (LOG_LOG, "isamh: firstblock: sz=%d c=%d p=%d>%d>%d nk=%d",
+ pp->size, pp->cat, pp->pos, pp->next, pp->lastblock,pp->numKeys);
+}
+
+void isamh_buildlaterblock(ISAMH_PP pp){
+ char *dst=pp->buf;
+ assert(pp->buf);
+ assert(pp->next != pp->pos);
+ memcpy(dst, &pp->next, sizeof(pp->next) );
+ dst += sizeof(pp->next);
+ memcpy(dst, &pp->size,sizeof(pp->size));
+ dst += sizeof(pp->size);
+ assert (dst - pp->buf == ISAMH_BLOCK_OFFSET_N);
+ if (pp->is->method->debug > 2)
+ logf (LOG_LOG, "isamh: laterblock: sz=%d c=%d p=%d>%d",
+ pp->size, pp->cat, pp->pos, pp->next);
+}
+
+
+