Lines Matching refs:invcntl

520 write_param(INVCONTROL *invcntl)  in write_param()  argument
522 if (invcntl->swap) in write_param()
523 swap_ints(&invcntl->param, sizeof (invcntl->param)); in write_param()
525 rewind(invcntl->invfile); in write_param()
526 (void) fwrite((char *)&invcntl->param, sizeof (invcntl->param), 1, in write_param()
527 invcntl->invfile); in write_param()
529 if (invcntl->swap) in write_param()
530 swap_ints(&invcntl->param, sizeof (invcntl->param)); in write_param()
534 read_superfinger(INVCONTROL *invcntl) in read_superfinger() argument
538 (void) fseek(invcntl->invfile, invcntl->param.startbyte, SEEK_SET); in read_superfinger()
539 (void) fread(invcntl->iindex, (int)invcntl->param.supsize, in read_superfinger()
540 1, invcntl->invfile); in read_superfinger()
542 if (invcntl->swap) { in read_superfinger()
550 count = 1 + BSWAP_32(*(uint32_t *)invcntl->iindex); in read_superfinger()
551 swap_ints(invcntl->iindex, count * sizeof (unsigned long)); in read_superfinger()
556 read_logblock(INVCONTROL *invcntl, int block) in read_logblock() argument
559 if ((block != invcntl->numblk) || in read_logblock()
560 (invcntl->param.filestat >= INVBUSY)) { in read_logblock()
561 (void) fseek(invcntl->invfile, in read_logblock()
562 (block * invcntl->param.sizeblk) + invcntl->param.cntlsize, in read_logblock()
564 invcntl->numblk = block; in read_logblock()
565 (void) fread(invcntl->logblk, (int)invcntl->param.sizeblk, in read_logblock()
566 1, invcntl->invfile); in read_logblock()
568 if (invcntl->swap) { in read_logblock()
579 swap_ints(invcntl->logblk, 3 * sizeof (unsigned long)); in read_logblock()
581 count = *(uint32_t *)invcntl->logblk; in read_logblock()
583 ecur = (ENTRY *)((uint32_t *)invcntl->logblk + 3); in read_logblock()
593 postptr = (uint32_t *)(invcntl->logblk + in read_logblock()
604 read_next_posting(INVCONTROL *invcntl, POSTING *posting) in read_next_posting() argument
606 (void) fread((char *)posting, sizeof (*posting), 1, invcntl->postfile); in read_next_posting()
607 if (invcntl->swap) { in read_next_posting()
618 invopen(INVCONTROL *invcntl, char *invname, char *invpost, int stat) in invopen() argument
622 if ((invcntl->invfile = vpfopen(invname, in invopen()
627 if (fread((char *)&invcntl->param, sizeof (invcntl->param), 1, in invopen()
628 invcntl->invfile) == 0) { in invopen()
632 if (invcntl->param.version != VERSION && in invopen()
633 BSWAP_32(invcntl->param.version) != VERSION) { in invopen()
639 invcntl->swap = (invcntl->param.version != VERSION); in invopen()
640 if (invcntl->swap) in invopen()
641 swap_ints(&invcntl->param, sizeof (invcntl->param)); in invopen()
643 if (stat == 0 && invcntl->param.filestat == INVALONE) { in invopen()
647 if ((invcntl->postfile = vpfopen(invpost, in invopen()
653 if ((invcntl->logblk = malloc(invcntl->param.sizeblk)) == NULL) { in invopen()
654 invcannotalloc((unsigned)invcntl->param.sizeblk); in invopen()
659 invcntl->iindex = NULL; in invopen()
661 if (invcntl->param.share == 1) { in invopen()
680 invcntl->param.supsize + sizeof (long), in invopen()
689 invcntl->iindex = shmat(shm_id, 0, in invopen()
691 if (invcntl->iindex == (char *)ERR) { in invopen()
694 invcntl->iindex = NULL; in invopen()
700 if (invcntl->iindex == NULL) in invopen()
701 invcntl->iindex = malloc(invcntl->param.supsize + 16); in invopen()
702 if (invcntl->iindex == NULL) { in invopen()
703 invcannotalloc((unsigned)invcntl->param.supsize); in invopen()
704 free(invcntl->logblk); in invopen()
708 read_superfinger(invcntl); in invopen()
710 invcntl->numblk = -1; in invopen()
713 (void) fclose(invcntl->postfile); in invopen()
715 (void) fclose(invcntl->invfile); in invopen()
719 invcntl->param.filestat = stat; in invopen()
720 if (stat > invcntl->param.filestat) in invopen()
721 write_param(invcntl); in invopen()
727 invclose(INVCONTROL *invcntl) in invclose() argument
730 if (invcntl->param.filestat > 0) { in invclose()
731 invcntl->param.filestat = 0; in invclose()
732 write_param(invcntl); in invclose()
734 (void) fclose(invcntl->invfile); in invclose()
735 (void) fclose(invcntl->postfile); in invclose()
737 if (invcntl->param.share > 0) { in invclose()
738 shmdt(invcntl->iindex); in invclose()
739 invcntl->iindex = NULL; in invclose()
742 if (invcntl->iindex != NULL) in invclose()
743 free(invcntl->iindex); in invclose()
744 free(invcntl->logblk); in invclose()
749 invstep(INVCONTROL *invcntl) in invstep() argument
751 if (invcntl->keypnt < (*(int *)invcntl->logblk - 1)) { in invstep()
752 invcntl->keypnt++; in invstep()
757 read_logblock(invcntl, *(int *)(invcntl->logblk + sizeof (long))); in invstep()
759 invcntl->keypnt = 0; in invstep()
764 invforward(INVCONTROL *invcntl) in invforward() argument
766 invstep(invcntl); in invforward()
768 while (((ENTRY *)(invcntl->logblk + 12) + invcntl->keypnt)->post == 0) { in invforward()
769 invstep(invcntl); in invforward()
772 if ((invcntl->numblk == 0) && (invcntl->keypnt == 0)) in invforward()
779 invterm(INVCONTROL *invcntl, char *term) in invterm() argument
783 entryptr = (ENTRY *)(invcntl->logblk + 12) + invcntl->keypnt; in invterm()
784 (void) strncpy(term, entryptr->offset + invcntl->logblk, in invterm()
792 invfind(INVCONTROL *invcntl, char *searchterm) in invfind() argument
801 if (invcntl->invfile == 0) in invfind()
805 intptr = (unsigned long *)invcntl->iindex; in invfind()
812 i = strcmp(searchterm, (invcntl->iindex + *intptr2)); in invfind()
826 read_logblock(invcntl, imid); in invfind()
830 intptr = (unsigned long *)invcntl->logblk; in invfind()
839 i = strncmp(searchterm, (invcntl->logblk + entryptr->offset), in invfind()
853 if (imid >= *(long *)invcntl->logblk) { in invfind()
854 invcntl->keypnt = *(long *)invcntl->logblk; in invfind()
855 invstep(invcntl); in invfind()
857 if (invcntl->param.startbyte < in invfind()
858 invcntl->numblk * invcntl->param.sizeblk) in invfind()
861 invcntl->keypnt = imid; in invfind()
869 invdump(INVCONTROL *invcntl, char *term) in invdump() argument
878 longptr = (long *)invcntl->iindex; in invdump()
882 while ((longptr <= ((long *)invcntl->iindex) + n) && in invdump()
885 invcntl->iindex + *longptr); in invdump()
892 read_logblock(invcntl, j); in invdump()
894 i = abs((int)invfind(invcntl, term)); in invdump()
895 longptr = (long *)invcntl->logblk; in invdump()
900 entryptr = (ENTRY *)(invcntl->logblk + 12); in invdump()
902 invcntl->numblk); in invdump()
905 ptr = invcntl->logblk + entryptr->offset; in invdump()
951 boolfile(INVCONTROL *invcntl, long *num, int bool) in boolfile() argument
963 entryptr = (ENTRY *) (invcntl->logblk + 12) + invcntl->keypnt; in boolfile()
964 ptr = invcntl->logblk + entryptr->offset; in boolfile()
1017 file = invcntl->postfile; in boolfile()
1019 read_next_posting(invcntl, &posting); in boolfile()
1033 read_next_posting(invcntl, &posting); in boolfile()
1040 read_next_posting(invcntl, &posting); in boolfile()
1045 read_next_posting(invcntl, &posting); in boolfile()
1059 read_next_posting(invcntl, &posting); in boolfile()
1073 read_next_posting(invcntl, &posting); in boolfile()
1079 read_next_posting(invcntl, &posting); in boolfile()
1085 read_next_posting(invcntl, &posting); in boolfile()
1100 read_next_posting(invcntl, &posting); in boolfile()
1107 read_next_posting(invcntl, &posting); in boolfile()
1112 read_next_posting(invcntl, &posting); in boolfile()
1131 read_next_posting(invcntl, &posting); in boolfile()
1138 read_next_posting(invcntl, &posting); in boolfile()
1143 read_next_posting(invcntl, &posting); in boolfile()
1150 read_next_posting(invcntl, &posting); in boolfile()