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

Lines Matching defs:crp

101 static int cat_findposition(const CatalogKey *ckp, const CatalogRecord *crp,
113 static void buildrecord(struct cat_attr *attrp, cnid_t cnid, int std_hfs, u_int32_t encoding, CatalogRecord *crp, u_int32_t *recordSize);
115 static int catrec_update(const CatalogKey *ckp, CatalogRecord *crp, struct update_state *state);
120 static void getbsdattr(struct hfsmount *hfsmp, const struct HFSPlusCatalogFile *crp, struct cat_attr * attrp);
124 static void promoteattr(struct hfsmount *hfsmp, const CatalogRecord *dataPtr, struct HFSPlusCatalogFile *crp);
126 static cnid_t getcnid(const CatalogRecord *crp);
127 static u_long getencoding(const CatalogRecord *crp);
130 static int isadir(const CatalogRecord *crp);
134 static int cat_makealias(struct hfsmount *hfsmp, u_int32_t inode_num, struct HFSPlusCatalogFile *crp);
1422 catrec_update(const CatalogKey *ckp, CatalogRecord *crp, struct update_state *state)
1436 switch (crp->recordType) {
1440 dir = (struct HFSCatalogFolder *)crp;
1456 file = (struct HFSCatalogFile *)crp;
1499 dir = (struct HFSPlusCatalogFolder *)crp;
1564 file = (struct HFSPlusCatalogFile *)crp;
1797 updatelink_callback(__unused const CatalogKey *ckp, CatalogRecord *crp, struct linkupdate_state *state)
1801 if (crp->recordType != kHFSPlusFileRecord) {
1802 printf("updatelink_callback: unexpected rec type %d\n", crp->recordType);
1806 file = (struct HFSPlusCatalogFile *)crp;
2168 cat_makealias(struct hfsmount *hfsmp, u_int32_t inode_num, struct HFSPlusCatalogFile *crp)
2180 rsrcforkp = &(crp->resourceFork);
2617 getdirentries_callback(const CatalogKey *ckp, const CatalogRecord *crp,
2675 switch(crp->recordType) {
2678 cnid = crp->hfsPlusFolder.folderID;
2688 itime = to_bsd_time(crp->hfsPlusFile.createDate);
2689 type = MODE_TO_DT(crp->hfsPlusFile.bsdInfo.fileMode);
2690 cnid = crp->hfsPlusFile.fileID;
2694 if ((SWAP_BE32(crp->hfsPlusFile.userInfo.fdType) == kHardLinkFileType) &&
2695 (SWAP_BE32(crp->hfsPlusFile.userInfo.fdCreator) == kHFSPlusCreator) &&
2699 if (crp->hfsPlusFile.flags & kHFSHasLinkChainMask) {
2700 cnid = crp->hfsPlusFile.hl_linkReference;
2702 ilinkref = crp->hfsPlusFile.hl_linkReference;
2704 } else if ((SWAP_BE32(crp->hfsPlusFile.userInfo.fdType) == kHFSAliasType) &&
2705 (SWAP_BE32(crp->hfsPlusFile.userInfo.fdCreator) == kHFSAliasCreator) &&
2706 (crp->hfsPlusFile.flags & kHFSHasLinkChainMask) &&
2707 (crp->hfsPlusFile.hl_linkReference >= kHFSFirstUserCatalogNodeID) &&
2713 cnid = crp->hfsPlusFile.hl_linkReference;
2735 if ((namelen < maxnamelen) && (crp->hfsPlusFile.textEncoding == 0)) {
2894 getdirentries_std_callback(const CatalogKey *ckp, const CatalogRecord *crp,
2923 switch(crp->recordType) {
2926 cnid = crp->hfsFolder.folderID;
2930 cnid = crp->hfsFile.fileID;
3136 CatalogRecord crp;
3139 bzero(&crp, sizeof(crp));
3141 result = getdirentries_callback(&ckp, &crp, &state);
3221 cat_findposition(const CatalogKey *ckp, const CatalogRecord *crp,
3238 switch(crp->recordType) {
3247 crp->recordType, curID);
3624 CatalogRecord *crp, u_int32_t *recordSize)
3632 bzero(crp, sizeof(HFSCatalogFolder));
3633 crp->recordType = kHFSFolderRecord;
3634 crp->hfsFolder.folderID = cnid;
3635 crp->hfsFolder.createDate = createtime;
3636 crp->hfsFolder.modifyDate = createtime;
3637 bcopy(attrp->ca_finderinfo, &crp->hfsFolder.userInfo, 32);
3640 bzero(crp, sizeof(HFSCatalogFile));
3641 crp->recordType = kHFSFileRecord;
3642 crp->hfsFile.fileID = cnid;
3643 crp->hfsFile.createDate = createtime;
3644 crp->hfsFile.modifyDate = createtime;
3645 bcopy(attrp->ca_finderinfo, &crp->hfsFile.userInfo, 16);
3646 bcopy(&attrp->ca_finderinfo[16], &crp->hfsFile.finderInfo, 16);
3653 crp->recordType = kHFSPlusFolderRecord;
3654 crp->hfsPlusFolder.flags = attrp->ca_recflags;
3655 crp->hfsPlusFolder.valence = 0;
3656 crp->hfsPlusFolder.folderID = cnid;
3657 crp->hfsPlusFolder.createDate = createtime;
3658 crp->hfsPlusFolder.contentModDate = createtime;
3659 crp->hfsPlusFolder.attributeModDate = createtime;
3660 crp->hfsPlusFolder.accessDate = createtime;
3661 crp->hfsPlusFolder.backupDate = 0;
3662 crp->hfsPlusFolder.textEncoding = encoding;
3663 crp->hfsPlusFolder.folderCount = 0;
3664 bcopy(attrp->ca_finderinfo, &crp->hfsPlusFolder.userInfo, 32);
3665 bsdp = &crp->hfsPlusFolder.bsdInfo;
3669 crp->recordType = kHFSPlusFileRecord;
3670 crp->hfsPlusFile.flags = attrp->ca_recflags;
3671 crp->hfsPlusFile.reserved1 = 0;
3672 crp->hfsPlusFile.fileID = cnid;
3673 crp->hfsPlusFile.createDate = createtime;
3674 crp->hfsPlusFile.contentModDate = createtime;
3675 crp->hfsPlusFile.accessDate = createtime;
3676 crp->hfsPlusFile.attributeModDate = createtime;
3677 crp->hfsPlusFile.backupDate = 0;
3678 crp->hfsPlusFile.textEncoding = encoding;
3679 crp->hfsPlusFile.reserved2 = 0;
3680 bcopy(attrp->ca_finderinfo, &crp->hfsPlusFile.userInfo, 32);
3681 bsdp = &crp->hfsPlusFile.bsdInfo;
3688 bzero(&crp->hfsPlusFile.dataFork, 2*sizeof(HFSPlusForkData));
3759 getbsdattr(struct hfsmount *hfsmp, const struct HFSPlusCatalogFile *crp, struct cat_attr * attrp)
3761 int isDirectory = (crp->recordType == kHFSPlusFolderRecord);
3762 const struct HFSPlusBSDInfo *bsd = &crp->bsdInfo;
3764 attrp->ca_recflags = crp->flags;
3765 attrp->ca_atime = to_bsd_time(crp->accessDate);
3767 attrp->ca_mtime = to_bsd_time(crp->contentModDate);
3768 attrp->ca_ctime = to_bsd_time(crp->attributeModDate);
3769 attrp->ca_itime = to_bsd_time(crp->createDate);
3770 attrp->ca_btime = to_bsd_time(crp->backupDate);
3829 attrp->ca_entries = ((const HFSPlusCatalogFolder *)crp)->valence;
3831 ((const HFSPlusCatalogFolder *)crp)->folderCount : 0;
3834 if (((const HFSPlusCatalogFolder *)crp)->userInfo.frFlags & OSSwapHostToBigConstInt16(kFinderInvisibleMask))
3838 if (crp->flags & kHFSFileLockedMask) {
3848 if (crp->userInfo.fdFlags & OSSwapHostToBigConstInt16(kFinderInvisibleMask))
3851 attrp->ca_blocks = crp->dataFork.totalBlocks + crp->resourceFork.totalBlocks;
3858 attrp->ca_firstlink = (attrp->ca_recflags & kHFSHasLinkChainMask) ? crp->hl_firstLinkID : 0;
3861 attrp->ca_fileid = crp->fileID;
3863 bcopy(&crp->userInfo, attrp->ca_finderinfo, 32);
3941 promoteattr(struct hfsmount *hfsmp, const CatalogRecord *dataPtr, struct HFSPlusCatalogFile *crp)
3949 crp->recordType = kHFSPlusFolderRecord;
3950 crp->flags = folder->flags;
3951 crp->fileID = folder->folderID;
3952 crp->createDate = LocalToUTC(folder->createDate);
3953 crp->contentModDate = LocalToUTC(folder->modifyDate);
3954 crp->backupDate = LocalToUTC(folder->backupDate);
3955 crp->reserved1 = folder->valence;
3956 crp->reserved2 = 0;
3957 bcopy(&folder->userInfo, &crp->userInfo, 32);
3962 crp->recordType = kHFSPlusFileRecord;
3963 crp->flags = file->flags;
3964 crp->fileID = file->fileID;
3965 crp->createDate = LocalToUTC(file->createDate);
3966 crp->contentModDate = LocalToUTC(file->modifyDate);
3967 crp->backupDate = LocalToUTC(file->backupDate);
3968 crp->reserved1 = 0;
3969 crp->reserved2 = 0;
3970 bcopy(&file->userInfo, &crp->userInfo, 16);
3971 bcopy(&file->finderInfo, &crp->finderInfo, 16);
3972 crp->dataFork.totalBlocks = file->dataPhysicalSize / blocksize;
3973 crp->resourceFork.totalBlocks = file->rsrcPhysicalSize / blocksize;
3975 crp->textEncoding = 0;
3976 crp->attributeModDate = crp->contentModDate;
3977 crp->accessDate = crp->contentModDate;
3978 bzero(&crp->bsdInfo, sizeof(HFSPlusBSDInfo));
4047 getencoding(const CatalogRecord *crp)
4051 if (crp->recordType == kHFSPlusFolderRecord)
4052 encoding = crp->hfsPlusFolder.textEncoding;
4053 else if (crp->recordType == kHFSPlusFileRecord)
4054 encoding = crp->hfsPlusFile.textEncoding;
4065 getcnid(const CatalogRecord *crp)
4069 switch (crp->recordType) {
4071 cnid = crp->hfsFolder.folderID;
4074 cnid = crp->hfsFile.fileID;
4077 cnid = crp->hfsPlusFolder.folderID;
4080 cnid = crp->hfsPlusFile.fileID;
4083 panic("hfs: getcnid: unknown recordType (crp @ %p)\n", crp);
4109 panic("hfs: getparentcnid: unknown recordType (crp @ %p)\n", recp);
4120 isadir(const CatalogRecord *crp)
4122 return (crp->recordType == kHFSFolderRecord ||
4123 crp->recordType == kHFSPlusFolderRecord);