Lines Matching refs:cn

45 static pc_cluster32_t pc_getcluster(struct pcfs *fsp, pc_cluster32_t cn);
63 pc_cluster32_t cn, ncn; /* current, next cluster number */ in pc_bmap() local
114 cn = ncn; in pc_bmap()
115 if (!pc_validcl(fsp, cn)) { in pc_bmap()
116 if (IS_FAT32(fsp) && cn >= PCF_LASTCLUSTER32 && in pc_bmap()
121 cn >= PCF_LASTCLUSTER && in pc_bmap()
127 "pc_bmap: badfs cn=%d\n", cn); in pc_bmap()
132 ncn = pc_getcluster(fsp, cn); in pc_bmap()
141 pcp->pc_lcluster = cn; in pc_bmap()
142 *dbnp = pc_cldaddr(fsp, cn); in pc_bmap()
147 while ((cn + 1) == ncn && count < *contigbp && in pc_bmap()
150 cn = ncn; in pc_bmap()
171 pc_cluster32_t cn; /* current cluster number */ in pc_balloc() local
198 switch (cn = pc_alloccluster(fsp, 1)) { in pc_balloc()
204 pcp->pc_scluster = cn; in pc_balloc()
206 cn = pcp->pc_scluster; in pc_balloc()
207 if (IS_FAT32(fsp) && cn == 0) in pc_balloc()
208 cn = fsp->pcfs_rdirstart; in pc_balloc()
209 if (!pc_validcl(fsp, cn)) { in pc_balloc()
210 PC_DPRINTF1(1, "pc_balloc: badfs cn=%d\n", cn); in pc_balloc()
218 cn = pcp->pc_lcluster; in pc_balloc()
221 ncn = pc_getcluster(fsp, cn); in pc_balloc()
233 pc_setcluster(fsp, cn, ncn); in pc_balloc()
240 cn = ncn; in pc_balloc()
247 *dbnp = pc_cldaddr(fsp, cn); in pc_balloc()
259 pc_cluster32_t cn; in pc_bfree() local
283 cn = pcp->pc_scluster; in pc_bfree()
284 if (IS_FAT32(fsp) && cn == 0) in pc_bfree()
285 cn = fsp->pcfs_rdirstart; in pc_bfree()
298 if (!pc_validcl(fsp, cn)) { in pc_bfree()
299 PC_DPRINTF1(1, "pc_bfree: badfs cn=%d\n", cn); in pc_bfree()
303 ncn = pc_getcluster(fsp, cn); in pc_bfree()
305 pc_setcluster(fsp, cn, PCF_FREECLUSTER); in pc_bfree()
310 pc_setcluster(fsp, cn, in pc_bfree()
313 pc_setcluster(fsp, cn, in pc_bfree()
323 cn = ncn; in pc_bfree()
334 pc_cluster32_t cn; in pc_freeclusters() local
344 for (cn = PCF_FIRSTCLUSTER; pc_validcl(fsp, cn); cn++) { in pc_freeclusters()
345 if (pc_getcluster(fsp, cn) == PCF_FREECLUSTER) { in pc_freeclusters()
367 pc_getcluster(struct pcfs *fsp, pc_cluster32_t cn) in pc_getcluster() argument
371 if (fsp->pcfs_fatp == NULL || !pc_validcl(fsp, cn)) in pc_getcluster()
376 fp = fsp->pcfs_fatp + (cn << 2); in pc_getcluster()
378 cn = ltohi(*(pc_cluster32_t *)fp) & 0x0FFFFFFF; in pc_getcluster()
381 fp = fsp->pcfs_fatp + (cn << 1); in pc_getcluster()
382 cn = ltohs(*(pc_cluster16_t *)fp); in pc_getcluster()
385 fp = fsp->pcfs_fatp + (cn + (cn >> 1)); in pc_getcluster()
386 if (cn & 01) { in pc_getcluster()
387 cn = (((unsigned int)*fp++ & 0xf0) >> 4); in pc_getcluster()
388 cn += (*fp << 4); in pc_getcluster()
390 cn = *fp++; in pc_getcluster()
391 cn += ((*fp & 0x0f) << 8); in pc_getcluster()
393 if (cn >= PCF_12BCLUSTER) in pc_getcluster()
394 cn |= PCF_RESCLUSTER; in pc_getcluster()
398 cn = PCF_ERRORCLUSTER; in pc_getcluster()
400 return (cn); in pc_getcluster()
409 pc_setcluster(struct pcfs *fsp, pc_cluster32_t cn, pc_cluster32_t ncn) in pc_setcluster() argument
415 if (fsp->pcfs_fatp == NULL || !pc_validcl(fsp, cn)) in pc_setcluster()
418 pc_mark_fat_updated(fsp, cn); in pc_setcluster()
421 fp = fsp->pcfs_fatp + (cn << 2); in pc_setcluster()
428 fp = fsp->pcfs_fatp + (cn << 1); in pc_setcluster()
433 fp = fsp->pcfs_fatp + (cn + (cn >> 1)); in pc_setcluster()
434 if (cn & 01) { in pc_setcluster()
464 pc_cluster32_t cn; in pc_alloccluster() local
470 for (cn = fsp->pcfs_nxfrecls; pc_validcl(fsp, cn); cn++) { in pc_alloccluster()
471 if (pc_getcluster(fsp, cn) == PCF_FREECLUSTER) { in pc_alloccluster()
475 pc_setcluster(fsp, cn, PCF_LASTCLUSTERMARK32); in pc_alloccluster()
480 pc_setcluster(fsp, cn, PCF_LASTCLUSTERMARK); in pc_alloccluster()
488 bp->b_blkno = pc_cldaddr(fsp, cn); in pc_alloccluster()
498 fsp->pcfs_nxfrecls = cn + 1; in pc_alloccluster()
499 return (cn); in pc_alloccluster()