htclose(dev, flag) { register int unit; unit = dev.d_minor&077; h_openf[unit] = 0; if (flag) { hcommand(dev, WEOF); hcommand(dev, WEOF); } hcommand(dev, REW); }
htclose(dev, flag) { register int unit; unit = minor(dev) & 03; if (flag == FWRITE || ((flag&FWRITE) && (h_flags[unit]&H_WRITTEN))) { VOID hcommand(dev, WEOF); VOID hcommand(dev, WEOF); VOID hcommand(dev, SREV); } /* VOID hcommand(dev, REW); */ /* for 'mtm' file positioning */ if((minor(dev)&4) == 0) /* no 4 -> rewind */ VOID hcommand(dev, REW); h_openf[unit] = 0; }
htopen(dev, flag) { register unit; unit = dev.d_minor&077; if (unit >= NUNIT || h_openf[unit]) u.u_error = ENXIO; else { h_openf[unit]++; h_blkno[unit] = 0; h_nxrec[unit] = 65535; hcommand(dev, NOP); } }
htopen(dev, flag) { register unit, ds; httab.b_flags |= B_TAPE; unit = minor(dev) & 03; if (unit >= NUNIT || h_openf[unit]) { u.u_error = ENXIO; return; } h_blkno[unit] = 0; h_nxrec[unit] = INF; h_flags[unit] = 0; ds = hcommand(dev, NOP); if ((ds&MOL)==0 || (flag && (ds&WRL))) u.u_error = ENXIO; if (u.u_error==0) h_openf[unit]++; }