• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/bsd/hfs/

Lines Matching defs:recp

128 static cnid_t getparentcnid(const CatalogRecord *recp);
132 static int buildthread(void *keyp, void *recp, int std_hfs, int directory);
175 CatalogRecord * recp,
185 promoteattr(hfsmp, recp, &cnoderec);
188 getbsdattr(hfsmp, (struct HFSPlusCatalogFile *)recp, attrp);
191 if (isadir(recp))
194 promotefork(hfsmp, (HFSCatalogFile *)&recp->hfsFile, 0, datafp);
195 promotefork(hfsmp, (HFSCatalogFile *)&recp->hfsFile, 1, rsrcfp);
198 datafp->cf_size = recp->hfsPlusFile.dataFork.logicalSize;
200 datafp->cf_blocks = recp->hfsPlusFile.dataFork.totalBlocks;
204 recp->hfsPlusFile.dataFork.clumpSize *
210 bcopy(&recp->hfsPlusFile.dataFork.extents[0],
214 rsrcfp->cf_size = recp->hfsPlusFile.resourceFork.logicalSize;
216 rsrcfp->cf_blocks = recp->hfsPlusFile.resourceFork.totalBlocks;
220 recp->hfsPlusFile.resourceFork.clumpSize *
226 bcopy(&recp->hfsPlusFile.resourceFork.extents[0],
241 CatalogRecord * recp,
254 encoding = getencoding(recp);
257 builddesc(pluskey, getcnid(recp), 0, encoding, isadir(recp), descp);
419 CatalogRecord * recp;
431 MALLOC(recp, CatalogRecord *, sizeof(CatalogRecord), M_TEMP, M_WAITOK);
432 BDINIT(btdata, recp);
439 switch (recp->recordType) {
444 keyp = (CatalogKey *)((char *)&recp->hfsThread.reserved + 6);
452 keyp = (CatalogKey *)&recp->hfsPlusThread.reserved;
473 FREE(recp, M_TEMP);
494 CatalogRecord * recp;
504 MALLOC(recp, CatalogRecord *, sizeof(CatalogRecord), M_TEMP, M_WAITOK);
505 BDINIT(btdata, recp);
513 switch (recp->recordType) {
516 keyp = (CatalogKey *)((char *)&recp->hfsThread.reserved + 6);
522 keyp = (CatalogKey *)&recp->hfsPlusThread.reserved;
548 FREE(recp, M_TEMP);
608 CatalogRecord * recp;
618 MALLOC(recp, CatalogRecord *, sizeof(CatalogRecord), M_TEMP, M_WAITOK);
619 BDINIT(btdata, recp);
631 cnid = getcnid(recp);
632 encoding = getencoding(recp);
651 && (recp->recordType == kHFSPlusFileRecord)
652 && ((to_bsd_time(recp->hfsPlusFile.createDate) == (time_t)hfsmp->vcbCrDate) ||
653 (to_bsd_time(recp->hfsPlusFile.createDate) == (time_t)hfsmp->hfs_metadata_createdate))) {
657 if ((SWAP_BE32(recp->hfsPlusFile.userInfo.fdType) == kHardLinkFileType) &&
658 (SWAP_BE32(recp->hfsPlusFile.userInfo.fdCreator) == kHFSPlusCreator)) {
660 } else if ((recp->hfsPlusFile.flags & kHFSHasLinkChainMask) &&
661 (SWAP_BE32(recp->hfsPlusFile.userInfo.fdType) == kHFSAliasType) &&
662 (SWAP_BE32(recp->hfsPlusFile.userInfo.fdCreator) == kHFSAliasCreator)) {
666 ilink = recp->hfsPlusFile.hl_linkReference;
667 (void) cat_resolvelink(hfsmp, ilink, isdirlink, (struct HFSPlusCatalogFile *)recp);
675 promoteattr(hfsmp, recp, &cnoderec);
678 getbsdattr(hfsmp, (struct HFSPlusCatalogFile *)recp, attrp);
684 if (isadir(recp)) {
687 promotefork(hfsmp, (HFSCatalogFile *)&recp->hfsFile, wantrsrc, forkp);
690 forkp->cf_size = recp->hfsPlusFile.resourceFork.logicalSize;
692 forkp->cf_blocks = recp->hfsPlusFile.resourceFork.totalBlocks;
694 (to_bsd_time(recp->hfsPlusFile.accessDate) >= hfsmp->hfc_timebase)) {
696 recp->hfsPlusFile.resourceFork.clumpSize *
702 bcopy(&recp->hfsPlusFile.resourceFork.extents[0],
709 forkp->cf_size = recp->hfsPlusFile.dataFork.logicalSize;
711 forkp->cf_blocks = recp->hfsPlusFile.dataFork.totalBlocks;
713 (to_bsd_time(recp->hfsPlusFile.accessDate) >= hfsmp->hfc_timebase)) {
715 recp->hfsPlusFile.dataFork.clumpSize *
721 bcopy(&recp->hfsPlusFile.dataFork.extents[0],
745 attrp->ca_blocks = validblks + recp->hfsPlusFile.resourceFork.totalBlocks;
765 builddesc(pluskey, cnid, hint, encoding, isadir(recp), descp);
776 FREE(recp, M_TEMP);
978 CatalogRecord * recp = NULL;
1009 MALLOC(recp, CatalogRecord *, sizeof(CatalogRecord), M_TEMP, M_WAITOK);
1010 BDINIT(btdata, recp);
1040 pathcnid = getparentcnid(recp);
1086 (recp->recordType == kHFSPlusFileRecord) &&
1087 (recp->hfsPlusFile.flags & kHFSHasLinkChainMask)) {
1101 recp->hfsPlusFile.textEncoding = encoding;
1107 !(recp->hfsFile.flags & kHFSThreadExistsMask))
1125 int fromtype = recp->recordType;
1135 if ((fromtype != recp->recordType) ||
1136 (from_cdp->cd_cnid != getcnid(recp))) {
1212 datasize = buildthread(&to_iterator->key, recp, std_hfs, false);
1214 datasize = buildthread(&to_iterator->key, recp, std_hfs, directory);
1251 if (recp)
1252 FREE(recp, M_TEMP);
3442 cat_resolvelink(struct hfsmount *hfsmp, u_long linkref, int isdirlink, struct HFSPlusCatalogFile *recp)
3451 BDINIT(btdata, recp);
3479 if (recp->hl_linkCount == 0)
3480 recp->hl_linkCount = 2;
3525 CatalogRecord * recp;
3535 MALLOC(recp, CatalogRecord *, sizeof(CatalogRecord), M_TEMP, M_WAITOK);
3536 BDINIT(btdata, recp);
3544 switch (recp->recordType) {
3547 keyp = (CatalogKey *)((char *)&recp->hfsThread.reserved + 6);
3554 keyp = (CatalogKey *)&recp->hfsPlusThread.reserved;
3567 FREE(recp, M_TEMP);
3986 buildthread(void *keyp, void *recp, int std_hfs, int directory)
3992 HFSCatalogThread *rec = (HFSCatalogThread *)recp;
4005 HFSPlusCatalogThread *rec = (HFSPlusCatalogThread *)recp;
4094 getparentcnid(const CatalogRecord *recp)
4098 switch (recp->recordType) {
4101 cnid = recp->hfsThread.parentID;
4106 cnid = recp->hfsPlusThread.parentID;
4109 panic("hfs: getparentcnid: unknown recordType (crp @ %p)\n", recp);