Lines Matching defs:ustf
208 ust_active_t *ustf;
211 ustf = f->f_fsdata;
212 xferrqst = sizeof ustf->uas_1cyl;
213 xferbase = ustf->uas_1cyl;
217 ustf->uas_offset = lda;
229 ustf->uas_offset = 0;
255 checksig(ust_active_t *ustf)
259 for(i = rcs = 0; i < (int)(sizeof ustf->uas_1cyl); ++i)
260 rcs += ustf->uas_1cyl[i];
268 ust_active_t *ustf;
270 ustf = f->f_fsdata;
271 havevolume = vda2vn(ustf->uas_windowbase, ustf->uas_volsize);
292 if(strncmp(formatid, ustf->uas_1cyl, strlen(formatid))) {
294 if (ustf->uas_volzerosig == checksig(ustf)) {
302 ustarfs_sscanf(ustf->uas_1cyl + strlen(formatid), "%9o",
310 setwindow(ust_active_t *ustf, ustoffs pda, ustoffs vda)
312 ustf->uas_windowbase = lda2vda(pda2lda(pda), ustf->uas_volsize,
313 vda2vn(vda, ustf->uas_volsize))
314 + ustf->uas_offset;
315 ustf->uas_init_window = 1;
324 ust_active_t *ustf;
327 ustf = f->f_fsdata;
343 if(ustf->uas_init_window
344 && ustf->uas_windowbase <= vda && vda <
345 ustf->uas_windowbase +
346 (int)(sizeof ustf->uas_1cyl) - ustf->uas_offset) {
347 memcpy(block, ustf->uas_1cyl
348 + (vda - ustf->uas_windowbase)
349 + ustf->uas_offset, 512);
354 ustf->uas_init_window = 0;
355 e = get_volume(f, vda2vn(vda, ustf->uas_volsize));
358 pda = lda2pda(vda2lda(vda, ustf->uas_volsize));
359 pda-= pda % sizeof ustf->uas_1cyl;
363 setwindow(ustf, pda, vda);
371 ust_active_t *ustf;
373 ustf = f->f_fsdata;
374 if (!ustf->uas_sigdone) {
378 ustf->uas_volzerosig = checksig(ustf);
379 setwindow(ustf, 0, 0);
397 ust_active_t *ustf;
406 f->f_fsdata = ustf = alloc(sizeof *ustf);
407 memset(ustf, 0, sizeof *ustf);
410 ustf->uas_volsize = 80 * 2 * 18 * 512 - lda2pda(0);
411 ustf->uas_fseek = 0;
417 ustf->uas_filestart = offset;
421 memcpy(&ustf->uas_active, block, sizeof ustf->uas_active);
422 if(strncmp(ustf->uas_active.ust_magic, "ustar", 5)) {
427 ustf->uas_init_fs = 1;
429 if(strncmp(ustf->uas_active.ust_name, metaname,
431 ustarfs_sscanf(ustf->uas_active.ust_name
433 ustf->uas_volsize = newvolblocks * 512
436 ustarfs_sscanf(ustf->uas_active.ust_size,"%12o",&filesize);
437 if(strncmp(ustf->uas_active.ust_name, path,
438 sizeof ustf->uas_active.ust_name) == 0) {
439 ustf->uas_filesize = filesize;
448 dealloc(ustf, sizeof *ustf);
467 ust_active_t *ustf;
469 ustf = f->f_fsdata;
472 ustf->uas_fseek = offs;
475 ustf->uas_fseek += offs;
478 ustf->uas_fseek = ustf->uas_filesize - offs;
483 return ustf->uas_fseek;
490 ust_active_t *ustf;
502 ustf = f->f_fsdata;
504 if (ustf->uas_fseek >= ustf->uas_filesize)
506 bufferoffset = ustf->uas_fseek % 512;
507 blkoffs = ustf->uas_fseek - bufferoffset;
508 readoffs = ustf->uas_filestart + 512 + blkoffs;
516 infile = ustf->uas_filesize - ustf->uas_fseek;
520 ustf->uas_fseek += seg;
534 ust_active_t *ustf;
538 ustf = f->f_fsdata;
540 ustarfs_sscanf(ustf->uas_active.ust_mode, "%8o", &mode);
541 ustarfs_sscanf(ustf->uas_active.ust_uid, "%8o", &uid);
542 ustarfs_sscanf(ustf->uas_active.ust_gid, "%8o", &gid);
546 sb->st_size = ustf->uas_filesize;