Lines Matching full:ana

51 typedef int	rrt_func_t(void *, ISO_RRIP_ANALYZE *ana);
56 void (*func2)(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana);
60 static int cd9660_rrip_altname(ISO_RRIP_ALTNAME *p, ISO_RRIP_ANALYZE *ana);
61 static int cd9660_rrip_attr(ISO_RRIP_ATTR *p, ISO_RRIP_ANALYZE *ana);
62 static int cd9660_rrip_cont(ISO_RRIP_CONT *p, ISO_RRIP_ANALYZE *ana);
64 ISO_RRIP_ANALYZE *ana);
66 ISO_RRIP_ANALYZE *ana);
68 ISO_RRIP_ANALYZE *ana);
69 static int cd9660_rrip_device(ISO_RRIP_DEVICE *p, ISO_RRIP_ANALYZE *ana);
70 static int cd9660_rrip_extref(ISO_RRIP_EXTREF *p, ISO_RRIP_ANALYZE *ana);
71 static int cd9660_rrip_idflag(ISO_RRIP_IDFLAG *p, ISO_RRIP_ANALYZE *ana);
73 ISO_RRIP_ANALYZE *ana, RRIP_TABLE *table);
74 static int cd9660_rrip_pclink(ISO_RRIP_CLINK *p, ISO_RRIP_ANALYZE *ana);
75 static int cd9660_rrip_reldir(ISO_RRIP_RELDIR *p, ISO_RRIP_ANALYZE *ana);
76 static int cd9660_rrip_slink(ISO_RRIP_SLINK *p, ISO_RRIP_ANALYZE *ana);
77 static int cd9660_rrip_stop(ISO_SUSP_HEADER *p, ISO_RRIP_ANALYZE *ana);
78 static int cd9660_rrip_tstamp(ISO_RRIP_TSTAMP *p, ISO_RRIP_ANALYZE *ana);
84 cd9660_rrip_attr(ISO_RRIP_ATTR *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_attr() argument
86 ana->inop->inode.iso_mode = isonum_733(p->mode); in cd9660_rrip_attr()
87 ana->inop->inode.iso_uid = isonum_733(p->uid); in cd9660_rrip_attr()
88 ana->inop->inode.iso_gid = isonum_733(p->gid); in cd9660_rrip_attr()
89 ana->inop->inode.iso_links = isonum_733(p->links); in cd9660_rrip_attr()
90 ana->fields &= ~ISO_SUSP_ATTR; in cd9660_rrip_attr()
95 cd9660_rrip_defattr(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_defattr() argument
99 cd9660_defattr(isodir,ana->inop,NULL,ISO_FTYPE_RRIP); in cd9660_rrip_defattr()
106 cd9660_rrip_slink(ISO_RRIP_SLINK *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_slink() argument
116 len = *ana->outlen; in cd9660_rrip_slink()
117 outbuf = ana->outbuf; in cd9660_rrip_slink()
118 cont = ana->cont; in cd9660_rrip_slink()
128 if (len < ana->maxlen) { in cd9660_rrip_slink()
159 inbuf = ana->imp->im_mountp->mnt_stat.f_mntonname; in cd9660_rrip_slink()
181 wlen = ana->maxlen + 1; in cd9660_rrip_slink()
185 if (len + wlen > ana->maxlen) { in cd9660_rrip_slink()
187 ana->cont = 1; in cd9660_rrip_slink()
188 ana->fields = 0; in cd9660_rrip_slink()
189 ana->outbuf -= *ana->outlen; in cd9660_rrip_slink()
190 *ana->outlen = 0; in cd9660_rrip_slink()
198 ana->outbuf = outbuf; in cd9660_rrip_slink()
199 *ana->outlen = len; in cd9660_rrip_slink()
200 ana->cont = cont; in cd9660_rrip_slink()
203 ana->fields &= ~ISO_SUSP_SLINK; in cd9660_rrip_slink()
213 cd9660_rrip_altname(ISO_RRIP_ALTNAME *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_altname() argument
253 wlen = ana->maxlen + 1; in cd9660_rrip_altname()
257 if ((*ana->outlen += wlen) > ana->maxlen) { in cd9660_rrip_altname()
259 ana->fields &= ~ISO_SUSP_ALTNAME; in cd9660_rrip_altname()
260 ana->outbuf -= *ana->outlen - wlen; in cd9660_rrip_altname()
261 *ana->outlen = 0; in cd9660_rrip_altname()
265 memcpy(ana->outbuf, inbuf, wlen); in cd9660_rrip_altname()
266 ana->outbuf += wlen; in cd9660_rrip_altname()
269 ana->fields &= ~ISO_SUSP_ALTNAME; in cd9660_rrip_altname()
276 cd9660_rrip_defname(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_defname() argument
279 ana->outbuf,ana->outlen, in cd9660_rrip_defname()
280 1,isonum_711(isodir->flags)&4, ana->imp->joliet_level, in cd9660_rrip_defname()
281 ana->imp->im_flags, ana->imp->im_d2l); in cd9660_rrip_defname()
282 switch (*ana->outbuf) { in cd9660_rrip_defname()
286 *ana->outlen = 2; in cd9660_rrip_defname()
290 strcpy(ana->outbuf,".."); in cd9660_rrip_defname()
299 cd9660_rrip_pclink(ISO_RRIP_CLINK *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_pclink() argument
301 *ana->inump = isonum_733(p->dir_loc) << ana->imp->im_bshift; in cd9660_rrip_pclink()
302 ana->fields &= ~(ISO_SUSP_CLINK|ISO_SUSP_PLINK); in cd9660_rrip_pclink()
310 cd9660_rrip_reldir(ISO_RRIP_RELDIR *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_reldir() argument
313 *ana->outlen = 0; in cd9660_rrip_reldir()
314 ana->fields = 0; in cd9660_rrip_reldir()
319 cd9660_rrip_tstamp(ISO_RRIP_TSTAMP *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_tstamp() argument
331 cd9660_tstamp_conv7(ptime,&ana->inop->inode.iso_mtime, in cd9660_rrip_tstamp()
335 memset(&ana->inop->inode.iso_mtime, 0, sizeof(struct timespec)); in cd9660_rrip_tstamp()
338 cd9660_tstamp_conv7(ptime,&ana->inop->inode.iso_atime, in cd9660_rrip_tstamp()
342 ana->inop->inode.iso_atime = ana->inop->inode.iso_mtime; in cd9660_rrip_tstamp()
345 cd9660_tstamp_conv7(ptime,&ana->inop->inode.iso_ctime, in cd9660_rrip_tstamp()
348 ana->inop->inode.iso_ctime = ana->inop->inode.iso_mtime; in cd9660_rrip_tstamp()
355 cd9660_tstamp_conv17(ptime,&ana->inop->inode.iso_mtime); in cd9660_rrip_tstamp()
358 memset(&ana->inop->inode.iso_mtime, 0, sizeof(struct timespec)); in cd9660_rrip_tstamp()
361 cd9660_tstamp_conv17(ptime,&ana->inop->inode.iso_atime); in cd9660_rrip_tstamp()
364 ana->inop->inode.iso_atime = ana->inop->inode.iso_mtime; in cd9660_rrip_tstamp()
367 cd9660_tstamp_conv17(ptime,&ana->inop->inode.iso_ctime); in cd9660_rrip_tstamp()
369 ana->inop->inode.iso_ctime = ana->inop->inode.iso_mtime; in cd9660_rrip_tstamp()
371 ana->fields &= ~ISO_SUSP_TSTAMP; in cd9660_rrip_tstamp()
377 ISO_RRIP_ANALYZE *ana) in cd9660_rrip_deftstamp() argument
379 cd9660_deftstamp(isodir,ana->inop,NULL,ISO_FTYPE_RRIP); in cd9660_rrip_deftstamp()
386 cd9660_rrip_device(ISO_RRIP_DEVICE *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_device() argument
394 ana->inop->inode.iso_rdev = makedev(major(low), minor(low)); in cd9660_rrip_device()
396 ana->inop->inode.iso_rdev = makedev(high, minor(low)); in cd9660_rrip_device()
397 ana->fields &= ~ISO_SUSP_DEVICE; in cd9660_rrip_device()
405 cd9660_rrip_idflag(ISO_RRIP_IDFLAG *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_idflag() argument
407 ana->fields &= isonum_711(p->flags)|~0xff; /* don't touch high bits */ in cd9660_rrip_idflag()
409 if (ana->fields&ISO_SUSP_RELDIR) in cd9660_rrip_idflag()
410 return cd9660_rrip_reldir(/* XXX */ (ISO_RRIP_RELDIR *)p,ana); in cd9660_rrip_idflag()
419 cd9660_rrip_cont(ISO_RRIP_CONT *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_cont() argument
421 ana->iso_ce_blk = isonum_733(p->location); in cd9660_rrip_cont()
422 ana->iso_ce_off = isonum_733(p->offset); in cd9660_rrip_cont()
423 ana->iso_ce_len = isonum_733(p->length); in cd9660_rrip_cont()
431 cd9660_rrip_stop(ISO_SUSP_HEADER *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_stop() argument
440 cd9660_rrip_extref(ISO_RRIP_EXTREF *p, ISO_RRIP_ANALYZE *ana) in cd9660_rrip_extref() argument
450 ana->fields &= ~ISO_SUSP_EXTREF; in cd9660_rrip_extref()
455 cd9660_rrip_loop(struct iso_directory_record *isodir, ISO_RRIP_ANALYZE *ana, in cd9660_rrip_loop() argument
473 isochar(isodir->name, pwhead, ana->imp->joliet_level, &c, NULL, in cd9660_rrip_loop()
474 ana->imp->im_flags, ana->imp->im_d2l); in cd9660_rrip_loop()
477 if (c != 0 || isonum_733(isodir->extent) != ana->imp->root_extent) in cd9660_rrip_loop()
478 pwhead += ana->imp->rr_skip; in cd9660_rrip_loop()
480 pwhead += ana->imp->rr_skip0; in cd9660_rrip_loop()
487 ana->iso_ce_len = 0; in cd9660_rrip_loop()
496 result |= ptable->func(phead,ana); in cd9660_rrip_loop()
500 if (!ana->fields) in cd9660_rrip_loop()
517 if (ana->fields && ana->iso_ce_len) { in cd9660_rrip_loop()
518 if (ana->iso_ce_blk >= ana->imp->volume_space_size || in cd9660_rrip_loop()
519 ana->iso_ce_off + ana->iso_ce_len > in cd9660_rrip_loop()
520 ana->imp->logical_block_size) in cd9660_rrip_loop()
526 if (bread(ana->imp->im_devvp, in cd9660_rrip_loop()
527 ana->iso_ce_blk << in cd9660_rrip_loop()
528 (ana->imp->im_bshift - DEV_BSHIFT), in cd9660_rrip_loop()
529 ana->imp->logical_block_size, NOCRED, &bp) != 0) in cd9660_rrip_loop()
532 phead = (ISO_SUSP_HEADER *)(bp->b_data + ana->iso_ce_off); in cd9660_rrip_loop()
533 pend = (ISO_SUSP_HEADER *) ((char *)phead + ana->iso_ce_len); in cd9660_rrip_loop()
545 ptable->func2(isodir,ana); in cd9660_rrip_loop()