Lines Matching defs:rr

43 static int check_sp(struct rock_ridge *rr, struct inode *inode)
45 if (rr->u.SP.magic[0] != 0xbe)
47 if (rr->u.SP.magic[1] != 0xef)
49 ISOFS_SB(inode->i_sb)->s_rock_offset = rr->u.SP.skip;
202 struct rock_ridge *rr;
219 rr = (struct rock_ridge *)rs.chr;
221 * Ignore rock ridge info if rr->len is out of range, but
225 if (rr->len < 3)
230 rs.chr += rr->len;
231 rs.len -= rr->len;
233 * As above, just ignore the rock ridge info if rr->len
241 if ((rr->u.RR.flags[0] & RR_NM) == 0)
245 if (check_sp(rr, inode))
249 rs.cont_extent = isonum_733(rr->u.CE.extent);
250 rs.cont_offset = isonum_733(rr->u.CE.offset);
251 rs.cont_size = isonum_733(rr->u.CE.size);
256 if (rr->len < 5)
265 if (rr->u.NM.flags & 6)
268 if (rr->u.NM.flags & ~1) {
270 rr->u.NM.flags);
273 len = rr->len - 5;
278 p = memchr(rr->u.NM.name, '\0', len);
280 len = p - rr->u.NM.name;
281 memcpy(retname + retnamlen, rr->u.NM.name, len);
316 struct rock_ridge *rr;
335 rr = (struct rock_ridge *)rs.chr;
337 * Ignore rock ridge info if rr->len is out of range, but
341 if (rr->len < 3)
346 rs.chr += rr->len;
347 rs.len -= rr->len;
349 * As above, just ignore the rock ridge info if rr->len
358 if ((rr->u.RR.flags[0] &
364 if (check_sp(rr, inode))
368 rs.cont_extent = isonum_733(rr->u.CE.extent);
369 rs.cont_offset = isonum_733(rr->u.CE.offset);
370 rs.cont_size = isonum_733(rr->u.CE.size);
374 if (rr->u.ER.len_id + offsetof(struct rock_ridge, u.ER.data) > rr->len)
380 for (p = 0; p < rr->u.ER.len_id; p++)
381 printk(KERN_CONT "%c", rr->u.ER.data[p]);
386 inode->i_mode = isonum_733(rr->u.PX.mode);
387 set_nlink(inode, isonum_733(rr->u.PX.n_links));
388 i_uid_write(inode, isonum_733(rr->u.PX.uid));
389 i_gid_write(inode, isonum_733(rr->u.PX.gid));
394 high = isonum_733(rr->u.PN.dev_high);
395 low = isonum_733(rr->u.PN.dev_low);
418 flags = rr->u.TF.flags & TF_LONG_FORM ? ISO_DATE_LONG_FORM : 0;
419 size = rr->u.TF.flags & TF_LONG_FORM ? 17 : 7;
420 slen = rr->len - 5;
428 if ((rr->u.TF.flags & TF_CREATE) && size <= slen) {
430 iso_date(rr->u.TF.data + size * cnt++, flags));
433 if ((rr->u.TF.flags & TF_MODIFY) && size <= slen) {
435 iso_date(rr->u.TF.data + size * cnt++, flags));
438 if ((rr->u.TF.flags & TF_ACCESS) && size <= slen) {
440 iso_date(rr->u.TF.data + size * cnt++, flags));
443 if ((rr->u.TF.flags & TF_ATTRIBUTES) && size <= slen) {
445 iso_date(rr->u.TF.data + size * cnt++, flags));
455 slen = rr->len - 5;
456 slp = &rr->u.SL.link;
485 if (((rr->u.SL.
517 reloc_block = isonum_733(rr->u.CL.location);
549 algo = isonum_721(rr->u.ZF.algorithm);
552 isonum_711(&rr->u.ZF.parms[1]);
571 isonum_711(&rr->u.ZF.parms[0]);
573 isonum_711(&rr->u.ZF.parms[1]);
575 isonum_733(rr->u.ZF.
582 rr->u.ZF.algorithm[0],
583 rr->u.ZF.algorithm[1]);
605 static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr, char *plimit)
611 slen = rr->len - 5;
612 slp = &rr->u.SL.link;
652 if ((!rootflag) && (rr->u.SL.flags & 1) &&
708 struct rock_ridge *rr;
741 rr = (struct rock_ridge *)rs.chr;
742 if (rr->len < 3)
747 rs.chr += rr->len;
748 rs.len -= rr->len;
754 if ((rr->u.RR.flags[0] & RR_SL) == 0)
758 if (check_sp(rr, inode))
762 rpnt = get_symlink_chunk(rpnt, rr,
769 rs.cont_extent = isonum_733(rr->u.CE.extent);
770 rs.cont_offset = isonum_733(rr->u.CE.offset);
771 rs.cont_size = isonum_733(rr->u.CE.size);